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 { 22*c085dfc7SReinette Chatre ENCL_OP_PUT_TO_BUFFER, 23*c085dfc7SReinette Chatre ENCL_OP_GET_FROM_BUFFER, 2441493a09SJarkko Sakkinen ENCL_OP_MAX, 2522118ce1SJarkko Sakkinen }; 2622118ce1SJarkko Sakkinen 2741493a09SJarkko Sakkinen struct encl_op_header { 2822118ce1SJarkko Sakkinen uint64_t type; 2941493a09SJarkko Sakkinen }; 3041493a09SJarkko Sakkinen 31*c085dfc7SReinette Chatre struct encl_op_put_to_buf { 3241493a09SJarkko Sakkinen struct encl_op_header header; 3341493a09SJarkko Sakkinen uint64_t value; 3441493a09SJarkko Sakkinen }; 3541493a09SJarkko Sakkinen 36*c085dfc7SReinette Chatre struct encl_op_get_from_buf { 3741493a09SJarkko Sakkinen struct encl_op_header header; 3841493a09SJarkko Sakkinen uint64_t value; 3922118ce1SJarkko Sakkinen }; 4022118ce1SJarkko Sakkinen 412adcba79SJarkko Sakkinen #endif /* DEFINES_H */ 42