Message ID | 1474614805-18629-1-git-send-email-b18965@freescale.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Sep 23, 2016 at 03:13:25PM +0800, Alison Wang wrote: > The ARMv8 architecture supports two execution state, AArch64 and > AArch32. To support KVM in AArch32 execution state for ARMv8, Cortex-A53 > and Cortex-A72 need to be added for target-specific checks. > > Signed-off-by: Alison Wang <alison.wang@nxp.com> > --- > arch/arm/include/asm/cputype.h | 2 ++ > arch/arm/kvm/guest.c | 2 ++ > 2 files changed, 4 insertions(+) > > diff --git a/arch/arm/include/asm/cputype.h b/arch/arm/include/asm/cputype.h > index 754f86f..4f8c632 100644 > --- a/arch/arm/include/asm/cputype.h > +++ b/arch/arm/include/asm/cputype.h > @@ -75,6 +75,8 @@ > #define ARM_CPU_PART_CORTEX_A12 0x4100c0d0 > #define ARM_CPU_PART_CORTEX_A17 0x4100c0e0 > #define ARM_CPU_PART_CORTEX_A15 0x4100c0f0 > +#define ARM_CPU_PART_CORTEX_A53_AARCH32 0x4100d030 > +#define ARM_CPU_PART_CORTEX_A72_AARCH32 0x4100d080 > #define ARM_CPU_PART_MASK 0xff00fff0 > > /* DEC implemented cores */ > diff --git a/arch/arm/kvm/guest.c b/arch/arm/kvm/guest.c > index 9aca920..462a099 100644 > --- a/arch/arm/kvm/guest.c > +++ b/arch/arm/kvm/guest.c > @@ -252,6 +252,8 @@ int __attribute_const__ kvm_target_cpu(void) > { > switch (read_cpuid_part()) { > case ARM_CPU_PART_CORTEX_A7: > + case ARM_CPU_PART_CORTEX_A53_AARCH32: > + case ARM_CPU_PART_CORTEX_A72_AARCH32: huh? why are we mapping A53 and A72 cores to an A7 core? -Christoffer
On 23/09/16 10:25, Christoffer Dall wrote: > On Fri, Sep 23, 2016 at 03:13:25PM +0800, Alison Wang wrote: >> The ARMv8 architecture supports two execution state, AArch64 and >> AArch32. To support KVM in AArch32 execution state for ARMv8, Cortex-A53 >> and Cortex-A72 need to be added for target-specific checks. >> >> Signed-off-by: Alison Wang <alison.wang@nxp.com> >> --- >> arch/arm/include/asm/cputype.h | 2 ++ >> arch/arm/kvm/guest.c | 2 ++ >> 2 files changed, 4 insertions(+) >> >> diff --git a/arch/arm/include/asm/cputype.h b/arch/arm/include/asm/cputype.h >> index 754f86f..4f8c632 100644 >> --- a/arch/arm/include/asm/cputype.h >> +++ b/arch/arm/include/asm/cputype.h >> @@ -75,6 +75,8 @@ >> #define ARM_CPU_PART_CORTEX_A12 0x4100c0d0 >> #define ARM_CPU_PART_CORTEX_A17 0x4100c0e0 >> #define ARM_CPU_PART_CORTEX_A15 0x4100c0f0 >> +#define ARM_CPU_PART_CORTEX_A53_AARCH32 0x4100d030 >> +#define ARM_CPU_PART_CORTEX_A72_AARCH32 0x4100d080 >> #define ARM_CPU_PART_MASK 0xff00fff0 >> >> /* DEC implemented cores */ >> diff --git a/arch/arm/kvm/guest.c b/arch/arm/kvm/guest.c >> index 9aca920..462a099 100644 >> --- a/arch/arm/kvm/guest.c >> +++ b/arch/arm/kvm/guest.c >> @@ -252,6 +252,8 @@ int __attribute_const__ kvm_target_cpu(void) >> { >> switch (read_cpuid_part()) { >> case ARM_CPU_PART_CORTEX_A7: >> + case ARM_CPU_PART_CORTEX_A53_AARCH32: >> + case ARM_CPU_PART_CORTEX_A72_AARCH32: > > huh? why are we mapping A53 and A72 cores to an A7 core? Yeah, that's absolutely disgusting. The only sensible thing to do would be to implement something "generic", just like we have on the 64bit side. As it stands, this patch falls into the "No way" bucket. Thanks, M.
diff --git a/arch/arm/include/asm/cputype.h b/arch/arm/include/asm/cputype.h index 754f86f..4f8c632 100644 --- a/arch/arm/include/asm/cputype.h +++ b/arch/arm/include/asm/cputype.h @@ -75,6 +75,8 @@ #define ARM_CPU_PART_CORTEX_A12 0x4100c0d0 #define ARM_CPU_PART_CORTEX_A17 0x4100c0e0 #define ARM_CPU_PART_CORTEX_A15 0x4100c0f0 +#define ARM_CPU_PART_CORTEX_A53_AARCH32 0x4100d030 +#define ARM_CPU_PART_CORTEX_A72_AARCH32 0x4100d080 #define ARM_CPU_PART_MASK 0xff00fff0 /* DEC implemented cores */ diff --git a/arch/arm/kvm/guest.c b/arch/arm/kvm/guest.c index 9aca920..462a099 100644 --- a/arch/arm/kvm/guest.c +++ b/arch/arm/kvm/guest.c @@ -252,6 +252,8 @@ int __attribute_const__ kvm_target_cpu(void) { switch (read_cpuid_part()) { case ARM_CPU_PART_CORTEX_A7: + case ARM_CPU_PART_CORTEX_A53_AARCH32: + case ARM_CPU_PART_CORTEX_A72_AARCH32: return KVM_ARM_TARGET_CORTEX_A7; case ARM_CPU_PART_CORTEX_A15: return KVM_ARM_TARGET_CORTEX_A15;
The ARMv8 architecture supports two execution state, AArch64 and AArch32. To support KVM in AArch32 execution state for ARMv8, Cortex-A53 and Cortex-A72 need to be added for target-specific checks. Signed-off-by: Alison Wang <alison.wang@nxp.com> --- arch/arm/include/asm/cputype.h | 2 ++ arch/arm/kvm/guest.c | 2 ++ 2 files changed, 4 insertions(+)