qemu/docs/system
Peter Maydell a96edb687e target/arm: Implement FEAT WFxT and enable for '-cpu max'
FEAT_WFxT introduces new instructions WFIT and WFET, which are like
the existing WFI and WFE but allow the guest to pass a timeout value
in a register.  The instructions will wait for an interrupt/event as
usual, but will also stop waiting when the value of CNTVCT_EL0 is
greater than or equal to the specified timeout value.

We implement WFIT by setting up a timer to expire at the right
point; when the timer expires it sets the EXITTB interrupt, which
will cause the CPU to leave the halted state. If we come out of
halt for some other reason, we unset the pending timer.

We implement WFET as a nop, which is architecturally permitted and
matches the way we currently make WFE a nop.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20240430140035.3889879-3-peter.maydell@linaro.org
2024-05-30 16:35:17 +01:00
..
arm target/arm: Implement FEAT WFxT and enable for '-cpu max' 2024-05-30 16:35:17 +01:00
devices Revert "hw/virtio: Add support for VDPA network simulation devices" 2024-04-09 02:30:18 -04:00
i386 Fix some typos in documentation (found by codespell) 2024-04-02 13:38:40 +03:00
loongarch hw/rdma: Remove deprecated pvrdma device and rdmacm-mux helper 2024-04-24 16:03:38 +02:00
openrisc docs/system: openrisc: Add OpenRISC documentation 2022-09-04 07:02:57 +01:00
ppc docs/system/ppc/amigang.rst: Fix formatting 2024-03-26 14:24:06 +01:00
riscv docs/system/riscv: sifive_u: Update S-mode U-Boot image build instructions 2024-01-10 18:47:47 +10:00
s390x docs/s390: clarify even more that cpu-topology is KVM-only 2024-03-15 07:19:01 +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
cpu-models-x86-abi.csv docs: re-generate x86_64 ABI compatibility CSV 2024-02-09 12:48:11 +00:00
cpu-models-x86.rst.inc docs: fix highlighting of CPU ABI header rows 2024-02-09 12:48:10 +00:00
device-emulation.rst Revert "hw/virtio: Add support for VDPA network simulation devices" 2024-04-09 02:30:18 -04:00
device-url-syntax.rst.inc block/gluster: Remove deprecated RDMA protocol handling 2024-04-24 16:03:38 +02:00
gdb.rst docs/system: clarify limits of using gdbstub in system emulation 2023-11-23 14:10:06 +00: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/system: remove excessive punctuation from guest-loader docs 2023-04-27 14:58:41 +01:00
images.rst docs: Render binary names as monospaced text 2021-11-22 15:02:38 +01:00
index.rst docs: Start documenting VM templating 2023-09-19 10:23:21 +02:00
introduction.rst docs/s390: clarify even more that cpu-topology is KVM-only 2024-03-15 07:19:01 +01:00
invocation.rst qemu-options: Clarify handling of commas in options parameters 2023-12-20 10:29:23 +01:00
keys.rst docs: Remove unused weirdly-named cross-reference targets 2023-05-12 15:43:38 +01:00
keys.rst.inc docs/system: Update description for input grab key 2024-02-22 08:58:43 +03:00
linuxboot.rst docs: Remove unused weirdly-named cross-reference targets 2023-05-12 15:43:38 +01:00
managed-startup.rst
monitor.rst
multi-process.rst docs: fix multi-process QEMU documentation 2023-06-07 10:21:53 -04:00
mux-chardev.rst
mux-chardev.rst.inc
pr-manager.rst
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/gluster: Remove deprecated RDMA protocol handling 2024-04-24 16:03:38 +02: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 qemu-options: Clarify handling of commas in options parameters 2023-12-20 10:29:23 +01:00
replay.rst target/nios2: Remove the deprecated Nios II target 2024-04-24 16:03:38 +02:00
secrets.rst
security.rst
target-arm.rst docs/system/target-arm: Re-alphabetize board list 2024-05-30 16:11:52 +01:00
target-avr.rst
target-i386-desc.rst.inc docs: i386: pc: Update maximum CPU numbers for PC Q35 2024-04-25 07:03:04 +02:00
target-i386.rst docs: Remove unused weirdly-named cross-reference targets 2023-05-12 15:43:38 +01:00
target-m68k.rst
target-mips.rst docs/system: Remove "mips" board from target-mips.rst 2023-03-07 18:08:12 +01:00
target-openrisc.rst docs/system: openrisc: Add OpenRISC documentation 2022-09-04 07:02:57 +01:00
target-ppc.rst docs/system/ppc: Document running Linux on AmigaNG machines 2024-03-13 02:47:04 +10:00
target-riscv.rst docs/system/target-riscv.rst: tidy CPU firmware section 2023-07-19 14:30:04 +10:00
target-rx.rst
target-s390x.rst docs/s390x/cpu topology: document s390x cpu topology 2023-10-20 07:16:53 +02:00
target-sparc64.rst
target-sparc.rst docs/system/target-sparc: Improve the Sparc documentation 2024-05-05 21:02:48 +01:00
target-xtensa.rst
targets.rst docs/system: openrisc: Add OpenRISC documentation 2022-09-04 07:02:57 +01:00
tls.rst misc: fix commonly doubled up words 2022-08-01 11:58:02 +02:00
virtio-net-failover.rst
vm-templating.rst docs: Start documenting VM templating 2023-09-19 10:23:21 +02:00
vnc-security.rst