Skip to content
This repository was archived by the owner on Jan 28, 2023. It is now read-only.

Commit b144c47

Browse files
committed
Unified IOCTL definitions
Signed-off-by: Alexandro Sanchez Bach <[email protected]>
1 parent 6cbfdc4 commit b144c47

File tree

9 files changed

+202
-135
lines changed

9 files changed

+202
-135
lines changed

include/darwin/hax_interface_mac.h

Lines changed: 15 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -33,42 +33,21 @@
3333

3434
#include <mach/mach_types.h>
3535

36-
/* The mac specific interface to qemu because of mac's
37-
* special handling like hax tunnel allocation etc */
38-
/* HAX model level ioctl */
39-
#define HAX_IOCTL_VERSION _IOWR(0, 0x20, struct hax_module_version)
40-
#define HAX_IOCTL_CREATE_VM _IOWR(0, 0x21, uint32_t)
41-
#define HAX_IOCTL_DESTROY_VM _IOW(0, 0x22, uint32_t)
42-
#define HAX_IOCTL_CAPABILITY _IOR(0, 0x23, struct hax_capabilityinfo)
43-
#define HAX_IOCTL_SET_MEMLIMIT _IOWR(0, 0x24, struct hax_set_memlimit)
44-
45-
// Only for backward compatibility with old Qemu.
46-
#define HAX_VM_IOCTL_VCPU_CREATE_ORIG _IOR(0, 0x80, int)
47-
48-
#define HAX_VM_IOCTL_VCPU_CREATE _IOWR(0, 0x80, uint32_t)
49-
#define HAX_VM_IOCTL_ALLOC_RAM _IOWR(0, 0x81, struct hax_alloc_ram_info)
50-
#define HAX_VM_IOCTL_SET_RAM _IOWR(0, 0x82, struct hax_set_ram_info)
51-
#define HAX_VM_IOCTL_VCPU_DESTROY _IOR(0, 0x83, uint32_t)
52-
#define HAX_VM_IOCTL_ADD_RAMBLOCK _IOW(0, 0x85, struct hax_ramblock_info)
53-
#define HAX_VM_IOCTL_SET_RAM2 _IOWR(0, 0x86, struct hax_set_ram_info2)
54-
#define HAX_VM_IOCTL_PROTECT_RAM _IOWR(0, 0x87, struct hax_protect_ram_info)
55-
56-
#define HAX_VCPU_IOCTL_RUN _IO(0, 0xc0)
57-
#define HAX_VCPU_IOCTL_SET_MSRS _IOWR(0, 0xc1, struct hax_msr_data)
58-
#define HAX_VCPU_IOCTL_GET_MSRS _IOWR(0, 0xc2, struct hax_msr_data)
59-
60-
#define HAX_VCPU_IOCTL_SET_FPU _IOW(0, 0xc3, struct fx_layout)
61-
#define HAX_VCPU_IOCTL_GET_FPU _IOR(0, 0xc4, struct fx_layout)
62-
63-
#define HAX_VCPU_IOCTL_SETUP_TUNNEL _IOWR(0, 0xc5, struct hax_tunnel_info)
64-
#define HAX_VCPU_IOCTL_INTERRUPT _IOWR(0, 0xc6, uint32_t)
65-
#define HAX_VCPU_IOCTL_SET_REGS _IOWR(0, 0xc7, struct vcpu_state_t)
66-
#define HAX_VCPU_IOCTL_GET_REGS _IOWR(0, 0xc8, struct vcpu_state_t)
67-
68-
/* API 2.0 */
69-
#define HAX_VM_IOCTL_NOTIFY_QEMU_VERSION _IOW(0, 0x84, struct hax_qemu_version)
70-
71-
#define HAX_VCPU_IOCTL_DEBUG _IOW(0, 0xc9, struct hax_debug_t)
36+
#define HAX_IOCTL_GROUP 'H'
37+
38+
#define HAX_IOCTL_HAX_IO(code, type) \
39+
_IO(HAX_IOCTL_GROUP, code)
40+
#define HAX_IOCTL_HAX_IOR(code, type) \
41+
_IOR(HAX_IOCTL_GROUP, code, type)
42+
#define HAX_IOCTL_HAX_IOW(code, type) \
43+
_IOW(HAX_IOCTL_GROUP, code, type)
44+
#define HAX_IOCTL_HAX_IOWR(code, type) \
45+
_IOWR(HAX_IOCTL_GROUP, code, type)
46+
47+
#define HAX_LEGACY_IOCTL(access, code_posix, code_windows, type) \
48+
HAX_IOCTL_##access(code_posix, type)
49+
#define HAX_IOCTL(access, code, type) \
50+
HAX_IOCTL_##access(code, type)
7251

