[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 05/10] hvf: arm: Mark CPU as dirty on reset
From: |
Alexander Graf |
Subject: |
[PATCH v3 05/10] hvf: arm: Mark CPU as dirty on reset |
Date: |
Wed, 2 Dec 2020 20:04:03 +0100 |
When clearing internal state of a CPU, we should also make sure that HVF
knows about it and can push the new values down to vcpu state.
Make sure that with HVF enabled, we tell it that it should synchronize
CPU state on next entry after a reset.
This fixes PSCI handling, because now newly pushed state such as X0 and
PC on remote CPU enablement also get pushed into HVF.
Signed-off-by: Alexander Graf <agraf@csgraf.de>
---
target/arm/arm-powerctl.c | 1 +
target/arm/cpu.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/target/arm/arm-powerctl.c b/target/arm/arm-powerctl.c
index b75f813b40..a49a5b32e6 100644
--- a/target/arm/arm-powerctl.c
+++ b/target/arm/arm-powerctl.c
@@ -15,6 +15,7 @@
#include "arm-powerctl.h"
#include "qemu/log.h"
#include "qemu/main-loop.h"
+#include "sysemu/hw_accel.h"
#ifndef DEBUG_ARM_POWERCTL
#define DEBUG_ARM_POWERCTL 0
diff --git a/target/arm/cpu.c b/target/arm/cpu.c
index db6f7c34ed..9a501ea4bd 100644
--- a/target/arm/cpu.c
+++ b/target/arm/cpu.c
@@ -411,6 +411,8 @@ static void arm_cpu_reset(DeviceState *dev)
#ifndef CONFIG_USER_ONLY
if (kvm_enabled()) {
kvm_arm_reset_vcpu(cpu);
+ } else if (hvf_enabled()) {
+ s->vcpu_dirty = true;
}
#endif
--
2.24.3 (Apple Git-128)
[PATCH v3 07/10] arm: Add Hypervisor.framework build target, Alexander Graf, 2020/12/02
[PATCH v3 08/10] arm/hvf: Add a WFI handler, Alexander Graf, 2020/12/02