[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/2] target/arm: Implement FEAT_WFxT
From: |
Peter Maydell |
Subject: |
[PATCH 0/2] target/arm: Implement FEAT_WFxT |
Date: |
Tue, 30 Apr 2024 15:00:33 +0100 |
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.
This series implements this and enables it for '-cpu max'.
Patch 1 is a tweak to the TCGCPUOps::cpu_exec_halt method
so that we can use it in patch 2 for "do some work when we
are going to leave the halt state".
thanks
-- PMM
Peter Maydell (2):
accel/tcg: Make TCGCPUOps::cpu_exec_halt return bool for whether to
halt
target/arm: Implement FEAT WFxT and enable for '-cpu max'
docs/system/arm/emulation.rst | 1 +
include/hw/core/tcg-cpu-ops.h | 11 ++++--
target/arm/cpu-features.h | 5 +++
target/arm/cpu.h | 3 ++
target/arm/helper.h | 1 +
target/arm/internals.h | 8 +++++
target/i386/tcg/helper-tcg.h | 2 +-
target/arm/tcg/a64.decode | 4 +++
accel/tcg/cpu-exec.c | 7 ++--
target/arm/cpu.c | 38 ++++++++++++++++++++
target/arm/helper.c | 4 +--
target/arm/machine.c | 20 +++++++++++
target/arm/tcg/cpu64.c | 1 +
target/arm/tcg/op_helper.c | 54 +++++++++++++++++++++++++++++
target/arm/tcg/translate-a64.c | 41 ++++++++++++++++++++++
target/i386/tcg/sysemu/seg_helper.c | 3 +-
16 files changed, 195 insertions(+), 8 deletions(-)
--
2.34.1
- [PATCH 0/2] target/arm: Implement FEAT_WFxT,
Peter Maydell <=