7352
#define HAX_KERNEL64_CS 0x80
7453
#define HAX_KERNEL32_CS 0x08

include/hax_interface.h

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,106 @@
4949
#include "windows/hax_interface_windows.h"
5050
#endif
5151

52+
/* Legacy API */
53+
#define HAX_IOCTL_VERSION__LEGACY \
54+
HAX_LEGACY_IOCTL(HAX_IOWR, 0x20, 0x900, struct hax_module_version)
55+
#define HAX_IOCTL_CREATE_VM__LEGACY \
56+
HAX_LEGACY_IOCTL(HAX_IOWR, 0x21, 0x901, uint32_t)
57+
#define HAX_IOCTL_DESTROY_VM__LEGACY \
58+
HAX_LEGACY_IOCTL(HAX_IOW, 0x22, 0x902, uint32_t)
59+
#define HAX_IOCTL_CAPABILITY__LEGACY \
60+
HAX_LEGACY_IOCTL(HAX_IOR, 0x23, 0x910, struct hax_capabilityinfo)
61+
#define HAX_IOCTL_SET_MEMLIMIT__LEGACY \
62+
HAX_LEGACY_IOCTL(HAX_IOWR, 0x24, 0x911, struct hax_set_memlimit)
63+
64+
#define HAX_VM_IOCTL_VCPU_CREATE__LEGACY \
65+
HAX_LEGACY_IOCTL(HAX_IOWR, 0x80, 0x902, uint32_t)
66+
#define HAX_VM_IOCTL_ALLOC_RAM__LEGACY \
67+
HAX_LEGACY_IOCTL(HAX_IOWR, 0x81, 0x903, struct hax_alloc_ram_info)
68+
#define HAX_VM_IOCTL_SET_RAM__LEGACY \
69+
HAX_LEGACY_IOCTL(HAX_IOWR, 0x82, 0x904, struct hax_set_ram_info)
70+
#define HAX_VM_IOCTL_VCPU_DESTROY__LEGACY \
71+
HAX_LEGACY_IOCTL(HAX_IOR, 0x83, 0x905, uint32_t)
72+
#define HAX_VM_IOCTL_ADD_RAMBLOCK__LEGACY \
73+
HAX_LEGACY_IOCTL(HAX_IOW, 0x85, 0x913, struct hax_ramblock_info)
74+
#define HAX_VM_IOCTL_SET_RAM2__LEGACY \
75+
HAX_LEGACY_IOCTL(HAX_IOWR, 0x86, 0x914, struct hax_set_ram_info2)
76+
#define HAX_VM_IOCTL_PROTECT_RAM__LEGACY \
77+
HAX_LEGACY_IOCTL(HAX_IOWR, 0x87, 0x915, struct hax_protect_ram_info)
78+
79+
#define HAX_VCPU_IOCTL_RUN__LEGACY \
80+
HAX_LEGACY_IOCTL(HAX_IO, 0xc0, 0x906, HAX_UNUSED)
81+
#define HAX_VCPU_IOCTL_SETUP_TUNNEL__LEGACY \
82+
HAX_LEGACY_IOCTL(HAX_IOWR, 0xc5, 0x90b, struct hax_tunnel_info)
83+
#define HAX_VCPU_IOCTL_GET_REGS__LEGACY \
84+
HAX_LEGACY_IOCTL(HAX_IOWR, 0xc8, 0x90e, struct vcpu_state_t)
85+
#define HAX_VCPU_IOCTL_SET_REGS__LEGACY \
86+
HAX_LEGACY_IOCTL(HAX_IOWR, 0xc7, 0x90d, struct vcpu_state_t)
87+
#define HAX_VCPU_IOCTL_GET_FPU__LEGACY \
88+
HAX_LEGACY_IOCTL(HAX_IOR, 0xc4, 0x90a, struct fx_layout)
89+
#define HAX_VCPU_IOCTL_SET_FPU__LEGACY \
90+
HAX_LEGACY_IOCTL(HAX_IOW, 0xc3, 0x909, struct fx_layout)
91+
#define HAX_VCPU_IOCTL_GET_MSRS__LEGACY \
92+
HAX_LEGACY_IOCTL(HAX_IOWR, 0xc2, 0x908, struct hax_msr_data)
93+
#define HAX_VCPU_IOCTL_SET_MSRS__LEGACY \
94+
HAX_LEGACY_IOCTL(HAX_IOWR, 0xc1, 0x907, struct hax_msr_data)
95+
#define HAX_VCPU_IOCTL_INTERRUPT__LEGACY \
96+
HAX_LEGACY_IOCTL(HAX_IOWR, 0xc6, 0x90c, uint32_t)
97+
98+
// API 2.0
99+
#define HAX_VM_IOCTL_NOTIFY_QEMU_VERSION__LEGACY \
100+
HAX_LEGACY_IOCTL(HAX_IOW, 0x84, 0x910, struct hax_qemu_version)
101+
#define HAX_VCPU_IOCTL_DEBUG__LEGACY \
102+
HAX_LEGACY_IOCTL(HAX_IOW, 0xc9, 0x916, struct hax_debug_t)
103+
104+
/* Current API */
105+
#define HAX_IOCTL_VERSION \
106+
HAX_IOCTL(HAX_IOWR, 0x00, struct hax_module_version)
107+
#define HAX_IOCTL_CREATE_VM \
108+
HAX_IOCTL(HAX_IOWR, 0x01, uint32_t)
109+
#define HAX_IOCTL_DESTROY_VM \
110+
HAX_IOCTL(HAX_IOW, 0x02, uint32_t)
111+
#define HAX_IOCTL_CAPABILITY \
112+
HAX_IOCTL(HAX_IOR, 0x03, struct hax_capabilityinfo)
113+
#define HAX_IOCTL_SET_MEMLIMIT \
114+
HAX_IOCTL(HAX_IOWR, 0x04, struct hax_set_memlimit)
115+
116+
#define HAX_VM_IOCTL_VCPU_CREATE \
117+
HAX_IOCTL(HAX_IOWR, 0x00, uint32_t)
118+
#define HAX_VM_IOCTL_ALLOC_RAM \
119+
HAX_IOCTL(HAX_IOWR, 0x01, struct hax_alloc_ram_info)
120+
#define HAX_VM_IOCTL_SET_RAM \
121+
HAX_IOCTL(HAX_IOWR, 0x02, struct hax_set_ram_info)
122+
#define HAX_VM_IOCTL_VCPU_DESTROY \
123+
HAX_IOCTL(HAX_IOR, 0x03, uint32_t)
124+
#define HAX_VM_IOCTL_ADD_RAMBLOCK \
125+
HAX_IOCTL(HAX_IOW, 0x04, struct hax_ramblock_info)
126+
#define HAX_VM_IOCTL_SET_RAM2 \
127+
HAX_IOCTL(HAX_IOWR, 0x05, struct hax_set_ram_info2)
128+
#define HAX_VM_IOCTL_PROTECT_RAM \
129+
HAX_IOCTL(HAX_IOWR, 0x06, struct hax_protect_ram_info)
130+
131+
#define HAX_VCPU_IOCTL_RUN \
132+
HAX_IOCTL(HAX_IO, 0x00, HAX_UNUSED)
133+
#define HAX_VCPU_IOCTL_SETUP_TUNNEL \
134+
HAX_IOCTL(HAX_IOWR, 0x01, struct hax_tunnel_info)
135+
#define HAX_VCPU_IOCTL_GET_REGS \
136+
HAX_IOCTL(HAX_IOWR, 0x02, struct vcpu_state_t)
137+
#define HAX_VCPU_IOCTL_SET_REGS \
138+
HAX_IOCTL(HAX_IOWR, 0x03, struct vcpu_state_t)
139+
#define HAX_VCPU_IOCTL_GET_FPU \
140+
HAX_IOCTL(HAX_IOR, 0x04, struct fx_layout)
141+
#define HAX_VCPU_IOCTL_SET_FPU \
142+
HAX_IOCTL(HAX_IOW, 0x05, struct fx_layout)
143+
#define HAX_VCPU_IOCTL_GET_MSRS \
144+
HAX_IOCTL(HAX_IOWR, 0x06, struct hax_msr_data)
145+
#define HAX_VCPU_IOCTL_SET_MSRS \
146+
HAX_IOCTL(HAX_IOWR, 0x07, struct hax_msr_data)
147+
#define HAX_VCPU_IOCTL_INTERRUPT \
148+
HAX_IOCTL(HAX_IOWR, 0x08, uint32_t)
149+
#define HAX_VCPU_IOCTL_DEBUG \
150+
HAX_IOCTL(HAX_IOW, 0x09, struct hax_debug_t)
151+
52152
#include "vcpu_state.h"
53153

54154
struct vmx_msr {

include/linux/hax_interface_linux.h

Lines changed: 15 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -34,42 +34,21 @@
3434

3535
#include <asm/ioctl.h>
3636

37-
/* The mac specific interface to qemu because of mac's
38-
* special handling like hax tunnel allocation etc */
39-
/* HAX model level ioctl */
40-
#define HAX_IOCTL_VERSION _IOWR(0, 0x20, struct hax_module_version)
41-
#define HAX_IOCTL_CREATE_VM _IOWR(0, 0x21, uint32_t)
42-
#define HAX_IOCTL_DESTROY_VM _IOW(0, 0x22, uint32_t)
43-
#define HAX_IOCTL_CAPABILITY _IOR(0, 0x23, struct hax_capabilityinfo)
44-
#define HAX_IOCTL_SET_MEMLIMIT _IOWR(0, 0x24, struct hax_set_memlimit)
45-
46-
// Only for backward compatibility with old Qemu.
47-
#define HAX_VM_IOCTL_VCPU_CREATE_ORIG _IOR(0, 0x80, int)
48-
49-
#define HAX_VM_IOCTL_VCPU_CREATE _IOWR(0, 0x80, uint32_t)
50-
#define HAX_VM_IOCTL_ALLOC_RAM _IOWR(0, 0x81, struct hax_alloc_ram_info)
51-
#define HAX_VM_IOCTL_SET_RAM _IOWR(0, 0x82, struct hax_set_ram_info)
52-
#define HAX_VM_IOCTL_VCPU_DESTROY _IOR(0, 0x83, uint32_t)
53-
#define HAX_VM_IOCTL_ADD_RAMBLOCK _IOW(0, 0x85, struct hax_ramblock_info)
54-
#define HAX_VM_IOCTL_SET_RAM2 _IOWR(0, 0x86, struct hax_set_ram_info2)
55-
#define HAX_VM_IOCTL_PROTECT_RAM _IOWR(0, 0x87, struct hax_protect_ram_info)
56-
57-
#define HAX_VCPU_IOCTL_RUN _IO(0, 0xc0)
58-
#define HAX_VCPU_IOCTL_SET_MSRS _IOWR(0, 0xc1, struct hax_msr_data)
59-
#define HAX_VCPU_IOCTL_GET_MSRS _IOWR(0, 0xc2, struct hax_msr_data)
60-
61-
#define HAX_VCPU_IOCTL_SET_FPU _IOW(0, 0xc3, struct fx_layout)
62-
#define HAX_VCPU_IOCTL_GET_FPU _IOR(0, 0xc4, struct fx_layout)
63-
64-
#define HAX_VCPU_IOCTL_SETUP_TUNNEL _IOWR(0, 0xc5, struct hax_tunnel_info)
65-
#define HAX_VCPU_IOCTL_INTERRUPT _IOWR(0, 0xc6, uint32_t)
66-
#define HAX_VCPU_IOCTL_SET_REGS _IOWR(0, 0xc7, struct vcpu_state_t)
67-
#define HAX_VCPU_IOCTL_GET_REGS _IOWR(0, 0xc8, struct vcpu_state_t)
68-
69-
/* API 2.0 */
70-
#define HAX_VM_IOCTL_NOTIFY_QEMU_VERSION _IOW(0, 0x84, struct hax_qemu_version)
71-
72-
#define HAX_VCPU_IOCTL_DEBUG _IOW(0, 0xc9, struct hax_debug_t)
37+
#define HAX_DEVICE_TYPE 'H'
38+
39+
#define HAX_IOCTL_HAX_IO(code, type) \
40+
_IO(HAX_DEVICE_TYPE, code)
41+
#define HAX_IOCTL_HAX_IOR(code, type) \
42+
_IOR(HAX_DEVICE_TYPE, code, type)
43+
#define HAX_IOCTL_HAX_IOW(code, type) \
44+
_IOW(HAX_DEVICE_TYPE, code, type)
45+
#define HAX_IOCTL_HAX_IOWR(code, type) \
46+
_IOWR(HAX_DEVICE_TYPE, code, type)
47+
48+
#define HAX_LEGACY_IOCTL(access, code_posix, code_windows, type) \
49+
HAX_IOCTL_##access(code_posix, type)
50+
#define HAX_IOCTL(access, code, type) \
51+
HAX_IOCTL_##access(code, type)
7352

7453
#define HAX_KERNEL64_CS 0x80
7554
#define HAX_KERNEL32_CS 0x08

include/windows/hax_interface_windows.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,13 @@
3131
#ifndef HAX_WINDOWS_HAX_INTERFACE_WINDOWS_H_
3232
#define HAX_WINDOWS_HAX_INTERFACE_WINDOWS_H_
3333

34+
#define HAX_DEVICE_TYPE 0x8000
35+
36+
#define HAX_LEGACY_IOCTL(access, code_posix, code_windows, type) \
37+
CTL_CODE(0x4000, code, METHOD_BUFFERED, FILE_ANY_ACCESS)
38+
#define HAX_IOCTL(access, code, type) \
39+
CTL_CODE(HAX_DEVICE_TYPE, (0x800 | code), METHOD_BUFFERED, FILE_ANY_ACCESS)
40+
3441
/*
3542
* This is for MAC compatible mode, so should not be used
3643
* But how can we make sure it is really not used??

platforms/darwin/com_intel_hax_ui.c

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,10 +140,12 @@ static int hax_vcpu_ioctl(dev_t dev, ulong cmd, caddr_t data, int flag,
140140
}
141141

142142
switch (cmd) {
143+
case HAX_VCPU_IOCTL_RUN__LEGACY:
143144
case HAX_VCPU_IOCTL_RUN: {
144145
ret = vcpu_execute(cvcpu);
145146
break;
146147
}
148+
case HAX_VCPU_IOCTL_SETUP_TUNNEL__LEGACY:
147149
case HAX_VCPU_IOCTL_SETUP_TUNNEL: {
148150
struct hax_tunnel_info info, *uinfo;
149151
uinfo = (struct hax_tunnel_info *)data;
@@ -153,6 +155,7 @@ static int hax_vcpu_ioctl(dev_t dev, ulong cmd, caddr_t data, int flag,
153155
uinfo->size = info.size;
154156
break;
155157
}
158+
case HAX_VCPU_IOCTL_SET_MSRS__LEGACY:
156159
case HAX_VCPU_IOCTL_SET_MSRS: {
157160
struct hax_msr_data *msrs;
158161
struct vmx_msr *msr;
@@ -177,6 +180,7 @@ static int hax_vcpu_ioctl(dev_t dev, ulong cmd, caddr_t data, int flag,
177180
msrs->done = i;
178181
break;
179182
}
183+
case HAX_VCPU_IOCTL_GET_MSRS__LEGACY:
180184
case HAX_VCPU_IOCTL_GET_MSRS: {
181185
struct hax_msr_data *msrs;
182186
struct vmx_msr *msr;
@@ -199,36 +203,42 @@ static int hax_vcpu_ioctl(dev_t dev, ulong cmd, caddr_t data, int flag,
199203
msrs->done = i;
200204
break;
201205
}
206+
case HAX_VCPU_IOCTL_SET_FPU__LEGACY:
202207
case HAX_VCPU_IOCTL_SET_FPU: {
203208
struct fx_layout *fl;
204209
fl = (struct fx_layout *)data;
205210
ret = vcpu_put_fpu(mvcpu2cvcpu(vcpu), fl);
206211
break;
207212
}
213+
case HAX_VCPU_IOCTL_GET_FPU__LEGACY:
208214
case HAX_VCPU_IOCTL_GET_FPU: {
209215
struct fx_layout *fl;
210216
fl = (struct fx_layout *)data;
211217
ret = vcpu_get_fpu(mvcpu2cvcpu(vcpu), fl);
212218
break;
213219
}
220+
case HAX_VCPU_IOCTL_SET_REGS__LEGACY:
214221
case HAX_VCPU_IOCTL_SET_REGS: {
215222
struct vcpu_state_t *vc_state;
216223
vc_state = (struct vcpu_state_t *)data;
217224
ret = vcpu_set_regs(mvcpu2cvcpu(vcpu), vc_state);
218225
break;
219226
}
227+
case HAX_VCPU_IOCTL_GET_REGS__LEGACY:
220228
case HAX_VCPU_IOCTL_GET_REGS: {
221229
struct vcpu_state_t *vc_state;
222230
vc_state = (struct vcpu_state_t *)data;
223231
ret = vcpu_get_regs(mvcpu2cvcpu(vcpu), vc_state);
224232
break;
225233
}
234+
case HAX_VCPU_IOCTL_INTERRUPT__LEGACY:
226235
case HAX_VCPU_IOCTL_INTERRUPT: {
227236
uint8_t vector;
228237
vector = (uint8_t)(*(uint32_t *)data);
229238
vcpu_interrupt(mvcpu2cvcpu(vcpu), vector);
230239
break;
231240
}
241+
case HAX_VCPU_IOCTL_DEBUG__LEGACY:
232242
case HAX_VCPU_IOCTL_DEBUG: {
233243
struct hax_debug_t *hax_debug;
234244
hax_debug = (struct hax_debug_t *)data;
@@ -364,8 +374,8 @@ static int hax_vm_ioctl(dev_t dev, ulong cmd, caddr_t data, int flag,
364374
}
365375

366376
switch (cmd) {
367-
case HAX_VM_IOCTL_VCPU_CREATE:
368-
case HAX_VM_IOCTL_VCPU_CREATE_ORIG: {
377+
case HAX_VM_IOCTL_VCPU_CREATE__LEGACY:
378+
case HAX_VM_IOCTL_VCPU_CREATE: {
369379
uint32_t vcpu_id, vm_id;
370380
struct vcpu_t *cvcpu;
371381

@@ -381,6 +391,7 @@ static int hax_vm_ioctl(dev_t dev, ulong cmd, caddr_t data, int flag,
381391
}
382392
break;
383393
}
394+
case HAX_VM_IOCTL_ALLOC_RAM__LEGACY:
384395
case HAX_VM_IOCTL_ALLOC_RAM: {
385396
struct hax_alloc_ram_info *info;
386397
info = (struct hax_alloc_ram_info *)data;
@@ -390,6 +401,7 @@ static int hax_vm_ioctl(dev_t dev, ulong cmd, caddr_t data, int flag,
390401
ret = hax_vm_add_ramblock(cvm, info->va, info->size);
391402
break;
392403
}
404+
case HAX_VM_IOCTL_ADD_RAMBLOCK__LEGACY:
393405
case HAX_VM_IOCTL_ADD_RAMBLOCK: {
394406
struct hax_ramblock_info *info;
395407
info = (struct hax_ramblock_info *)data;
@@ -404,6 +416,7 @@ static int hax_vm_ioctl(dev_t dev, ulong cmd, caddr_t data, int flag,
404416
ret = hax_vm_add_ramblock(cvm, info->start_va, info->size);
405417
break;
406418
}
419+
case HAX_VM_IOCTL_SET_RAM__LEGACY:
407420
case HAX_VM_IOCTL_SET_RAM: {
408421
struct hax_set_ram_info *info;
409422
info = (struct hax_set_ram_info *)data;
@@ -423,6 +436,7 @@ static int hax_vm_ioctl(dev_t dev, ulong cmd, caddr_t data, int flag,
423436
ret = hax_vm_set_ram2(cvm, info);
424437
break;
425438
}
439+
case HAX_VM_IOCTL_PROTECT_RAM__LEGACY:
426440
case HAX_VM_IOCTL_PROTECT_RAM: {
427441
struct hax_protect_ram_info *info;
428442
info = (struct hax_protect_ram_info *)data;
@@ -435,7 +449,7 @@ static int hax_vm_ioctl(dev_t dev, ulong cmd, caddr_t data, int flag,
435449
break;
436450
}
437451
#endif
438-
case HAX_VM_IOCTL_NOTIFY_QEMU_VERSION: {
452+
case HAX_VM_IOCTL_NOTIFY_QEMU_VERSION__LEGACY: {
439453
int pid;
440454
/* MAXCOMLEN + 1 == 17 (see bsd/sys/param.h) */
441455
char task_name[17];
@@ -526,26 +540,30 @@ static int hax_ioctl(dev_t dev, u_long cmd, caddr_t data, int flag,
526540
int ret = 0;
527541

528542
switch (cmd) {
543+
case HAX_IOCTL_VERSION__LEGACY:
529544
case HAX_IOCTL_VERSION: {
530545
struct hax_module_version *version;
531546
version = (struct hax_module_version *)data;
532547
version->cur_version = HAX_CUR_VERSION;
533548
version->compat_version = HAX_COMPAT_VERSION;
534549
break;
535550
}
551+
case HAX_IOCTL_CAPABILITY__LEGACY:
536552
case HAX_IOCTL_CAPABILITY: {
537553
struct hax_capabilityinfo *capab;
538554
capab = (struct hax_capabilityinfo *)data;
539555
hax_get_capability(capab, sizeof(struct hax_capabilityinfo), NULL);
540556
break;
541557
}
558+
case HAX_IOCTL_SET_MEMLIMIT__LEGACY:
542559
case HAX_IOCTL_SET_MEMLIMIT: {
543560
struct hax_set_memlimit *memlimit;
544561
memlimit = (struct hax_set_memlimit*)data;
545562
ret = hax_set_memlimit(memlimit, sizeof(struct hax_set_memlimit),
546563
NULL);
547564
break;
548565
}
566+
case HAX_IOCTL_CREATE_VM__LEGACY:
549567
case HAX_IOCTL_CREATE_VM: {
550568
int vm_id;
551569
struct vm_t *cvm;

0 commit comments

Comments
 (0)