qemu/docs/system
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
..
arm target/arm: Implement FEAT_DoubleFault 2022-06-08 19:38:46 +01:00
devices docs/cxl: Add initial Compute eXpress Link (CXL) documentation. 2022-05-13 07:57:26 -04:00
i386 i386: docs: Convert hyperv.txt to rST 2022-05-25 21:26:35 +02:00
loongarch target/loongarch: Add system emulation introduction 2022-06-06 18:09:03 +00:00
ppc spapr/docs: Add a few words about x-vof 2022-05-26 17:11:32 -03:00
riscv hw/riscv: Enable TPM backends 2022-04-29 10:48:48 +10:00
s390x docs/system/s390x/protvirt.rst: Format literals correctly 2021-08-02 11:42:38 +01:00
authz.rst docs: Drop deprecated 'props' from object-add 2021-11-22 15:02:38 +01:00
barrier.rst docs: Move user-facing barrier docs into system manual 2021-08-02 12:55:51 +01:00
bootindex.rst docs: Move bootindex.txt into system section and rstify 2021-08-02 12:55:51 +01:00
confidential-guest-support.rst docs: rstfy confidential guest documentation 2022-02-09 09:08:56 +01:00
cpu-hotplug.rst docs: Format literals correctly 2021-08-02 11:42:38 +01:00
cpu-models-mips.rst.inc docs/system: Update MIPS CPU documentation 2020-10-17 13:59:40 +02:00
cpu-models-x86-abi.csv docs: add a table showing x86-64 ABI compatibility levels 2021-06-17 14:11:06 -04:00
cpu-models-x86.rst.inc Fix some typos in documentation (found by codespell) 2021-11-22 15:02:38 +01:00
device-emulation.rst docs/cxl: Add initial Compute eXpress Link (CXL) documentation. 2022-05-13 07:57:26 -04:00
device-url-syntax.rst.inc docs: Spell QEMU all caps 2021-11-19 10:16:58 +01:00
gdb.rst Fix some typos in documentation (found by codespell) 2021-11-22 15:02:38 +01:00
generic-loader.rst docs: Move licence/copyright from HTML output to rST comments 2021-08-02 11:42:38 +01:00
guest-loader.rst docs: remove non-reference uses of single backticks 2021-11-08 12:27:23 +04:00
images.rst docs: Render binary names as monospaced text 2021-11-22 15:02:38 +01:00
index.rst docs: move replay docs to docs/system/replay.rst 2022-06-06 09:26:54 +02:00
invocation.rst
keys.rst
keys.rst.inc
linuxboot.rst
managed-startup.rst
monitor.rst docs: Get rid of the weird _005f links in the man page 2020-11-20 13:19:08 +01:00
multi-process.rst multi-process: fix usage information 2021-09-27 10:57:21 +02:00
mux-chardev.rst docs: Get rid of the weird _005f links in the man page 2020-11-20 13:19:08 +01:00
mux-chardev.rst.inc
pr-manager.rst docs/system/pr-manager.rst: Fix minor docs nits 2020-11-23 11:10:04 +00:00
qemu-block-drivers.rst docs/system: standardize man page sections to --- with overline 2021-09-13 13:56:26 +02:00
qemu-block-drivers.rst.inc block: better document SSH host key fingerprint checking 2022-02-16 14:34:15 +00:00
qemu-cpu-models.rst docs/system: standardize man page sections to --- with overline 2021-09-13 13:56:26 +02:00
qemu-manpage.rst docs/system: standardize man page sections to --- with overline 2021-09-13 13:56:26 +02:00
quickstart.rst docs/system: add a gentle prompt for the complexity to come 2021-03-10 12:13:59 +00:00
replay.rst docs: move replay docs to docs/system/replay.rst 2022-06-06 09:26:54 +02:00
secrets.rst docs: document how to pass secret data to QEMU 2021-06-14 13:28:50 +01:00
security.rst
target-arm.rst docs: Add documentation of Arm 'imx25-pdk' board 2021-08-02 11:42:38 +01:00
target-avr.rst docs: update to show preferred boolean syntax for -chardev 2021-02-25 14:14:33 +01:00
target-i386-desc.rst.inc pcspk: update docs/system/target-i386-desc.rst.inc 2020-07-06 17:01:11 +02:00
target-i386.rst i386: docs: Convert hyperv.txt to rST 2022-05-25 21:26:35 +02:00
target-m68k.rst
target-mips.rst docs/system: Update MIPS machine documentation 2021-01-04 23:36:03 +01:00
target-ppc.rst docs/system: ppc: Add documentation for ppce500 machine 2021-05-04 11:41:25 +10:00
target-riscv.rst docs/system: riscv: Add documentation for virt machine 2021-07-15 08:56:00 +10:00
target-rx.rst docs: Document the RX target 2020-06-22 18:37:12 +02:00
target-s390x.rst docs/system/s390x: Add a chapter about s390x boot devices 2020-08-27 12:37:03 +02:00
target-sparc64.rst
target-sparc.rst
target-xtensa.rst
targets.rst docs/system: add a gentle prompt for the complexity to come 2021-03-10 12:13:59 +00:00
tls.rst docs: Render binary names as monospaced text 2021-11-22 15:02:38 +01:00
virtio-net-failover.rst docs: Move virtio-net-failover.rst into the system manual 2020-11-23 11:07:41 +00:00
vnc-security.rst docs: recommend SCRAM-SHA-256 SASL mech instead of SHA-1 variant 2021-06-14 13:28:50 +01:00