diff options
author | Alexandru Elisei <alexandru.elisei@arm.com> | 2022-06-16 14:48:27 +0100 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2022-07-01 16:08:06 +0100 |
commit | 3f7e48f621bb229aad995111a20251dc027bf953 (patch) | |
tree | c7cca211ff2191242ad22623556b616a8b45bd63 | |
parent | a37dad0ea9c76af03bf7bd135d5dc69563b6628b (diff) | |
download | kvmtool-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.c | 5 | ||||
-rw-r--r-- | arm/aarch64/kvm.c | 5 | ||||
-rw-r--r-- | include/kvm/kvm.h | 1 | ||||
-rw-r--r-- | mips/kvm.c | 5 | ||||
-rw-r--r-- | powerpc/kvm.c | 5 | ||||
-rw-r--r-- | riscv/kvm.c | 5 | ||||
-rw-r--r-- | x86/kvm.c | 5 |
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); @@ -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) { } @@ -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) { } |