1 /* 2 * VFIO CPR 3 * 4 * Copyright (c) 2025 Oracle and/or its affiliates. 5 * 6 * SPDX-License-Identifier: GPL-2.0-or-later 7 */ 8 9 #ifndef HW_VFIO_VFIO_CPR_H 10 #define HW_VFIO_VFIO_CPR_H 11 12 #include "migration/misc.h" 13 14 struct VFIOContainer; 15 struct VFIOContainerBase; 16 struct VFIOGroup; 17 18 typedef struct VFIOContainerCPR { 19 Error *blocker; 20 } VFIOContainerCPR; 21 22 23 bool vfio_legacy_cpr_register_container(struct VFIOContainer *container, 24 Error **errp); 25 void vfio_legacy_cpr_unregister_container(struct VFIOContainer *container); 26 27 int vfio_cpr_reboot_notifier(NotifierWithReturn *notifier, MigrationEvent *e, 28 Error **errp); 29 30 bool vfio_cpr_register_container(struct VFIOContainerBase *bcontainer, 31 Error **errp); 32 void vfio_cpr_unregister_container(struct VFIOContainerBase *bcontainer); 33 34 int vfio_cpr_group_get_device_fd(int d, const char *name); 35 36 bool vfio_cpr_container_match(struct VFIOContainer *container, 37 struct VFIOGroup *group, int fd); 38 39 #endif /* HW_VFIO_VFIO_CPR_H */ 40