system/runstate.c | 5 ++++- target/i386/sev.c | 4 ---- 2 files changed, 4 insertions(+), 5 deletions(-)
Fix issues reported by Peter.
Fixes: ec9bafd2ea9d12c ("i386/sev: add support for confidential guest reset")
Fixes: e76c30bb13ecb9d ("hw/machine: introduce machine specific option 'x-change-vmfd-on-reset'")
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Ani Sinha <anisinha@redhat.com>
---
system/runstate.c | 5 ++++-
target/i386/sev.c | 4 ----
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/system/runstate.c b/system/runstate.c
index eca722b43c..ca6730d111 100644
--- a/system/runstate.c
+++ b/system/runstate.c
@@ -512,9 +512,12 @@ void qemu_system_reset(ShutdownCause reason)
ResetType type;
AccelClass *ac = ACCEL_GET_CLASS(current_accel());
bool guest_state_rebuilt = false;
+ bool force_vmfd_change = false;
int ret;
mc = current_machine ? MACHINE_GET_CLASS(current_machine) : NULL;
+ force_vmfd_change = current_machine ?
+ current_machine->new_accel_vmfd_on_reset : false;
cpu_synchronize_all_states();
@@ -528,7 +531,7 @@ void qemu_system_reset(ShutdownCause reason)
if ((reason == SHUTDOWN_CAUSE_GUEST_RESET ||
reason == SHUTDOWN_CAUSE_HOST_QMP_SYSTEM_RESET) &&
- (current_machine->new_accel_vmfd_on_reset || !cpus_are_resettable())) {
+ (force_vmfd_change || !cpus_are_resettable())) {
if (ac->rebuild_guest) {
ret = ac->rebuild_guest(current_machine);
if (ret < 0) {
diff --git a/target/i386/sev.c b/target/i386/sev.c
index cddffe0da8..9dde972c11 100644
--- a/target/i386/sev.c
+++ b/target/i386/sev.c
@@ -2011,10 +2011,6 @@ static void sev_handle_reset(Object *obj, ResetType type)
SevCommonState *sev_common = SEV_COMMON(MACHINE(qdev_get_machine())->cgs);
SevCommonStateClass *klass = SEV_COMMON_GET_CLASS(sev_common);
- if (!sev_common) {
- return;
- }
-
if (!runstate_is_running()) {
return;
}
--
2.42.0
> On 11 Mar 2026, at 1:05 PM, Ani Sinha <anisinha@redhat.com> wrote:
>
> Fix issues reported by Peter.
>
> Fixes: ec9bafd2ea9d12c ("i386/sev: add support for confidential guest reset")
> Fixes: e76c30bb13ecb9d ("hw/machine: introduce machine specific option 'x-change-vmfd-on-reset'")
> Reported-by: Peter Maydell <peter.maydell@linaro.org>
> Reviewed-by: Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
^^^^^^^^^^^^^^^^^^^^^^^^^^
Sorry my bad. Will fix in v3.
> Signed-off-by: Ani Sinha <anisinha@redhat.com>
> ---
> system/runstate.c | 5 ++++-
> target/i386/sev.c | 4 ----
> 2 files changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/system/runstate.c b/system/runstate.c
> index eca722b43c..ca6730d111 100644
> --- a/system/runstate.c
> +++ b/system/runstate.c
> @@ -512,9 +512,12 @@ void qemu_system_reset(ShutdownCause reason)
> ResetType type;
> AccelClass *ac = ACCEL_GET_CLASS(current_accel());
> bool guest_state_rebuilt = false;
> + bool force_vmfd_change = false;
> int ret;
>
> mc = current_machine ? MACHINE_GET_CLASS(current_machine) : NULL;
> + force_vmfd_change = current_machine ?
> + current_machine->new_accel_vmfd_on_reset : false;
>
> cpu_synchronize_all_states();
>
> @@ -528,7 +531,7 @@ void qemu_system_reset(ShutdownCause reason)
>
> if ((reason == SHUTDOWN_CAUSE_GUEST_RESET ||
> reason == SHUTDOWN_CAUSE_HOST_QMP_SYSTEM_RESET) &&
> - (current_machine->new_accel_vmfd_on_reset || !cpus_are_resettable())) {
> + (force_vmfd_change || !cpus_are_resettable())) {
> if (ac->rebuild_guest) {
> ret = ac->rebuild_guest(current_machine);
> if (ret < 0) {
> diff --git a/target/i386/sev.c b/target/i386/sev.c
> index cddffe0da8..9dde972c11 100644
> --- a/target/i386/sev.c
> +++ b/target/i386/sev.c
> @@ -2011,10 +2011,6 @@ static void sev_handle_reset(Object *obj, ResetType type)
> SevCommonState *sev_common = SEV_COMMON(MACHINE(qdev_get_machine())->cgs);
> SevCommonStateClass *klass = SEV_COMMON_GET_CLASS(sev_common);
>
> - if (!sev_common) {
> - return;
> - }
> -
> if (!runstate_is_running()) {
> return;
> }
> --
> 2.42.0
>
© 2016 - 2026 Red Hat, Inc.