xref: /openbmc/qemu/include/hw/vfio/vfio-cpr.h (revision 54857b08168a0a74711d1f773c16a7122499027b)
13ed34463SSteve Sistare /*
23ed34463SSteve Sistare  * VFIO CPR
33ed34463SSteve Sistare  *
43ed34463SSteve Sistare  * Copyright (c) 2025 Oracle and/or its affiliates.
53ed34463SSteve Sistare  *
63ed34463SSteve Sistare  * SPDX-License-Identifier: GPL-2.0-or-later
73ed34463SSteve Sistare  */
83ed34463SSteve Sistare 
93ed34463SSteve Sistare #ifndef HW_VFIO_VFIO_CPR_H
103ed34463SSteve Sistare #define HW_VFIO_VFIO_CPR_H
113ed34463SSteve Sistare 
12*54857b08SSteve Sistare #include "migration/misc.h"
13*54857b08SSteve Sistare 
14*54857b08SSteve Sistare struct VFIOContainer;
153ed34463SSteve Sistare struct VFIOContainerBase;
163ed34463SSteve Sistare 
17*54857b08SSteve Sistare typedef struct VFIOContainerCPR {
18*54857b08SSteve Sistare     Error *blocker;
19*54857b08SSteve Sistare } VFIOContainerCPR;
20*54857b08SSteve Sistare 
21*54857b08SSteve Sistare 
22*54857b08SSteve Sistare bool vfio_legacy_cpr_register_container(struct VFIOContainer *container,
23*54857b08SSteve Sistare                                         Error **errp);
24*54857b08SSteve Sistare void vfio_legacy_cpr_unregister_container(struct VFIOContainer *container);
25*54857b08SSteve Sistare 
26*54857b08SSteve Sistare int vfio_cpr_reboot_notifier(NotifierWithReturn *notifier, MigrationEvent *e,
27*54857b08SSteve Sistare                              Error **errp);
28*54857b08SSteve Sistare 
293ed34463SSteve Sistare bool vfio_cpr_register_container(struct VFIOContainerBase *bcontainer,
303ed34463SSteve Sistare                                  Error **errp);
313ed34463SSteve Sistare void vfio_cpr_unregister_container(struct VFIOContainerBase *bcontainer);
323ed34463SSteve Sistare 
333ed34463SSteve Sistare #endif /* HW_VFIO_VFIO_CPR_H */
34