Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/include/vmm_dev.h
Show First 20 Lines • Show All 140 Lines • ▼ Show 20 Lines | struct vm_pptdev_mmio { | ||||
int bus; | int bus; | ||||
int slot; | int slot; | ||||
int func; | int func; | ||||
vm_paddr_t gpa; | vm_paddr_t gpa; | ||||
vm_paddr_t hpa; | vm_paddr_t hpa; | ||||
size_t len; | size_t len; | ||||
}; | }; | ||||
struct vm_memory_region_info { | |||||
vm_paddr_t base; | |||||
vm_paddr_t size; | |||||
enum vm_memory_region_type type; | |||||
}; | |||||
#ifdef _KERNEL | |||||
extern vm_paddr_t intel_graphics_stolen_base; | |||||
extern vm_paddr_t intel_graphics_stolen_size; | |||||
#endif | |||||
struct vm_pptdev_msi { | struct vm_pptdev_msi { | ||||
int vcpu; | int vcpu; | ||||
int bus; | int bus; | ||||
int slot; | int slot; | ||||
int func; | int func; | ||||
int numvec; /* 0 means disabled */ | int numvec; /* 0 means disabled */ | ||||
uint64_t msg; | uint64_t msg; | ||||
uint64_t addr; | uint64_t addr; | ||||
▲ Show 20 Lines • Show All 147 Lines • ▼ Show 20 Lines | enum { | ||||
/* PCI pass-thru */ | /* PCI pass-thru */ | ||||
IOCNUM_BIND_PPTDEV = 40, | IOCNUM_BIND_PPTDEV = 40, | ||||
IOCNUM_UNBIND_PPTDEV = 41, | IOCNUM_UNBIND_PPTDEV = 41, | ||||
IOCNUM_MAP_PPTDEV_MMIO = 42, | IOCNUM_MAP_PPTDEV_MMIO = 42, | ||||
IOCNUM_PPTDEV_MSI = 43, | IOCNUM_PPTDEV_MSI = 43, | ||||
IOCNUM_PPTDEV_MSIX = 44, | IOCNUM_PPTDEV_MSIX = 44, | ||||
IOCNUM_PPTDEV_DISABLE_MSIX = 45, | IOCNUM_PPTDEV_DISABLE_MSIX = 45, | ||||
IOCNUM_UNMAP_PPTDEV_MMIO = 46, | IOCNUM_UNMAP_PPTDEV_MMIO = 46, | ||||
IOCNUM_GET_MEMORY_REGION_INFO = 47, | |||||
/* statistics */ | /* statistics */ | ||||
IOCNUM_VM_STATS = 50, | IOCNUM_VM_STATS = 50, | ||||
IOCNUM_VM_STAT_DESC = 51, | IOCNUM_VM_STAT_DESC = 51, | ||||
/* kernel device state */ | /* kernel device state */ | ||||
IOCNUM_SET_X2APIC_STATE = 60, | IOCNUM_SET_X2APIC_STATE = 60, | ||||
IOCNUM_GET_X2APIC_STATE = 61, | IOCNUM_GET_X2APIC_STATE = 61, | ||||
▲ Show 20 Lines • Show All 102 Lines • ▼ Show 20 Lines | |||||
#define VM_PPTDEV_MSI \ | #define VM_PPTDEV_MSI \ | ||||
_IOW('v', IOCNUM_PPTDEV_MSI, struct vm_pptdev_msi) | _IOW('v', IOCNUM_PPTDEV_MSI, struct vm_pptdev_msi) | ||||
#define VM_PPTDEV_MSIX \ | #define VM_PPTDEV_MSIX \ | ||||
_IOW('v', IOCNUM_PPTDEV_MSIX, struct vm_pptdev_msix) | _IOW('v', IOCNUM_PPTDEV_MSIX, struct vm_pptdev_msix) | ||||
#define VM_PPTDEV_DISABLE_MSIX \ | #define VM_PPTDEV_DISABLE_MSIX \ | ||||
_IOW('v', IOCNUM_PPTDEV_DISABLE_MSIX, struct vm_pptdev) | _IOW('v', IOCNUM_PPTDEV_DISABLE_MSIX, struct vm_pptdev) | ||||
#define VM_UNMAP_PPTDEV_MMIO \ | #define VM_UNMAP_PPTDEV_MMIO \ | ||||
_IOW('v', IOCNUM_UNMAP_PPTDEV_MMIO, struct vm_pptdev_mmio) | _IOW('v', IOCNUM_UNMAP_PPTDEV_MMIO, struct vm_pptdev_mmio) | ||||
#define VM_GET_MEMORY_REGION_INFO \ | |||||
_IOWR('v', IOCNUM_GET_MEMORY_REGION_INFO, struct vm_memory_region_info) | |||||
#define VM_INJECT_NMI \ | #define VM_INJECT_NMI \ | ||||
_IOW('v', IOCNUM_INJECT_NMI, struct vm_nmi) | _IOW('v', IOCNUM_INJECT_NMI, struct vm_nmi) | ||||
#define VM_STATS \ | #define VM_STATS \ | ||||
_IOWR('v', IOCNUM_VM_STATS, struct vm_stats) | _IOWR('v', IOCNUM_VM_STATS, struct vm_stats) | ||||
#define VM_STAT_DESC \ | #define VM_STAT_DESC \ | ||||
_IOWR('v', IOCNUM_VM_STAT_DESC, struct vm_stat_desc) | _IOWR('v', IOCNUM_VM_STAT_DESC, struct vm_stat_desc) | ||||
#define VM_SET_X2APIC_STATE \ | #define VM_SET_X2APIC_STATE \ | ||||
_IOW('v', IOCNUM_SET_X2APIC_STATE, struct vm_x2apic) | _IOW('v', IOCNUM_SET_X2APIC_STATE, struct vm_x2apic) | ||||
▲ Show 20 Lines • Show All 41 Lines • Show Last 20 Lines |