target/arm: Implement M-profile "minimal RAS implementation"
commit46f4976f22a4549322307b34272e053d38653243
authorPeter Maydell <peter.maydell@linaro.org>
Thu, 19 Nov 2020 21:56:14 +0000 (19 21:56 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 10 Dec 2020 11:44:56 +0000 (10 11:44 +0000)
treebd3e19198ef044a4a60a3995512f98a3856d58c3
parent194cde6df20d139dbb952ef6c8c011f2126d03a4
target/arm: Implement M-profile "minimal RAS implementation"

For v8.1M the architecture mandates that CPUs must provide at
least the "minimal RAS implementation" from the Reliability,
Availability and Serviceability extension. This consists of:
 * an ESB instruction which is a NOP
   -- since it is in the HINT space we need only add a comment
 * an RFSR register which will RAZ/WI
 * a RAZ/WI AIRCR.IESB bit
   -- the code which handles writes to AIRCR does not allow setting
      of RES0 bits, so we already treat this as RAZ/WI; add a comment
      noting that this is deliberate
 * minimal implementation of the RAS register block at 0xe0005000
   -- this will be in a subsequent commit
 * setting the ID_PFR0.RAS field to 0b0010
   -- we will do this when we add the Cortex-M55 CPU model

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201119215617.29887-26-peter.maydell@linaro.org
hw/intc/armv7m_nvic.c
target/arm/cpu.h
target/arm/t32.decode