Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/include/vmm_dev.h
Show First 20 Lines • Show All 135 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_vbios { | |||||
int bus; | |||||
int slot; | |||||
int func; | |||||
uint16_t vendor; | |||||
uint16_t dev_id; | |||||
uint64_t bios; | |||||
uint64_t size; | |||||
}; | |||||
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 145 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_UNMAP_PPTDEV_MMIO = 45, | IOCNUM_UNMAP_PPTDEV_MMIO = 45, | ||||
IOCNUM_PPTDEV_MSI = 43, | IOCNUM_PPTDEV_MSI = 43, | ||||
IOCNUM_PPTDEV_MSIX = 44, | IOCNUM_PPTDEV_MSIX = 44, | ||||
IOCNUM_GET_VBIOS = 46, | |||||
/* 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 94 Lines • ▼ Show 20 Lines | |||||
#define VM_BIND_PPTDEV \ | #define VM_BIND_PPTDEV \ | ||||
_IOW('v', IOCNUM_BIND_PPTDEV, struct vm_pptdev) | _IOW('v', IOCNUM_BIND_PPTDEV, struct vm_pptdev) | ||||
#define VM_UNBIND_PPTDEV \ | #define VM_UNBIND_PPTDEV \ | ||||
_IOW('v', IOCNUM_UNBIND_PPTDEV, struct vm_pptdev) | _IOW('v', IOCNUM_UNBIND_PPTDEV, struct vm_pptdev) | ||||
#define VM_MAP_PPTDEV_MMIO \ | #define VM_MAP_PPTDEV_MMIO \ | ||||
_IOW('v', IOCNUM_MAP_PPTDEV_MMIO, struct vm_pptdev_mmio) | _IOW('v', IOCNUM_MAP_PPTDEV_MMIO, struct vm_pptdev_mmio) | ||||
#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_VBIOS \ | |||||
_IOWR('v', IOCNUM_GET_VBIOS, struct vm_vbios) | |||||
#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_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) | ||||
▲ Show 20 Lines • Show All 45 Lines • Show Last 20 Lines |