1 // Copyright 2020 The ChromiumOS Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 use base::ioctl_ioc_nr; 6 7 pub const HAX_DEVICE_TYPE: u32 = 0x4000; 8 9 ioctl_ioc_nr!(HAX_IOCTL_VERSION, HAX_DEVICE_TYPE, 0x900); 10 ioctl_ioc_nr!(HAX_IOCTL_CREATE_VM, HAX_DEVICE_TYPE, 0x901); 11 ioctl_ioc_nr!(HAX_IOCTL_CAPABILITY, HAX_DEVICE_TYPE, 0x910); 12 ioctl_ioc_nr!(HAX_IOCTL_SET_MEMLIMIT, HAX_DEVICE_TYPE, 0x911); 13 14 ioctl_ioc_nr!(HAX_VM_IOCTL_VCPU_CREATE, HAX_DEVICE_TYPE, 0x902); 15 ioctl_ioc_nr!(HAX_VM_IOCTL_ALLOC_RAM, HAX_DEVICE_TYPE, 0x903); 16 ioctl_ioc_nr!(HAX_VM_IOCTL_SET_RAM, HAX_DEVICE_TYPE, 0x904); 17 ioctl_ioc_nr!(HAX_VM_IOCTL_VCPU_DESTROY, HAX_DEVICE_TYPE, 0x905); 18 ioctl_ioc_nr!(HAX_VM_IOCTL_ADD_RAMBLOCK, HAX_DEVICE_TYPE, 0x913); 19 ioctl_ioc_nr!(HAX_VM_IOCTL_SET_RAM2, HAX_DEVICE_TYPE, 0x914); 20 ioctl_ioc_nr!(HAX_VM_IOCTL_PROTECT_RAM, HAX_DEVICE_TYPE, 0x915); 21 22 ioctl_ioc_nr!(HAX_VCPU_IOCTL_RUN, HAX_DEVICE_TYPE, 0x906); 23 ioctl_ioc_nr!(HAX_VCPU_IOCTL_SET_MSRS, HAX_DEVICE_TYPE, 0x907); 24 ioctl_ioc_nr!(HAX_VCPU_IOCTL_GET_MSRS, HAX_DEVICE_TYPE, 0x908); 25 26 ioctl_ioc_nr!(HAX_VCPU_IOCTL_SET_FPU, HAX_DEVICE_TYPE, 0x909); 27 ioctl_ioc_nr!(HAX_VCPU_IOCTL_GET_FPU, HAX_DEVICE_TYPE, 0x90a); 28 29 ioctl_ioc_nr!(HAX_VCPU_IOCTL_SETUP_TUNNEL, HAX_DEVICE_TYPE, 0x90b); 30 ioctl_ioc_nr!(HAX_VCPU_IOCTL_INTERRUPT, HAX_DEVICE_TYPE, 0x90c); 31 ioctl_ioc_nr!(HAX_VCPU_SET_REGS, HAX_DEVICE_TYPE, 0x90d); 32 ioctl_ioc_nr!(HAX_VCPU_GET_REGS, HAX_DEVICE_TYPE, 0x90e); 33 ioctl_ioc_nr!(HAX_VCPU_IOCTL_KICKOFF, HAX_DEVICE_TYPE, 0x90f); 34 35 /* API version 2.0 */ 36 ioctl_ioc_nr!(HAX_VM_IOCTL_NOTIFY_QEMU_VERSION, HAX_DEVICE_TYPE, 0x910); 37 38 ioctl_ioc_nr!(HAX_IOCTL_VCPU_DEBUG, HAX_DEVICE_TYPE, 0x916); 39 ioctl_ioc_nr!(HAX_VCPU_IOCTL_SET_CPUID, HAX_DEVICE_TYPE, 0x917); 40 ioctl_ioc_nr!(HAX_VM_IOCTL_REGISTER_LOG_FILE, HAX_DEVICE_TYPE, 0x918); 41