`stubs/igvm.c` includes `igvm-internal.h`, that in turn includes the igvm library.
This is required just for the QIgvm declaration and creates an
unnecessary dependency on the library.
Since igvm is not listed as a dependency of stubs, this results in build
failing when the library is not installed in a "well known" path of the
system.
Add a forward declaration for QIgvm and move the definition of
`qigvm_directive_madt` to `igvm.h` so that we can drop `igvm-internal.h` from
`stubs/igvm.c`.
Fixes: dea1f68a5c ("igvm: Fill MADT IGVM parameter field on x86_64")
Suggested-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Luigi Leonardi <leonardi@redhat.com>
Message-ID: <20260309-master-v2-1-7e02f07a1096@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
36 lines
912 B
C
36 lines
912 B
C
/*
|
|
* QEMU IGVM configuration backend for Confidential Guests
|
|
*
|
|
* Copyright (C) 2023-2024 SUSE
|
|
*
|
|
* Authors:
|
|
* Roy Hopkins <roy.hopkins@randomman.co.uk>
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
*/
|
|
|
|
#ifndef BACKENDS_IGVM_H
|
|
#define BACKENDS_IGVM_H
|
|
|
|
#include "hw/core/boards.h"
|
|
#include "qemu/typedefs.h"
|
|
#include "system/confidential-guest-support.h"
|
|
#include "qapi/error.h"
|
|
|
|
int qigvm_process_file(IgvmCfg *igvm, MachineState *machine_state,
|
|
bool onlyVpContext, Error **errp);
|
|
|
|
/* x86 native */
|
|
int qigvm_x86_get_mem_map_entry(int index,
|
|
ConfidentialGuestMemoryMapEntry *entry,
|
|
Error **errp);
|
|
int qigvm_x86_set_vp_context(void *data, int index,
|
|
Error **errp);
|
|
|
|
/*
|
|
* IGVM parameter handlers
|
|
*/
|
|
int qigvm_directive_madt(QIgvm *ctx, const uint8_t *header_data, Error **errp);
|
|
|
|
#endif
|