12adcba79SJarkko Sakkinen /* SPDX-License-Identifier: GPL-2.0 */ 22adcba79SJarkko Sakkinen /* 32adcba79SJarkko Sakkinen * Copyright(c) 2016-20 Intel Corporation. 42adcba79SJarkko Sakkinen */ 52adcba79SJarkko Sakkinen 62adcba79SJarkko Sakkinen #ifndef DEFINES_H 72adcba79SJarkko Sakkinen #define DEFINES_H 82adcba79SJarkko Sakkinen 92adcba79SJarkko Sakkinen #include <stdint.h> 102adcba79SJarkko Sakkinen 112adcba79SJarkko Sakkinen #define PAGE_SIZE 4096 122adcba79SJarkko Sakkinen #define PAGE_MASK (~(PAGE_SIZE - 1)) 132adcba79SJarkko Sakkinen 142adcba79SJarkko Sakkinen #define __aligned(x) __attribute__((__aligned__(x))) 152adcba79SJarkko Sakkinen #define __packed __attribute__((packed)) 162adcba79SJarkko Sakkinen 178ca52cc3SSean Christopherson #include "../../../../arch/x86/include/asm/sgx.h" 182adcba79SJarkko Sakkinen #include "../../../../arch/x86/include/asm/enclu.h" 192adcba79SJarkko Sakkinen #include "../../../../arch/x86/include/uapi/asm/sgx.h" 202adcba79SJarkko Sakkinen 2122118ce1SJarkko Sakkinen enum encl_op_type { 2222118ce1SJarkko Sakkinen ENCL_OP_PUT, 2322118ce1SJarkko Sakkinen ENCL_OP_GET, 24*41493a09SJarkko Sakkinen ENCL_OP_MAX, 2522118ce1SJarkko Sakkinen }; 2622118ce1SJarkko Sakkinen 27*41493a09SJarkko Sakkinen struct encl_op_header { 2822118ce1SJarkko Sakkinen uint64_t type; 29*41493a09SJarkko Sakkinen }; 30*41493a09SJarkko Sakkinen 31*41493a09SJarkko Sakkinen struct encl_op_put { 32*41493a09SJarkko Sakkinen struct encl_op_header header; 33*41493a09SJarkko Sakkinen uint64_t value; 34*41493a09SJarkko Sakkinen }; 35*41493a09SJarkko Sakkinen 36*41493a09SJarkko Sakkinen struct encl_op_get { 37*41493a09SJarkko Sakkinen struct encl_op_header header; 38*41493a09SJarkko Sakkinen uint64_t value; 3922118ce1SJarkko Sakkinen }; 4022118ce1SJarkko Sakkinen 412adcba79SJarkko Sakkinen #endif /* DEFINES_H */ 42