xref: /linux/tools/testing/selftests/sgx/defines.h (revision c085dfc7685c8c36698b851b03990b75a3226e97)
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