qemu/target
Peter Maydell 43bbce7fbe hw/intc/armv7m_nvic: Implement cache ID registers
M profile cores have a similar setup for cache ID registers
to A profile:
 * Cache Level ID Register (CLIDR) is a fixed value
 * Cache Type Register (CTR) is a fixed value
 * Cache Size ID Registers (CCSIDR) are a bank of registers;
   which one you see is selected by the Cache Size Selection
   Register (CSSELR)

The only difference is that they're in the NVIC memory mapped
register space rather than being coprocessor registers.
Implement the M profile view of them.

Since neither Cortex-M3 nor Cortex-M4 implement caches,
we don't need to update their init functions and can leave
the ctr/clidr/ccsidr[] fields in their ARMCPU structs at zero.
Newer cores (like the Cortex-M33) will want to be able to
set these ID registers to non-zero values, though.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20180209165810.6668-6-peter.maydell@linaro.org
2018-02-15 18:29:49 +00:00
..
alpha qdev: use device_class_set_parent_realize/unrealize/reset() 2018-02-05 13:54:38 +01:00
arm hw/intc/armv7m_nvic: Implement cache ID registers 2018-02-15 18:29:49 +00:00
cris qdev: use device_class_set_parent_realize/unrealize/reset() 2018-02-05 13:54:38 +01:00
hppa qdev: use device_class_set_parent_realize/unrealize/reset() 2018-02-05 13:54:38 +01:00
i386 hax: Support guest RAM sizes of 4GB or more 2018-02-13 11:44:13 +01:00
lm32 qdev: use device_class_set_parent_realize/unrealize/reset() 2018-02-05 13:54:38 +01:00
m68k m68k: implement movep instruction 2018-02-14 11:09:13 +01:00
microblaze qdev: use device_class_set_parent_realize/unrealize/reset() 2018-02-05 13:54:38 +01:00
mips qdev: use device_class_set_parent_realize/unrealize/reset() 2018-02-05 13:54:38 +01:00
moxie qdev: use device_class_set_parent_realize/unrealize/reset() 2018-02-05 13:54:38 +01:00
nios2 Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
openrisc qdev: use device_class_set_parent_realize/unrealize/reset() 2018-02-05 13:54:38 +01:00
ppc Include qapi/qmp/qnull.h exactly where needed 2018-02-09 13:52:15 +01:00
s390x Miscellaneous patches for 2018-02-07 2018-02-09 14:39:09 +00:00
sh4 qdev: use device_class_set_parent_realize/unrealize/reset() 2018-02-05 13:54:38 +01:00
sparc qdev: use device_class_set_parent_realize/unrealize/reset() 2018-02-05 13:54:38 +01:00
tilegx qdev: use device_class_set_parent_realize/unrealize/reset() 2018-02-05 13:54:38 +01:00
tricore qdev: use device_class_set_parent_realize/unrealize/reset() 2018-02-05 13:54:38 +01:00
unicore32 qdev: use device_class_set_parent_realize/unrealize/reset() 2018-02-05 13:54:38 +01:00
xtensa Clean up includes 2018-02-09 05:05:11 +01:00