vmm_dev.h (256072) | vmm_dev.h (258075) |
---|---|
1/*- 2 * Copyright (c) 2011 NetApp, Inc. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * | 1/*- 2 * Copyright (c) 2011 NetApp, Inc. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * |
26 * $FreeBSD: head/sys/amd64/include/vmm_dev.h 256072 2013-10-05 21:22:35Z neel $ | 26 * $FreeBSD: head/sys/amd64/include/vmm_dev.h 258075 2013-11-12 22:51:03Z neel $ |
27 */ 28 29#ifndef _VMM_DEV_H_ 30#define _VMM_DEV_H_ 31 32#ifdef _KERNEL 33void vmmdev_init(void); 34int vmmdev_cleanup(void); --- 31 unchanged lines hidden (view full) --- 66 int error_code_valid; 67}; 68 69struct vm_lapic_irq { 70 int cpuid; 71 int vector; 72}; 73 | 27 */ 28 29#ifndef _VMM_DEV_H_ 30#define _VMM_DEV_H_ 31 32#ifdef _KERNEL 33void vmmdev_init(void); 34int vmmdev_cleanup(void); --- 31 unchanged lines hidden (view full) --- 66 int error_code_valid; 67}; 68 69struct vm_lapic_irq { 70 int cpuid; 71 int vector; 72}; 73 |
74struct vm_ioapic_irq { 75 int irq; 76}; 77 |
|
74struct vm_capability { 75 int cpuid; 76 enum vm_cap_type captype; 77 int capval; 78 int allcpus; 79}; 80 81struct vm_pptdev { --- 77 unchanged lines hidden (view full) --- 159 IOCNUM_GET_REGISTER = 21, 160 IOCNUM_SET_SEGMENT_DESCRIPTOR = 22, 161 IOCNUM_GET_SEGMENT_DESCRIPTOR = 23, 162 163 /* interrupt injection */ 164 IOCNUM_INJECT_EVENT = 30, 165 IOCNUM_LAPIC_IRQ = 31, 166 IOCNUM_INJECT_NMI = 32, | 78struct vm_capability { 79 int cpuid; 80 enum vm_cap_type captype; 81 int capval; 82 int allcpus; 83}; 84 85struct vm_pptdev { --- 77 unchanged lines hidden (view full) --- 163 IOCNUM_GET_REGISTER = 21, 164 IOCNUM_SET_SEGMENT_DESCRIPTOR = 22, 165 IOCNUM_GET_SEGMENT_DESCRIPTOR = 23, 166 167 /* interrupt injection */ 168 IOCNUM_INJECT_EVENT = 30, 169 IOCNUM_LAPIC_IRQ = 31, 170 IOCNUM_INJECT_NMI = 32, |
171 IOCNUM_IOAPIC_ASSERT_IRQ = 33, 172 IOCNUM_IOAPIC_DEASSERT_IRQ = 34, |
|
167 168 /* PCI pass-thru */ 169 IOCNUM_BIND_PPTDEV = 40, 170 IOCNUM_UNBIND_PPTDEV = 41, 171 IOCNUM_MAP_PPTDEV_MMIO = 42, 172 IOCNUM_PPTDEV_MSI = 43, 173 IOCNUM_PPTDEV_MSIX = 44, 174 --- 19 unchanged lines hidden (view full) --- 194#define VM_SET_SEGMENT_DESCRIPTOR \ 195 _IOW('v', IOCNUM_SET_SEGMENT_DESCRIPTOR, struct vm_seg_desc) 196#define VM_GET_SEGMENT_DESCRIPTOR \ 197 _IOWR('v', IOCNUM_GET_SEGMENT_DESCRIPTOR, struct vm_seg_desc) 198#define VM_INJECT_EVENT \ 199 _IOW('v', IOCNUM_INJECT_EVENT, struct vm_event) 200#define VM_LAPIC_IRQ \ 201 _IOW('v', IOCNUM_LAPIC_IRQ, struct vm_lapic_irq) | 173 174 /* PCI pass-thru */ 175 IOCNUM_BIND_PPTDEV = 40, 176 IOCNUM_UNBIND_PPTDEV = 41, 177 IOCNUM_MAP_PPTDEV_MMIO = 42, 178 IOCNUM_PPTDEV_MSI = 43, 179 IOCNUM_PPTDEV_MSIX = 44, 180 --- 19 unchanged lines hidden (view full) --- 200#define VM_SET_SEGMENT_DESCRIPTOR \ 201 _IOW('v', IOCNUM_SET_SEGMENT_DESCRIPTOR, struct vm_seg_desc) 202#define VM_GET_SEGMENT_DESCRIPTOR \ 203 _IOWR('v', IOCNUM_GET_SEGMENT_DESCRIPTOR, struct vm_seg_desc) 204#define VM_INJECT_EVENT \ 205 _IOW('v', IOCNUM_INJECT_EVENT, struct vm_event) 206#define VM_LAPIC_IRQ \ 207 _IOW('v', IOCNUM_LAPIC_IRQ, struct vm_lapic_irq) |
208#define VM_IOAPIC_ASSERT_IRQ \ 209 _IOW('v', IOCNUM_IOAPIC_ASSERT_IRQ, struct vm_ioapic_irq) 210#define VM_IOAPIC_DEASSERT_IRQ \ 211 _IOW('v', IOCNUM_IOAPIC_DEASSERT_IRQ, struct vm_ioapic_irq) |
|
202#define VM_SET_CAPABILITY \ 203 _IOW('v', IOCNUM_SET_CAPABILITY, struct vm_capability) 204#define VM_GET_CAPABILITY \ 205 _IOWR('v', IOCNUM_GET_CAPABILITY, struct vm_capability) 206#define VM_BIND_PPTDEV \ 207 _IOW('v', IOCNUM_BIND_PPTDEV, struct vm_pptdev) 208#define VM_UNBIND_PPTDEV \ 209 _IOW('v', IOCNUM_UNBIND_PPTDEV, struct vm_pptdev) --- 19 unchanged lines hidden --- | 212#define VM_SET_CAPABILITY \ 213 _IOW('v', IOCNUM_SET_CAPABILITY, struct vm_capability) 214#define VM_GET_CAPABILITY \ 215 _IOWR('v', IOCNUM_GET_CAPABILITY, struct vm_capability) 216#define VM_BIND_PPTDEV \ 217 _IOW('v', IOCNUM_BIND_PPTDEV, struct vm_pptdev) 218#define VM_UNBIND_PPTDEV \ 219 _IOW('v', IOCNUM_UNBIND_PPTDEV, struct vm_pptdev) --- 19 unchanged lines hidden --- |