mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
ppc/pef: switch to use confidential_guest_kvm_init/reset()
Use the unified interface to call confidential guest related kvm_init() and kvm_reset(), to avoid exposing pef specific functions. As a bonus, pef.h goes away since there is no direct call from sPAPR board code to PEF code anymore. Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
637c95b37b
commit
00a238b1a8
3 changed files with 13 additions and 23 deletions
|
@ -15,7 +15,6 @@
|
|||
#include "sysemu/kvm.h"
|
||||
#include "migration/blocker.h"
|
||||
#include "exec/confidential-guest-support.h"
|
||||
#include "hw/ppc/pef.h"
|
||||
|
||||
#define TYPE_PEF_GUEST "pef-guest"
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(PefGuest, PEF_GUEST)
|
||||
|
@ -93,7 +92,7 @@ static int kvmppc_svm_off(Error **errp)
|
|||
#endif
|
||||
}
|
||||
|
||||
int pef_kvm_init(ConfidentialGuestSupport *cgs, Error **errp)
|
||||
static int pef_kvm_init(ConfidentialGuestSupport *cgs, Error **errp)
|
||||
{
|
||||
if (!object_dynamic_cast(OBJECT(cgs), TYPE_PEF_GUEST)) {
|
||||
return 0;
|
||||
|
@ -107,7 +106,7 @@ int pef_kvm_init(ConfidentialGuestSupport *cgs, Error **errp)
|
|||
return kvmppc_svm_init(cgs, errp);
|
||||
}
|
||||
|
||||
int pef_kvm_reset(ConfidentialGuestSupport *cgs, Error **errp)
|
||||
static int pef_kvm_reset(ConfidentialGuestSupport *cgs, Error **errp)
|
||||
{
|
||||
if (!object_dynamic_cast(OBJECT(cgs), TYPE_PEF_GUEST)) {
|
||||
return 0;
|
||||
|
@ -131,6 +130,10 @@ OBJECT_DEFINE_TYPE_WITH_INTERFACES(PefGuest,
|
|||
|
||||
static void pef_guest_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
ConfidentialGuestSupportClass *klass = CONFIDENTIAL_GUEST_SUPPORT_CLASS(oc);
|
||||
|
||||
klass->kvm_init = pef_kvm_init;
|
||||
klass->kvm_reset = pef_kvm_reset;
|
||||
}
|
||||
|
||||
static void pef_guest_init(Object *obj)
|
||||
|
|
|
@ -75,6 +75,7 @@
|
|||
#include "hw/virtio/vhost-scsi-common.h"
|
||||
|
||||
#include "exec/ram_addr.h"
|
||||
#include "exec/confidential-guest-support.h"
|
||||
#include "hw/usb.h"
|
||||
#include "qemu/config-file.h"
|
||||
#include "qemu/error-report.h"
|
||||
|
@ -87,7 +88,6 @@
|
|||
#include "hw/ppc/spapr_tpm_proxy.h"
|
||||
#include "hw/ppc/spapr_nvdimm.h"
|
||||
#include "hw/ppc/spapr_numa.h"
|
||||
#include "hw/ppc/pef.h"
|
||||
|
||||
#include "monitor/monitor.h"
|
||||
|
||||
|
@ -1715,7 +1715,9 @@ static void spapr_machine_reset(MachineState *machine, ShutdownCause reason)
|
|||
qemu_guest_getrandom_nofail(spapr->fdt_rng_seed, 32);
|
||||
}
|
||||
|
||||
pef_kvm_reset(machine->cgs, &error_fatal);
|
||||
if (machine->cgs) {
|
||||
confidential_guest_kvm_reset(machine->cgs, &error_fatal);
|
||||
}
|
||||
spapr_caps_apply(spapr);
|
||||
spapr_nested_reset(spapr);
|
||||
|
||||
|
@ -2841,7 +2843,9 @@ static void spapr_machine_init(MachineState *machine)
|
|||
/*
|
||||
* if Secure VM (PEF) support is configured, then initialize it
|
||||
*/
|
||||
pef_kvm_init(machine->cgs, &error_fatal);
|
||||
if (machine->cgs) {
|
||||
confidential_guest_kvm_init(machine->cgs, &error_fatal);
|
||||
}
|
||||
|
||||
msi_nonbroken = true;
|
||||
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
/*
|
||||
* PEF (Protected Execution Facility) for POWER support
|
||||
*
|
||||
* Copyright Red Hat.
|
||||
*
|
||||
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
||||
* See the COPYING file in the top-level directory.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef HW_PPC_PEF_H
|
||||
#define HW_PPC_PEF_H
|
||||
|
||||
int pef_kvm_init(ConfidentialGuestSupport *cgs, Error **errp);
|
||||
int pef_kvm_reset(ConfidentialGuestSupport *cgs, Error **errp);
|
||||
|
||||
#endif /* HW_PPC_PEF_H */
|
Loading…
Reference in a new issue