Re: [PATCH 14/29] arm64: KVM: guest one-reg interface

Christopher Covington
2013-03-12T17:31:38Z

Hi Marc,

On 03/04/2013 10:47 PM, Marc Zyngier wrote:
> Let userspace play with the guest registers.
>
> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> ---
> arch/arm64/kvm/guest.c | 240 +++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 240 insertions(+)
> create mode 100644 arch/arm64/kvm/guest.c

[...]

> +int __attribute_const__ kvm_target_cpu(void)
> +{
> + unsigned long implementor = read_cpuid_implementor();
> + unsigned long part_number = read_cpuid_part_number();
> +
> + if (implementor != ARM_CPU_IMP_ARM)
> + return -EINVAL;
> +
> + switch (part_number) {
> + case ARM_CPU_PART_AEM_V8:
> + case ARM_CPU_PART_FOUNDATION:
> + /* Treat the models just as an A57 for the time being */
> + case ARM_CPU_PART_CORTEX_A57:
> + return KVM_ARM_TARGET_CORTEX_A57;
> + default:
> + return -EINVAL;
> + }
> +}

What is the motivation behind these checks? Why not let any ARMv8 system that
has EL2 host a virtualized Cortex A57 guest?

[...]

Thanks,
Christopher

--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by
the Linux Foundation