qemu-e2k/docs/system
Peter Maydell 75662f36e3 target/arm: Implement FEAT_IDST
The Armv8.4 feature FEAT_IDST specifies that exceptions generated by
read accesses to the feature ID space should report a syndrome code
of 0x18 (EC_SYSTEMREGISTERTRAP) rather than 0x00 (EC_UNCATEGORIZED).
The feature ID space is defined to be:
 op0 == 3, op1 == {0,1,3}, CRn == 0, CRm == {0-7}, op2 == {0-7}

In our implementation we might return the EC_UNCATEGORIZED syndrome
value for a system register access in four cases:
 * no reginfo struct in the hashtable
 * cp_access_ok() fails (ie ri->access doesn't permit the access)
 * ri->accessfn returns CP_ACCESS_TRAP_UNCATEGORIZED at runtime
 * ri->type includes ARM_CP_RAISES_EXC, and the readfn raises
   an UNDEF exception at runtime

We have very few regdefs that set ARM_CP_RAISES_EXC, and none of
them are in the feature ID space. (In the unlikely event that any
are added in future they would need to take care of setting the
correct syndrome themselves.) This patch deals with the other
three cases, and enables FEAT_IDST for AArch64 -cpu max.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220509155457.3560724-1-peter.maydell@linaro.org
2022-05-19 16:19:02 +01:00
..
arm target/arm: Implement FEAT_IDST 2022-05-19 16:19:02 +01:00
devices docs/cxl: Add initial Compute eXpress Link (CXL) documentation. 2022-05-13 07:57:26 -04:00
i386 docs/system/i386: Add measurement calculation details to amd-memory-encryption 2022-04-05 10:42:06 +02:00
ppc docs: rstfy confidential guest documentation 2022-02-09 09:08:56 +01: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: rstfy confidential guest documentation 2022-02-09 09:08:56 +01:00
invocation.rst docs: Split out sections for the manpage into .rst.inc files 2020-03-06 11:06:55 +00:00
keys.rst docs: Split out sections for the manpage into .rst.inc files 2020-03-06 11:06:55 +00:00
keys.rst.inc docs: Split out sections for the manpage into .rst.inc files 2020-03-06 11:06:55 +00:00
linuxboot.rst docs/system: convert Texinfo documentation to rST 2020-03-06 10:05:12 +00:00
managed-startup.rst docs/system: convert managed startup to rST. 2020-03-06 10:05:12 +00:00
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 docs: Split out sections for the manpage into .rst.inc files 2020-03-06 11:06:55 +00:00
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
secrets.rst docs: document how to pass secret data to QEMU 2021-06-14 13:28:50 +01:00
security.rst docs/system: Convert security.texi to rST format 2020-03-06 10:05:12 +00:00
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 docs: rstfy confidential guest documentation 2022-02-09 09:08:56 +01:00
target-m68k.rst docs: Roll semihosting option information into qemu-options.hx 2020-03-06 10:05:12 +00:00
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 docs: Roll -prom-env and -g target-specific info into qemu-options.hx 2020-03-06 10:05:18 +00:00
target-sparc.rst docs: Roll -prom-env and -g target-specific info into qemu-options.hx 2020-03-06 10:05:18 +00:00
target-xtensa.rst docs: Roll semihosting option information into qemu-options.hx 2020-03-06 10:05:12 +00:00
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