This device tree will be consumed by Coconut SVSM with the upcoming device
tree support [1]. This will allow SVSM to run on a normal CPU
(not AMD SEV-SNP) and execute all its tests using upstream QEMU.
Eventually edk2 will also be able to consume DT via IGVM, but the work
has not started yet.
This series contains one patch that simplifies meson logic and another one
that changes the return behaviour of `qigvm_find_param_entry`.
This is to avoid conflicts with the device tree patch itself, that needs
to modify the same lines.
[1] https://github.com/coconut-svsm/svsm/pull/1006
Signed-off-by: Luigi Leonardi <leonardi@redhat.com>
---
Changes in v6:
- Picked up https://lore.kernel.org/qemu-devel/20260618-igvm_error-v2-1-2b03f4790e4f@redhat.com/
and fixed conflicts
- Link to v5: https://lore.kernel.org/qemu-devel/20260625-microvm_device_tree-v5-0-bcff11fd6d1c@redhat.com
Changes in v5:
- Added a patch, suggested by Paolo, to simplify current igvm meson config
- Added missing fdt dependency for igvm in meson.
- Link to v4: https://lore.kernel.org/qemu-devel/20260615-microvm_device_tree-v4-1-128a59fd2f78@redhat.com
Changes in v4:
- Using g_memdup2 [Stefano]
- madt directive is now protected by CONFIG_FDT [Stefano]
- Link to v3: https://lore.kernel.org/qemu-devel/20260611-microvm_device_tree-v3-1-dfb9cf0000b8@redhat.com
Changes in v3:
- Device tree is packed in igvm core code. [Gerd]
- Dropped microvm patch.
- Link to v2: https://lore.kernel.org/qemu-devel/20260610-microvm_device_tree-v2-0-4fb44730c49f@redhat.com
Changes in v2:
- First patch introduced a shadowed variable, fixed.
- When parameter area is not found return -1.
- Moved `qigvm_directive_device_tree` to backends/igvm.c
- Link to v1: https://lore.kernel.org/qemu-devel/20260608-microvm_device_tree-v1-0-730874ad0008@redhat.com
---
Luigi Leonardi (3):
igvm: Report error on missing parameter area in directive handlers
igvm: use idiomatic meson conditional for IGVM build files
igvm: add device tree parameter support
backends/igvm.c | 80 ++++++++++++++++++++++++++++++++++++------
backends/meson.build | 7 ++--
include/system/igvm-internal.h | 3 +-
target/i386/igvm.c | 5 +--
4 files changed, 77 insertions(+), 18 deletions(-)
---
base-commit: 60533c6193ede6ce403e82d09d82ae2bc8fb423a
change-id: 20260608-microvm_device_tree-0263c3b1be86
Best regards,
--
Luigi Leonardi <leonardi@redhat.com>