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

Reply via email to