diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c index 1f6a85aafe..698bfa0201 100644 --- a/xen/arch/arm/cpufeature.c +++ b/xen/arch/arm/cpufeature.c @@ -150,7 +150,9 @@ void identify_cpu(struct cpuinfo_arm *c) c->mvfr.bits[0] = READ_SYSREG(MVFR0_EL1); c->mvfr.bits[1] = READ_SYSREG(MVFR1_EL1); +#ifndef MVFR2_MAYBE_UNDEFINED c->mvfr.bits[2] = READ_SYSREG(MVFR2_EL1); +#endif } /* diff --git a/xen/include/asm-arm/arm32/sysregs.h b/xen/include/asm-arm/arm32/sysregs.h index 25cdcbfa4e..6841d5de43 100644 --- a/xen/include/asm-arm/arm32/sysregs.h +++ b/xen/include/asm-arm/arm32/sysregs.h @@ -62,6 +62,9 @@ #define READ_SYSREG(R...) READ_SYSREG32(R) #define WRITE_SYSREG(V, R...) WRITE_SYSREG32(V, R) +/* MVFR2 is not defined on ARMv7 */ +#define MVFR2_MAYBE_UNDEFINED + #endif /* __ASSEMBLY__ */ #endif /* __ASM_ARM_ARM32_SYSREGS_H */