Some system/debug regisiters are inconsistent with real device in qemu-system-arm Description of problem: We used differential testing to compared the instruction consistency (ARMv7) between QEMU and raspberry pi 2B in system level and some inconsistency in system regisiter was detected. 1. CCSIDR--Cache Size ID Registers **Inconsistency** - CCSIDR in QEMU: 0x701fe00a--Associativity: 2, Number of sets:256 - CCSIDR in Raspi2B: 0x700fe01a--Associativity: 4, Number of sets:128 **Tested Instruction sample** - MRC_T1A1_A 11101110001100000000111100010000 0xee300f10 According to ARMv7 Manual B4.1.19 encoding, the NumSets and Associativity are set different bewteen QEMU when emulating raspi2b and raspi2b. The CCSIDR is set in the function`cortex_a7_initfn(Object *obj)` in target/arm/cpu_tcg.c for cortex_a7. 2. DBGDRAR--Debug ROM Address Register **Inconsistency** - DBGDRAR in QEMU: 0x0 --Invalid - DBGDRAR in Raspi2B: 0x40020003--Valid According to ARMv7 Manual C11.11.16 encoding, the DBGDRAR in qemu is invalid. **Tested Instruction sample** - MRC_T1A1_A 11101110000100010001111000010000 0xee111e10 Steps to reproduce: 1. Compile a kernel module to run the test instruction in PL1. 2. Use kgdb to get the register info Additional information: