Deleted Added
full compact
vmm_dev.h (245678) vmm_dev.h (246686)
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 245678 2013-01-20 03:42:49Z neel $
26 * $FreeBSD: head/sys/amd64/include/vmm_dev.h 246686 2013-02-11 20:36:07Z 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);

--- 11 unchanged lines hidden (view full) ---

46};
47
48struct vm_seg_desc { /* data or code segment */
49 int cpuid;
50 int regnum; /* enum vm_reg_name */
51 struct seg_desc desc;
52};
53
27 */
28
29#ifndef _VMM_DEV_H_
30#define _VMM_DEV_H_
31
32#ifdef _KERNEL
33void vmmdev_init(void);
34int vmmdev_cleanup(void);

--- 11 unchanged lines hidden (view full) ---

46};
47
48struct vm_seg_desc { /* data or code segment */
49 int cpuid;
50 int regnum; /* enum vm_reg_name */
51 struct seg_desc desc;
52};
53
54struct vm_pin {
55 int vm_cpuid;
56 int host_cpuid; /* -1 to unpin */
57};
58
59struct vm_run {
60 int cpuid;
61 uint64_t rip; /* start running here */
62 struct vm_exit vm_exit;
63};
64
65struct vm_event {
66 int cpuid;

--- 70 unchanged lines hidden (view full) ---

137
138struct vm_x2apic {
139 int cpuid;
140 enum x2apic_state state;
141};
142
143enum {
144 IOCNUM_RUN,
54struct vm_run {
55 int cpuid;
56 uint64_t rip; /* start running here */
57 struct vm_exit vm_exit;
58};
59
60struct vm_event {
61 int cpuid;

--- 70 unchanged lines hidden (view full) ---

132
133struct vm_x2apic {
134 int cpuid;
135 enum x2apic_state state;
136};
137
138enum {
139 IOCNUM_RUN,
145 IOCNUM_SET_PINNING,
146 IOCNUM_GET_PINNING,
147 IOCNUM_MAP_MEMORY,
148 IOCNUM_GET_MEMORY_SEG,
149 IOCNUM_SET_REGISTER,
150 IOCNUM_GET_REGISTER,
151 IOCNUM_SET_SEGMENT_DESCRIPTOR,
152 IOCNUM_GET_SEGMENT_DESCRIPTOR,
153 IOCNUM_INJECT_EVENT,
154 IOCNUM_LAPIC_IRQ,

--- 8 unchanged lines hidden (view full) ---

163 IOCNUM_VM_STATS,
164 IOCNUM_VM_STAT_DESC,
165 IOCNUM_SET_X2APIC_STATE,
166 IOCNUM_GET_X2APIC_STATE,
167};
168
169#define VM_RUN \
170 _IOWR('v', IOCNUM_RUN, struct vm_run)
140 IOCNUM_MAP_MEMORY,
141 IOCNUM_GET_MEMORY_SEG,
142 IOCNUM_SET_REGISTER,
143 IOCNUM_GET_REGISTER,
144 IOCNUM_SET_SEGMENT_DESCRIPTOR,
145 IOCNUM_GET_SEGMENT_DESCRIPTOR,
146 IOCNUM_INJECT_EVENT,
147 IOCNUM_LAPIC_IRQ,

--- 8 unchanged lines hidden (view full) ---

156 IOCNUM_VM_STATS,
157 IOCNUM_VM_STAT_DESC,
158 IOCNUM_SET_X2APIC_STATE,
159 IOCNUM_GET_X2APIC_STATE,
160};
161
162#define VM_RUN \
163 _IOWR('v', IOCNUM_RUN, struct vm_run)
171#define VM_SET_PINNING \
172 _IOW('v', IOCNUM_SET_PINNING, struct vm_pin)
173#define VM_GET_PINNING \
174 _IOWR('v', IOCNUM_GET_PINNING, struct vm_pin)
175#define VM_MAP_MEMORY \
176 _IOWR('v', IOCNUM_MAP_MEMORY, struct vm_memory_segment)
177#define VM_GET_MEMORY_SEG \
178 _IOWR('v', IOCNUM_GET_MEMORY_SEG, struct vm_memory_segment)
179#define VM_SET_REGISTER \
180 _IOW('v', IOCNUM_SET_REGISTER, struct vm_register)
181#define VM_GET_REGISTER \
182 _IOWR('v', IOCNUM_GET_REGISTER, struct vm_register)

--- 33 unchanged lines hidden ---
164#define VM_MAP_MEMORY \
165 _IOWR('v', IOCNUM_MAP_MEMORY, struct vm_memory_segment)
166#define VM_GET_MEMORY_SEG \
167 _IOWR('v', IOCNUM_GET_MEMORY_SEG, struct vm_memory_segment)
168#define VM_SET_REGISTER \
169 _IOW('v', IOCNUM_SET_REGISTER, struct vm_register)
170#define VM_GET_REGISTER \
171 _IOWR('v', IOCNUM_GET_REGISTER, struct vm_register)

--- 33 unchanged lines hidden ---