1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_NITRO_ENCLAVES_H_ 8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_NITRO_ENCLAVES_H_ 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker #define NE_CREATE_VM _IOR(0xAE, 0x20, __u64) 11*8d67ca89SAndroid Build Coastguard Worker #define NE_ADD_VCPU _IOWR(0xAE, 0x21, __u32) 12*8d67ca89SAndroid Build Coastguard Worker #define NE_GET_IMAGE_LOAD_INFO _IOWR(0xAE, 0x22, struct ne_image_load_info) 13*8d67ca89SAndroid Build Coastguard Worker #define NE_SET_USER_MEMORY_REGION _IOW(0xAE, 0x23, struct ne_user_memory_region) 14*8d67ca89SAndroid Build Coastguard Worker #define NE_START_ENCLAVE _IOWR(0xAE, 0x24, struct ne_enclave_start_info) 15*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_VCPU_ALREADY_USED (256) 16*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_VCPU_NOT_IN_CPU_POOL (257) 17*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_VCPU_INVALID_CPU_CORE (258) 18*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_INVALID_MEM_REGION_SIZE (259) 19*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_INVALID_MEM_REGION_ADDR (260) 20*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_UNALIGNED_MEM_REGION_ADDR (261) 21*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_MEM_REGION_ALREADY_USED (262) 22*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_MEM_NOT_HUGE_PAGE (263) 23*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_MEM_DIFFERENT_NUMA_NODE (264) 24*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_MEM_MAX_REGIONS (265) 25*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_NO_MEM_REGIONS_ADDED (266) 26*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_NO_VCPUS_ADDED (267) 27*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_ENCLAVE_MEM_MIN_SIZE (268) 28*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_FULL_CORES_NOT_USED (269) 29*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_NOT_IN_INIT_STATE (270) 30*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_INVALID_VCPU (271) 31*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_NO_CPUS_AVAIL_IN_POOL (272) 32*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_INVALID_PAGE_SIZE (273) 33*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_INVALID_FLAG_VALUE (274) 34*8d67ca89SAndroid Build Coastguard Worker #define NE_ERR_INVALID_ENCLAVE_CID (275) 35*8d67ca89SAndroid Build Coastguard Worker #define NE_EIF_IMAGE (0x01) 36*8d67ca89SAndroid Build Coastguard Worker #define NE_IMAGE_LOAD_MAX_FLAG_VAL (0x02) 37*8d67ca89SAndroid Build Coastguard Worker struct ne_image_load_info { 38*8d67ca89SAndroid Build Coastguard Worker __u64 flags; 39*8d67ca89SAndroid Build Coastguard Worker __u64 memory_offset; 40*8d67ca89SAndroid Build Coastguard Worker }; 41*8d67ca89SAndroid Build Coastguard Worker #define NE_DEFAULT_MEMORY_REGION (0x00) 42*8d67ca89SAndroid Build Coastguard Worker #define NE_MEMORY_REGION_MAX_FLAG_VAL (0x01) 43*8d67ca89SAndroid Build Coastguard Worker struct ne_user_memory_region { 44*8d67ca89SAndroid Build Coastguard Worker __u64 flags; 45*8d67ca89SAndroid Build Coastguard Worker __u64 memory_size; 46*8d67ca89SAndroid Build Coastguard Worker __u64 userspace_addr; 47*8d67ca89SAndroid Build Coastguard Worker }; 48*8d67ca89SAndroid Build Coastguard Worker #define NE_ENCLAVE_PRODUCTION_MODE (0x00) 49*8d67ca89SAndroid Build Coastguard Worker #define NE_ENCLAVE_DEBUG_MODE (0x01) 50*8d67ca89SAndroid Build Coastguard Worker #define NE_ENCLAVE_START_MAX_FLAG_VAL (0x02) 51*8d67ca89SAndroid Build Coastguard Worker struct ne_enclave_start_info { 52*8d67ca89SAndroid Build Coastguard Worker __u64 flags; 53*8d67ca89SAndroid Build Coastguard Worker __u64 enclave_cid; 54*8d67ca89SAndroid Build Coastguard Worker }; 55*8d67ca89SAndroid Build Coastguard Worker #endif 56