[PATCH] typedefs: move QIgvm out of typedefs.h

Paolo Bonzini posted 1 patch 3 weeks, 6 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260311162045.563301-1-pbonzini@redhat.com
Maintainers: Gerd Hoffmann <kraxel@redhat.com>, Stefano Garzarella <sgarzare@redhat.com>, Ani Sinha <anisinha@redhat.com>
include/qemu/typedefs.h | 1 -
include/system/igvm.h   | 3 ++-
2 files changed, 2 insertions(+), 2 deletions(-)
[PATCH] typedefs: move QIgvm out of typedefs.h
Posted by Paolo Bonzini 3 weeks, 6 days ago
Typedefs.h should only be used for really core types; QIgvm is
just an opaque struct that is defined in system/igvm-internal.h,
and the typedef itself can be placed simply in system/igvm.h.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 include/qemu/typedefs.h | 1 -
 include/system/igvm.h   | 3 ++-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
index cbe6f7f4c7c..416a8c9acea 100644
--- a/include/qemu/typedefs.h
+++ b/include/qemu/typedefs.h
@@ -102,7 +102,6 @@ typedef struct QEMUSGList QEMUSGList;
 typedef struct QemuSpin QemuSpin;
 typedef struct QEMUTimer QEMUTimer;
 typedef struct QEMUTimerListGroup QEMUTimerListGroup;
-typedef struct QIgvm QIgvm;
 typedef struct QList QList;
 typedef struct QNull QNull;
 typedef struct QNum QNum;
diff --git a/include/system/igvm.h b/include/system/igvm.h
index f9231f03ec8..64d3542311a 100644
--- a/include/system/igvm.h
+++ b/include/system/igvm.h
@@ -13,10 +13,11 @@
 #define BACKENDS_IGVM_H
 
 #include "hw/core/boards.h"
-#include "qemu/typedefs.h"
 #include "system/confidential-guest-support.h"
 #include "qapi/error.h"
 
+typedef struct QIgvm QIgvm;
+
 int qigvm_process_file(IgvmCfg *igvm, MachineState *machine_state,
                        bool onlyVpContext, Error **errp);
 
-- 
2.53.0
Re: [PATCH] typedefs: move QIgvm out of typedefs.h
Posted by Philippe Mathieu-Daudé 3 weeks, 6 days ago
On 11/3/26 17:20, Paolo Bonzini wrote:
> Typedefs.h should only be used for really core types; QIgvm is
> just an opaque struct that is defined in system/igvm-internal.h,
> and the typedef itself can be placed simply in system/igvm.h.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>   include/qemu/typedefs.h | 1 -
>   include/system/igvm.h   | 3 ++-
>   2 files changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Re: [PATCH] typedefs: move QIgvm out of typedefs.h
Posted by Luigi Leonardi 3 weeks, 6 days ago
On Wed, Mar 11, 2026 at 05:20:45PM +0100, Paolo Bonzini wrote:
>Typedefs.h should only be used for really core types; QIgvm is
>just an opaque struct that is defined in system/igvm-internal.h,
>and the typedef itself can be placed simply in system/igvm.h.
>
>Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>---
> include/qemu/typedefs.h | 1 -
> include/system/igvm.h   | 3 ++-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
>diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
>index cbe6f7f4c7c..416a8c9acea 100644
>--- a/include/qemu/typedefs.h
>+++ b/include/qemu/typedefs.h
>@@ -102,7 +102,6 @@ typedef struct QEMUSGList QEMUSGList;
> typedef struct QemuSpin QemuSpin;
> typedef struct QEMUTimer QEMUTimer;
> typedef struct QEMUTimerListGroup QEMUTimerListGroup;
>-typedef struct QIgvm QIgvm;
> typedef struct QList QList;
> typedef struct QNull QNull;
> typedef struct QNum QNum;
>diff --git a/include/system/igvm.h b/include/system/igvm.h
>index f9231f03ec8..64d3542311a 100644
>--- a/include/system/igvm.h
>+++ b/include/system/igvm.h
>@@ -13,10 +13,11 @@
> #define BACKENDS_IGVM_H
>
> #include "hw/core/boards.h"
>-#include "qemu/typedefs.h"
> #include "system/confidential-guest-support.h"
> #include "qapi/error.h"
>
>+typedef struct QIgvm QIgvm;
>+
> int qigvm_process_file(IgvmCfg *igvm, MachineState *machine_state,
>                        bool onlyVpContext, Error **errp);
>
>-- 
>2.53.0

oops :) Thanks Paolo!

I wonder if we should move IgvmCfg as well?

Reviewed-by: Luigi Leonardi <leonardi@redhat.com>
Re: [PATCH] typedefs: move QIgvm out of typedefs.h
Posted by Paolo Bonzini 3 weeks, 6 days ago
> oops :) Thanks Paolo!
>
> I wonder if we should move IgvmCfg as well?

Yes, why not. target/i386/igvm.c does not include system/igvm-cfg.h so
one has to make some choices unlike for this patch. It's probably
easiest to just merge igvm-cfg.h and igvm.h into a single file.

Paolo

> Reviewed-by: Luigi Leonardi <leonardi@redhat.com>
>