On Wed, May 19, 2021 at 10:22:48PM +0200, Alexander Graf wrote: > From: Peter Collingbourne > > 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 > [agraf: Remove unused 'set' variable, always advance PC on WFX trap] > Signed-off-by: Alexander Graf > Acked-by: Roman Bolshakov > > --- > > v6 -> v7: > > - Move WFI into function > - Improve comment wording > --- > accel/hvf/hvf-accel-ops.c | 5 ++- > include/sysemu/hvf_int.h | 1 + > target/arm/hvf/hvf.c | 68 +++++++++++++++++++++++++++++++++++++++ > 3 files changed, 71 insertions(+), 3 deletions(-) Reviewed-by: Sergio Lopez