From: Oliver Steffen <osteffen@redhat.com>
To: qemu-devel@nongnu.org
Cc: Joerg Roedel <joerg.roedel@amd.com>,
Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
Gerd Hoffmann <kraxel@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Stefano Garzarella <sgarzare@redhat.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
kvm@vger.kernel.org,
Richard Henderson <richard.henderson@linaro.org>,
Zhao Liu <zhao1.liu@intel.com>,
Eduardo Habkost <eduardo@habkost.net>,
Ani Sinha <anisinha@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
Luigi Leonardi <leonardi@redhat.com>,
Igor Mammedov <imammedo@redhat.com>,
Oliver Steffen <osteffen@redhat.com>
Subject: [PATCH 0/3] igvm: Supply MADT via IGVM parameter
Date: Thu, 11 Dec 2025 09:15:14 +0100 [thread overview]
Message-ID: <20251211081517.1546957-1-osteffen@redhat.com> (raw)
When launching using an IGVM file, supply a copy of the MADT (part of the ACPI
tables) via an IGVM parameter (IGVM_VHY_MADT) to the guest, in addition to the
regular fw_cfg mechanism.
The IGVM parameter can be consumed by Coconut SVSM [1], instead of relying on
the fw_cfg interface, which has caused problems before due to unexpected access
[2,3]. Using IGVM parameters is the default way for Coconut SVSM; switching
over would allow removing specialized code paths for QEMU in Coconut.
In any case OVMF, which runs after SVSM has already been initialized, will
continue reading all ACPI tables via fw_cfg and provide fixed up ACPI data to
the OS as before.
This series makes ACPI table building more generic by making the BIOS linker
optional. This allows the MADT to be generated outside of the ACPI build
context. A new function (acpi_build_madt_standalone()) is added for that. With
that, the IGVM MADT parameter field can be filled with the MADT data during
processing of the IGVM file.
Generating the MADT twice (IGVM processing and ACPI table building) seems
acceptable, since there is no infrastructure to obtain the MADT out of the ACPI
table memory area during IGVM processing.
[1] https://github.com/coconut-svsm/svsm/pull/858
[2] https://gitlab.com/qemu-project/qemu/-/issues/2882
[3] https://github.com/coconut-svsm/svsm/issues/646
Based-On: 20251118122133.1695767-1-kraxel@redhat.com
Signed-off-by: Oliver Steffen <osteffen@redhat.com>
Oliver Steffen (3):
hw/acpi: Make BIOS linker optional
hw/acpi: Add standalone function to build MADT
igvm: Fill MADT IGVM parameter field
backends/igvm-cfg.c | 8 +++++++-
backends/igvm.c | 37 ++++++++++++++++++++++++++++++++++++-
hw/acpi/aml-build.c | 7 +++++--
hw/i386/acpi-build.c | 8 ++++++++
hw/i386/acpi-build.h | 2 ++
include/system/igvm-cfg.h | 4 ++--
include/system/igvm.h | 2 +-
target/i386/sev.c | 2 +-
8 files changed, 62 insertions(+), 8 deletions(-)
--
2.52.0
next reply other threads:[~2025-12-11 8:17 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-11 8:15 Oliver Steffen [this message]
2025-12-11 8:15 ` [PATCH 1/3] hw/acpi: Make BIOS linker optional Oliver Steffen
2025-12-11 8:15 ` [PATCH 2/3] hw/acpi: Add standalone function to build MADT Oliver Steffen
2025-12-11 8:15 ` [PATCH 3/3] igvm: Fill MADT IGVM parameter field Oliver Steffen
2025-12-11 8:46 ` Stefano Garzarella
2025-12-11 9:24 ` Oliver Steffen
2025-12-11 10:11 ` Stefano Garzarella
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251211081517.1546957-1-osteffen@redhat.com \
--to=osteffen@redhat.com \
--cc=anisinha@redhat.com \
--cc=eduardo@habkost.net \
--cc=imammedo@redhat.com \
--cc=joerg.roedel@amd.com \
--cc=kraxel@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=leonardi@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=mst@redhat.com \
--cc=mtosatti@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=sgarzare@redhat.com \
--cc=zhao1.liu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).