static void __init processor_id(void)
{
+
+ /* Setup the virtual ID to match the physical */
+ WRITE_SYSREG32(READ_SYSREG32(MIDR_EL1), VPIDR_EL2);
+ WRITE_SYSREG(READ_SYSREG(MPIDR_EL1), VMPIDR_EL2);
+
#if defined(CONFIG_ARM_64)
printk("64-bit Processor Features: %016"PRIx64" %016"PRIx64"\n",
READ_SYSREG64(ID_AA64PFR0_EL1), READ_SYSREG64(ID_AA64PFR1_EL1));
#define CCSIDR p15,1,c0,c0,0 /* Cache Size ID Registers */
#define CLIDR p15,1,c0,c0,1 /* Cache Level ID Register */
#define CSSELR p15,2,c0,c0,0 /* Cache Size Selection Register */
+#define VPIDR p15,4,c0,c0,0 /* Virtualization Processor ID Register */
+#define VMPIDR p15,4,c0,c0,5 /* Virtualization Multiprocessor ID Register */
/* CP15 CR1: System Control Registers */
#define SCTLR p15,0,c1,c0,0 /* System Control Register */
#define VBAR_EL2 HVBAR
#define VTCR_EL2 VTCR
#define VTTBR_EL2 VTTBR
+#define MIDR_EL1 MIDR
+#define VPIDR_EL2 VPIDR
+#define MPIDR_EL1 MPIDR
+#define VMPIDR_EL2 VMPIDR
#endif