On Mon, 13 Sept 2021 at 00:08, Alexander Graf <ag...@csgraf.de> wrote: > > We need to handle PSCI calls. Most of the TCG code works for us, > but we can simplify it to only handle aa64 mode and we need to > handle SUSPEND differently. > > This patch takes the TCG code as template and duplicates it in HVF. > > To tell the guest that we support PSCI 0.2 now, update the check in > arm_cpu_initfn() as well. > > Signed-off-by: Alexander Graf <ag...@csgraf.de> > Reviewed-by: Sergio Lopez <s...@redhat.com> > > --- > > v6 -> v7: > > - This patch integrates "arm: Set PSCI to 0.2 for HVF" > > v7 -> v8: > > - Do not advance for HVC, PC is already updated by hvf > - Fix checkpatch error > > v8 -> v9: > > - Use new hvf_raise_exception() prototype > - Make cpu_off function void > - Add comment about return value, use -1 for "not found" > - Remove cpu_synchronize_state() when halted > --- > target/arm/cpu.c | 4 +- > target/arm/hvf/hvf.c | 127 ++++++++++++++++++++++++++++++++++-- > target/arm/hvf/trace-events | 1 + > 3 files changed, 126 insertions(+), 6 deletions(-)
Something in here should be checking whether the insn the guest used matches the PSCI conduit configured for the VM, ie what arm_is_psci_call() does after your patch 10. -- PMM