From nobody Tue Feb 10 00:59:23 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1769431146; cv=none; d=zohomail.com; s=zohoarc; b=kfKpVjh+heIBym8WX+4F+0YqrVklo81ZyoNH3B3IxiKtChySbhnGslP0KZPxUGBkEOSNmevkILk31hRsz5qtIiT68ErCTw35e9JR8TG2nwBJbp4nBxaFm3TyPFgHf0lrsc+bjmad2N8R9s3cYgPjq7RxYuwKNQUNb0lnUMs9Z7U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769431146; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=eG76UtdNuETi+vbhjS1uSVE1rLfPeT7xhnfPao0pqK8=; b=YIgF1m6pHoZdk8Q9RzsggYanutVc627nvF8QiHoAiW5FOlTJ7rxjafZVXm2eJtk6bt2IAPLZ3pd5hOJ/w2e6bEjAHFwc8xQTgmGv9QgZBD8NIaT5hdTOBh+nSYZMALqBilz61ApnqTIby7ztoHZO4S09KqTcGnPSbR+S9MPn158= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1769431146233944.3651089509941; Mon, 26 Jan 2026 04:39:06 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vkLrP-000841-5W; Mon, 26 Jan 2026 07:38:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vkLrD-0004LW-6l for qemu-devel@nongnu.org; Mon, 26 Jan 2026 07:38:18 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vkLr8-0004dy-96 for qemu-devel@nongnu.org; Mon, 26 Jan 2026 07:38:11 -0500 Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-74-OWtBDYY_O_W5TNP5adXUNA-1; Mon, 26 Jan 2026 07:38:06 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 526001944F11; Mon, 26 Jan 2026 12:38:05 +0000 (UTC) Received: from sirius.home.kraxel.org (unknown [10.44.34.28]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 58E3A180009E; Mon, 26 Jan 2026 12:38:04 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 12A8F180060B; Mon, 26 Jan 2026 13:37:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1769431089; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=eG76UtdNuETi+vbhjS1uSVE1rLfPeT7xhnfPao0pqK8=; b=K7xYttuxhO/yXr+Ml1254PpzCsE+cE4Nre2W9G7IrCH4ZVICUBzASLJ12pDnEsqoK7yV4Q zX5nDY6H2oqa6z2V0mv78PksFhXeTQMDLQYD8GoZf+eUqvvNueIwCA/EjgDheHhTiDluVK OwnwBxrz6XqUfMHnxuFVpbCZ/KXl1EI= X-MC-Unique: OWtBDYY_O_W5TNP5adXUNA-1 X-Mimecast-MFC-AGG-ID: OWtBDYY_O_W5TNP5adXUNA_1769431085 From: Gerd Hoffmann To: qemu-devel@nongnu.org Cc: Gerd Hoffmann , Richard Henderson , Luigi Leonardi , Eduardo Habkost , Ani Sinha , Paolo Bonzini , "Michael S. Tsirkin" , Oliver Steffen , Marcel Apfelbaum , Stefano Garzarella Subject: [PATCH v3 5/5] igvm: move igvm file processing to reset callbacks Date: Mon, 26 Jan 2026 13:37:55 +0100 Message-ID: <20260126123755.357378-6-kraxel@redhat.com> In-Reply-To: <20260126123755.357378-1-kraxel@redhat.com> References: <20260126123755.357378-1-kraxel@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1769431147213158500 Content-Type: text/plain; charset="utf-8" Move igvm file processing from machine init to reset callbacks. With that the igvm file is properly re-loaded on reset. Also the loading happens later in the init process now. This will simplify future support for some IGVM parameters which depend on initialization steps which happen after machine init. Signed-off-by: Gerd Hoffmann Reviewed-by: Ani Sinha Reviewed-by: Stefano Garzarella --- backends/igvm-cfg.c | 7 +++++++ hw/i386/pc_piix.c | 10 ---------- hw/i386/pc_q35.c | 10 ---------- 3 files changed, 7 insertions(+), 20 deletions(-) diff --git a/backends/igvm-cfg.c b/backends/igvm-cfg.c index 4014062e0f22..f236b523df3b 100644 --- a/backends/igvm-cfg.c +++ b/backends/igvm-cfg.c @@ -16,6 +16,8 @@ #include "system/igvm-internal.h" #include "system/reset.h" #include "qom/object_interfaces.h" +#include "hw/core/qdev.h" +#include "hw/core/boards.h" =20 #include "trace.h" =20 @@ -45,7 +47,12 @@ static void igvm_reset_enter(Object *obj, ResetType type) =20 static void igvm_reset_hold(Object *obj, ResetType type) { + MachineState *ms =3D MACHINE(qdev_get_machine()); + IgvmCfg *igvm =3D IGVM_CFG(obj); + trace_igvm_reset_hold(type); + + qigvm_process_file(igvm, ms->cgs, false, &error_fatal); } =20 static void igvm_reset_exit(Object *obj, ResetType type) diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index fea158fc4bfe..878db5721b78 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -320,16 +320,6 @@ static void pc_init1(MachineState *machine, const char= *pci_type) x86_nvdimm_acpi_dsmio, x86ms->fw_cfg, OBJECT(pcms)); } - -#if defined(CONFIG_IGVM) - /* Apply guest state from IGVM if supplied */ - if (x86ms->igvm) { - if (IGVM_CFG_GET_CLASS(x86ms->igvm) - ->process(x86ms->igvm, machine->cgs, false, &error_fatal) = < 0) { - g_assert_not_reached(); - } - } -#endif } =20 typedef enum PCSouthBridgeOption { diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 4d6046e47b0d..6e5a23d718f1 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -328,16 +328,6 @@ static void pc_q35_init(MachineState *machine) x86_nvdimm_acpi_dsmio, x86ms->fw_cfg, OBJECT(pcms)); } - -#if defined(CONFIG_IGVM) - /* Apply guest state from IGVM if supplied */ - if (x86ms->igvm) { - if (IGVM_CFG_GET_CLASS(x86ms->igvm) - ->process(x86ms->igvm, machine->cgs, false, &error_fatal) = < 0) { - g_assert_not_reached(); - } - } -#endif } =20 #define DEFINE_Q35_MACHINE(major, minor) \ --=20 2.52.0