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