[PATCH v3 kvmtool 12/13] Introduce kvm__arch_default_ram_address()

Andre Przywara andre.przywara at arm.com
Wed Jun 1 06:21:18 PDT 2022


On Wed, 25 May 2022 12:23:44 +0100
Alexandru Elisei <alexandru.elisei at arm.com> wrote:

> Add a new function, kvm__arch_default_ram_address(), which returns the
> default address for guest RAM for each architecture.
> 
> Signed-off-by: Alexandru Elisei <alexandru.elisei at arm.com>

Reviewed-by: Andre Przywara <andre.przywara at arm.com>

Cheers,
Andre

> ---
>  arm/aarch32/kvm.c | 5 +++++
>  arm/aarch64/kvm.c | 5 +++++
>  include/kvm/kvm.h | 1 +
>  mips/kvm.c        | 5 +++++
>  powerpc/kvm.c     | 5 +++++
>  riscv/kvm.c       | 5 +++++
>  x86/kvm.c         | 5 +++++
>  7 files changed, 31 insertions(+)
> 
> diff --git a/arm/aarch32/kvm.c b/arm/aarch32/kvm.c
> index 9d68d7a15ee2..768a56bbb5b4 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 2134528bf7f2..357936844046 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 640b76c095f9..360430b78b1e 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 d8610cf81b94..4cbc9907731b 100644
> --- a/mips/kvm.c
> +++ b/mips/kvm.c
> @@ -12,6 +12,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 d281b070fd0e..7b0d0669aff4 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 c46660772aa0..4d6f5cb57ac8 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 24b0305a1841..328fa7500596 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)
>  {
>  }




More information about the linux-arm-kernel mailing list