aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Elisei <alexandru.elisei@arm.com>2022-06-16 14:48:27 +0100
committerWill Deacon <will@kernel.org>2022-07-01 16:08:06 +0100
commit3f7e48f621bb229aad995111a20251dc027bf953 (patch)
treec7cca211ff2191242ad22623556b616a8b45bd63
parenta37dad0ea9c76af03bf7bd135d5dc69563b6628b (diff)
downloadkvmtool-3f7e48f621bb229aad995111a20251dc027bf953.tar.gz
Introduce kvm__arch_default_ram_address()
Add a new function, kvm__arch_default_ram_address(), which returns the default address for guest RAM for each architecture. Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com> Reviewed-and-Tested-by: Suzuki K Poulose <suzuki.poulose@arm.com> Link: https://lore.kernel.org/r/20220616134828.129006-12-alexandru.elisei@arm.com Signed-off-by: Will Deacon <will@kernel.org>
-rw-r--r--arm/aarch32/kvm.c5
-rw-r--r--arm/aarch64/kvm.c5
-rw-r--r--include/kvm/kvm.h1
-rw-r--r--mips/kvm.c5
-rw-r--r--powerpc/kvm.c5
-rw-r--r--riscv/kvm.c5
-rw-r--r--x86/kvm.c5
7 files changed, 31 insertions, 0 deletions
diff --git a/arm/aarch32/kvm.c b/arm/aarch32/kvm.c
index 9d68d7a1..768a56bb 100644
--- a/arm/aarch32/kvm.c
+++ b/arm/aarch32/kvm.c
@@ -7,3 +7,8 @@ void kvm__arch_validate_cfg(struct kvm *kvm)
kvm->cfg.ram_size, ARM_LOMAP_MAX_MEMORY);
}
}
+
+u64 kvm__arch_default_ram_address(void)
+{
+ return ARM_MEMORY_AREA;
+}
diff --git a/arm/aarch64/kvm.c b/arm/aarch64/kvm.c
index 2134528b..35793684 100644
--- a/arm/aarch64/kvm.c
+++ b/arm/aarch64/kvm.c
@@ -46,6 +46,11 @@ void kvm__arch_validate_cfg(struct kvm *kvm)
}
}
+u64 kvm__arch_default_ram_address(void)
+{
+ return ARM_MEMORY_AREA;
+}
+
/*
* Return the TEXT_OFFSET value that the guest kernel expects. Note
* that pre-3.17 kernels expose this value using the native endianness
diff --git a/include/kvm/kvm.h b/include/kvm/kvm.h
index 640b76c0..360430b7 100644
--- a/include/kvm/kvm.h
+++ b/include/kvm/kvm.h
@@ -190,6 +190,7 @@ void kvm__remove_socket(const char *name);
void kvm__arch_validate_cfg(struct kvm *kvm);
void kvm__arch_set_cmdline(char *cmdline, bool video);
void kvm__arch_init(struct kvm *kvm);
+u64 kvm__arch_default_ram_address(void);
void kvm__arch_delete_ram(struct kvm *kvm);
int kvm__arch_setup_firmware(struct kvm *kvm);
int kvm__arch_free_firmware(struct kvm *kvm);
diff --git a/mips/kvm.c b/mips/kvm.c
index fb60b210..0faa03a9 100644
--- a/mips/kvm.c
+++ b/mips/kvm.c
@@ -13,6 +13,11 @@ struct kvm_ext kvm_req_ext[] = {
{ 0, 0 }
};
+u64 kvm__arch_default_ram_address(void)
+{
+ return 0;
+}
+
void kvm__arch_validate_cfg(struct kvm *kvm)
{
}
diff --git a/powerpc/kvm.c b/powerpc/kvm.c
index d281b070..7b0d0669 100644
--- a/powerpc/kvm.c
+++ b/powerpc/kvm.c
@@ -48,6 +48,11 @@ struct kvm_ext kvm_req_ext[] = {
{ 0, 0 }
};
+u64 kvm__arch_default_ram_address(void)
+{
+ return 0;
+}
+
void kvm__arch_validate_cfg(struct kvm *kvm)
{
}
diff --git a/riscv/kvm.c b/riscv/kvm.c
index c4666077..4d6f5cb5 100644
--- a/riscv/kvm.c
+++ b/riscv/kvm.c
@@ -13,6 +13,11 @@ struct kvm_ext kvm_req_ext[] = {
{ 0, 0 },
};
+u64 kvm__arch_default_ram_address(void)
+{
+ return RISCV_RAM;
+}
+
void kvm__arch_validate_cfg(struct kvm *kvm)
{
}
diff --git a/x86/kvm.c b/x86/kvm.c
index 24b0305a..328fa750 100644
--- a/x86/kvm.c
+++ b/x86/kvm.c
@@ -35,6 +35,11 @@ struct kvm_ext kvm_req_ext[] = {
{ 0, 0 }
};
+u64 kvm__arch_default_ram_address(void)
+{
+ return 0;
+}
+
void kvm__arch_validate_cfg(struct kvm *kvm)
{
}