Linux Audio
Check our new training course
Embedded Linux Audio
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright(c) 2016-20 Intel Corporation. */ #ifndef DEFINES_H #define DEFINES_H #include <stdint.h> #define PAGE_SIZE 4096 #define PAGE_MASK (~(PAGE_SIZE - 1)) #define __aligned(x) __attribute__((__aligned__(x))) #define __packed __attribute__((packed)) #define __used __attribute__((used)) #define __section(x)__attribute__((__section__(x))) #include "../../../../arch/x86/include/asm/sgx.h" #include "../../../../arch/x86/include/asm/enclu.h" #include "../../../../arch/x86/include/uapi/asm/sgx.h" enum encl_op_type { ENCL_OP_PUT_TO_BUFFER, ENCL_OP_GET_FROM_BUFFER, ENCL_OP_PUT_TO_ADDRESS, ENCL_OP_GET_FROM_ADDRESS, ENCL_OP_NOP, ENCL_OP_EACCEPT, ENCL_OP_EMODPE, ENCL_OP_INIT_TCS_PAGE, ENCL_OP_MAX, }; struct encl_op_header { uint64_t type; }; struct encl_op_put_to_buf { struct encl_op_header header; uint64_t value; }; struct encl_op_get_from_buf { struct encl_op_header header; uint64_t value; }; struct encl_op_put_to_addr { struct encl_op_header header; uint64_t value; uint64_t addr; }; struct encl_op_get_from_addr { struct encl_op_header header; uint64_t value; uint64_t addr; }; struct encl_op_eaccept { struct encl_op_header header; uint64_t epc_addr; uint64_t flags; uint64_t ret; }; struct encl_op_emodpe { struct encl_op_header header; uint64_t epc_addr; uint64_t flags; }; struct encl_op_init_tcs_page { struct encl_op_header header; uint64_t tcs_page; uint64_t ssa; uint64_t entry; }; #endif /* DEFINES_H */