qemu/docs/system/arm
Peter Maydell 74360f3544 target/arm: Enable FEAT_ETS2 for -cpu max
FEAT_ETS2 is a tighter set of guarantees about memory ordering
involving translation table walks than the old FEAT_ETS; FEAT_ETS has
been retired from the Arm ARM and the old ID_AA64MMFR1.ETS == 1
now gives no greater guarantees than ETS == 0.

FEAT_ETS2 requires:
 * the virtual address of a load or store that appears in program
   order after a DSB cannot be translated until after the DSB
   completes (section B2.10.9)
 * TLB maintenance operations that only affect translations without
   execute permission are guaranteed complete after a DSB
   (R_BLDZX)
 * if a memory access RW2 is ordered-before memory access RW2,
   then RW1 is also ordered-before any translation table walk
   generated by RW2 that generates a Translation, Address size
   or Access flag fault (R_NNFPF, I_CLGHP)

As with FEAT_ETS, QEMU is already compliant, because we do not
reorder translation table walk memory accesses relative to other
memory accesses, and we always guarantee to have finished TLB
maintenance as soon as the TLB op is done.

Update the documentation to list FEAT_ETS2 instead of the
no-longer-existent FEAT_ETS, and update the 'max' CPU ID registers.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20240418152004.2106516-4-peter.maydell@linaro.org
2024-04-30 15:01:07 +01:00
..
aspeed.rst aspeed: Create flash devices only when defaults are enabled 2023-09-01 11:40:04 +02:00
b-l475e-iot01a.rst hw/arm: Add the USART to the stm32l4x5 SoC 2024-04-25 10:21:59 +01:00
bananapi_m2u.rst hw/arm: Add watchdog timer to Allwinner H40 and Bananapi board 2024-01-26 11:30:47 +00:00
collie.rst docs/system: Briefly document collie board 2020-07-20 11:35:17 +01:00
cpu-features.rst target/arm: Implement FEAT_PACQARMA3 2023-09-08 12:50:44 +01:00
cubieboard.rst hw/arm: Add WDT to Allwinner-A10 and Cubieboard 2023-04-20 10:21:13 +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: Enable FEAT_ETS2 for -cpu max 2024-04-30 15:01:07 +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 docs: Add documentation for the mps3-an536 board 2024-02-15 14:32:39 +00: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: Attach PSPI module to NPCM7XX SoC 2023-02-16 16:00:48 +00:00
orangepi.rst hw/arm: Add WDT to Allwinner-H3 and Orangepi-PC 2023-04-20 10:21:14 +01:00
palm.rst docs: use "buses" rather than "busses" 2024-01-05 22:28:54 +03:00
raspi.rst hw/i2c: Implement Broadcom Serial Controller (BSC) 2024-03-05 13:22:55 +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: sbsa: update specs, add dt note 2024-04-02 09:54:41 +01:00
stellaris.rst docs/system: Split target-arm.rst into sub-documents 2020-03-12 11:20:20 +00:00
stm32.rst hw/arm: Add minimal support for the B-L475E-IOT01A board 2024-01-09 14:42:40 +00: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 hw/arm/vexpress-a9: Remove useless mapping of RAM at address 0 2023-11-06 15:00:29 +00:00
virt.rst docs/system/arm/virt.rst: Add note on CPU features off by default 2024-01-26 11:30:49 +00:00
xenpvh.rst docs: clean-up the xenpvh documentation 2023-12-12 08:02:39 -05:00
xlnx-versal-virt.rst hw: Replace anti-social QOM type names (again) 2023-12-20 10:29:23 +01:00
xscale.rst docs: use "buses" rather than "busses" 2024-01-05 22:28:54 +03:00