diff mbox series

[v3,04/10] arm: Set PSCI to 0.2 for HVF

Message ID 20201202190408.2041-5-agraf@csgraf.de
State New
Headers show
Series hvf: Implement Apple Silicon Support | expand

Commit Message

Alexander Graf Dec. 2, 2020, 7:04 p.m. UTC
In Hypervisor.framework, we just pass PSCI calls straight on to the QEMU emulation
of it. That means, if TCG is compatible with PSCI 0.2, so are we. Let's transpose
that fact in code too.

Signed-off-by: Alexander Graf <agraf@csgraf.de>
---
 target/arm/cpu.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Roman Bolshakov Dec. 3, 2020, 1:03 a.m. UTC | #1
On Wed, Dec 02, 2020 at 08:04:02PM +0100, Alexander Graf wrote:
> In Hypervisor.framework, we just pass PSCI calls straight on to the QEMU emulation
> of it. That means, if TCG is compatible with PSCI 0.2, so are we. Let's transpose
> that fact in code too.
> 
> Signed-off-by: Alexander Graf <agraf@csgraf.de>
> ---
>  target/arm/cpu.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/target/arm/cpu.c b/target/arm/cpu.c
> index 07492e9f9a..db6f7c34ed 100644
> --- a/target/arm/cpu.c
> +++ b/target/arm/cpu.c
> @@ -1062,6 +1062,10 @@ static void arm_cpu_initfn(Object *obj)
>      if (tcg_enabled()) {
>          cpu->psci_version = 2; /* TCG implements PSCI 0.2 */
>      }
> +
> +    if (hvf_enabled()) {
> +        cpu->psci_version = 2; /* HVF uses TCG's PSCI */
> +    }

If HVF is piggybacking on TCG and they're both the same versions would
it be better if:

> -     if (tcg_enabled()) {
> -        cpu->psci_version = 2; /* TCG implements PSCI 0.2 */
> +     if (tcg_enabled() || hvf_enabled()) {
> +        cpu->psci_version = 2; /* TCG implements PSCI 0.2 */
>      }

That'd avoid a case where they get out of sync.

Thanks,
Roman

>  }
>  
>  static Property arm_cpu_gt_cntfrq_property =
> -- 
> 2.24.3 (Apple Git-128)
>
diff mbox series

Patch

diff --git a/target/arm/cpu.c b/target/arm/cpu.c
index 07492e9f9a..db6f7c34ed 100644
--- a/target/arm/cpu.c
+++ b/target/arm/cpu.c
@@ -1062,6 +1062,10 @@  static void arm_cpu_initfn(Object *obj)
     if (tcg_enabled()) {
         cpu->psci_version = 2; /* TCG implements PSCI 0.2 */
     }
+
+    if (hvf_enabled()) {
+        cpu->psci_version = 2; /* HVF uses TCG's PSCI */
+    }
 }
 
 static Property arm_cpu_gt_cntfrq_property =