qemu/target
Peter Collingbourne 219c101fa7 arm/hvf: Add a WFI handler
Sleep on WFI until the VTIMER is due but allow ourselves to be woken
up on IPI.

In this implementation IPI is blocked on the CPU thread at startup and
pselect() is used to atomically unblock the signal and begin sleeping.
The signal is sent unconditionally so there's no need to worry about
races between actually sleeping and the "we think we're sleeping"
state. It may lead to an extra wakeup but that's better than missing
it entirely.

Signed-off-by: Peter Collingbourne <pcc@google.com>
Signed-off-by: Alexander Graf <agraf@csgraf.de>
Acked-by: Roman Bolshakov <r.bolshakov@yadro.com>
Reviewed-by: Sergio Lopez <slp@redhat.com>
Message-id: 20210916155404.86958-6-agraf@csgraf.de
[agraf: Remove unused 'set' variable, always advance PC on WFX trap,
        support vm stop / continue operations and cntv offsets]
Signed-off-by: Alexander Graf <agraf@csgraf.de>
Acked-by: Roman Bolshakov <r.bolshakov@yadro.com>
Reviewed-by: Sergio Lopez <slp@redhat.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2021-09-21 16:28:26 +01:00
..
alpha target/alpha: Restrict cpu_exec_interrupt() handler to sysemu 2021-09-14 12:00:21 -07:00
arm arm/hvf: Add a WFI handler 2021-09-21 16:28:26 +01:00
avr Trivial patches pull request 20210916 2021-09-16 16:02:31 +01:00
cris target/cris: Restrict cpu_exec_interrupt() handler to sysemu 2021-09-14 12:00:21 -07:00
hexagon accel/tcg: Add DisasContextBase argument to translator_ld* 2021-09-14 12:00:20 -07:00
hppa target/hppa: Restrict cpu_exec_interrupt() handler to sysemu 2021-09-14 12:00:21 -07:00
i386 hvf: Add Apple Silicon support 2021-09-20 09:57:03 +01:00
m68k Pull request linux-user 20210916 2021-09-16 21:09:18 +01:00
microblaze target/microblaze: Restrict cpu_exec_interrupt() handler to sysemu 2021-09-14 12:00:21 -07:00
mips target/mips: Restrict cpu_exec_interrupt() handler to sysemu 2021-09-14 12:00:21 -07:00
nios2 Pull request linux-user 20210916 2021-09-16 21:09:18 +01:00
openrisc target/openrisc: Restrict cpu_exec_interrupt() handler to sysemu 2021-09-14 12:00:21 -07:00
ppc target/ppc: Restrict cpu_exec_interrupt() handler to sysemu 2021-09-14 12:00:21 -07:00
riscv target/riscv: Restrict cpu_exec_interrupt() handler to sysemu 2021-09-14 12:00:21 -07:00
rx target/rx: Restrict cpu_exec_interrupt() handler to sysemu 2021-09-14 12:00:21 -07:00
s390x accel/tcg: Add DisasContextBase argument to translator_ld* 2021-09-14 12:00:20 -07:00
sh4 target/sh4: Restrict cpu_exec_interrupt() handler to sysemu 2021-09-14 12:00:21 -07:00
sparc Trivial patches pull request 20210916 2021-09-16 16:02:31 +01:00
tricore accel/tcg: Remove TranslatorOps.breakpoint_check 2021-07-21 07:47:05 -10:00
xtensa target/xtensa: Restrict cpu_exec_interrupt() handler to sysemu 2021-09-14 12:00:21 -07:00
Kconfig meson: Introduce target-specific Kconfig 2021-07-09 18:21:34 +02:00
meson.build Drop the deprecated unicore32 target 2021-05-12 18:20:52 +02:00