qemu-e2k/docs/system/arm
Peter Maydell 7ac610206a target/arm: Implement FEAT_DoubleFault
The FEAT_DoubleFault extension adds the following:

 * All external aborts on instruction fetches and translation table
   walks for instruction fetches must be synchronous.  For QEMU this
   is already true.

 * SCR_EL3 has a new bit NMEA which disables the masking of SError
   interrupts by PSTATE.A when the SError interrupt is taken to EL3.
   For QEMU we only need to make the bit writable, because we have no
   sources of SError interrupts.

 * SCR_EL3 has a new bit EASE which causes synchronous external
   aborts taken to EL3 to be taken at the same entry point as SError.
   (Note that this does not mean that they are SErrors for purposes
   of PSTATE.A masking or that the syndrome register reports them as
   SErrors: it just means that the vector offset is different.)

 * The existing SCTLR_EL3.IESB has an effective value of 1 when
   SCR_EL3.NMEA is 1.  For QEMU this is a no-op because we don't need
   different behaviour based on IESB (we don't need to do anything to
   ensure that error exceptions are synchronized).

So for QEMU the things we need to change are:
 * Make SCR_EL3.{NMEA,EASE} writable
 * When taking a synchronous external abort at EL3, adjust the
   vector entry point if SCR_EL3.EASE is set
 * Advertise the feature in the ID registers

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220531151431.949322-1-peter.maydell@linaro.org
2022-06-08 19:38:46 +01:00
..
aspeed.rst docs: aspeed: Add fby35 board 2022-05-25 10:31:33 +02:00
collie.rst docs/system: Briefly document collie board 2020-07-20 11:35:17 +01:00
cpu-features.rst hw/arm/virt: KVM: Enable PAuth when supported by the host 2022-01-20 11:47:52 +00:00
cubieboard.rst docs: Add skeletal documentation of cubieboard 2021-07-18 10:59:47 +01:00
digic.rst docs/system: Briefly document canon-a1100 board 2020-07-20 11:35:17 +01:00
emcraft-sf2.rst docs: Add skeletal documentation of the emcraft-sf2 2021-07-18 10:59:47 +01:00
emulation.rst target/arm: Implement FEAT_DoubleFault 2022-06-08 19:38:46 +01:00
gumstix.rst docs/system: Briefly document gumstix boards 2020-07-20 11:35:17 +01:00
highbank.rst docs: Add skeletal documentation of highbank and midway 2021-07-18 10:59:47 +01:00
imx25-pdk.rst docs: Add documentation of Arm 'imx25-pdk' board 2021-08-02 11:42:38 +01:00
integratorcp.rst docs/system: Add 'Arm' to the Integrator/CP document title 2020-05-21 20:00:18 +01:00
kzm.rst docs: Add documentation of Arm 'kzm' board 2021-08-02 11:42:38 +01:00
mainstone.rst docs: Add documentation of Arm 'mainstone' board 2021-08-02 11:42:38 +01:00
mps2.rst hw/arm/mps2-tz: Implement AN524 memory remapping via machine property 2021-05-10 17:21:54 +01:00
musca.rst docs/system: Document Musca boards 2020-05-21 20:00:18 +01:00
musicpal.rst docs: Be consistent about capitalization of 'Arm' 2020-03-12 11:20:20 +00:00
nrf.rst docs/system: arm: Add nRF boards description 2021-06-24 14:58:48 +01:00
nseries.rst docs: Be consistent about capitalization of 'Arm' 2020-03-12 11:20:20 +00:00
nuvoton.rst hw/arm: add initial mori-bmc board 2022-02-21 13:30:21 +00:00
orangepi.rst docs: Render binary names as monospaced text 2021-11-22 15:02:38 +01:00
palm.rst docs: Be consistent about capitalization of 'Arm' 2020-03-12 11:20:20 +00:00
raspi.rst docs/system/arm: Document the various raspi boards 2020-11-23 10:53:02 +00:00
realview.rst docs: Be consistent about capitalization of 'Arm' 2020-03-12 11:20:20 +00:00
sabrelite.rst arm: Consistently use "Cortex-Axx", not "Cortex Axx" 2021-06-03 16:43:25 +01:00
sbsa.rst docs: Format literals correctly 2021-08-02 11:42:38 +01:00
stellaris.rst docs/system: Split target-arm.rst into sub-documents 2020-03-12 11:20:20 +00:00
stm32.rst docs/system: arm: Add stm32 boards description 2021-07-09 16:09:12 +01:00
sx1.rst docs: Be consistent about capitalization of 'Arm' 2020-03-12 11:20:20 +00:00
versatile.rst docs/system: document an example booting the versatilepb machine 2021-02-08 10:55:20 +00:00
vexpress.rst docs/system: document an example vexpress-a15 invocation 2021-02-08 10:55:20 +00:00
virt.rst target/arm: Define neoverse-n1 2022-05-09 11:47:54 +01:00
xlnx-versal-virt.rst docs/system/arm: xlnx-versal-virt: BBRAM and eFUSE Usage 2021-09-30 13:42:10 +01:00
xscale.rst docs/system/arm: Document the Sharp Zaurus SL-6000 2020-11-23 10:53:18 +00:00