0001
0002 #ifndef __ARCH_SGX_DRIVER_H__
0003 #define __ARCH_SGX_DRIVER_H__
0004
0005 #include <crypto/hash.h>
0006 #include <linux/kref.h>
0007 #include <linux/mmu_notifier.h>
0008 #include <linux/radix-tree.h>
0009 #include <linux/rwsem.h>
0010 #include <linux/sched.h>
0011 #include <linux/workqueue.h>
0012 #include <uapi/asm/sgx.h>
0013 #include "sgx.h"
0014
0015 #define SGX_EINIT_SPIN_COUNT 20
0016 #define SGX_EINIT_SLEEP_COUNT 50
0017 #define SGX_EINIT_SLEEP_TIME 20
0018
0019 extern u64 sgx_attributes_reserved_mask;
0020 extern u64 sgx_xfrm_reserved_mask;
0021 extern u32 sgx_misc_reserved_mask;
0022
0023 extern const struct file_operations sgx_provision_fops;
0024
0025 long sgx_ioctl(struct file *filep, unsigned int cmd, unsigned long arg);
0026
0027 int sgx_drv_init(void);
0028
0029 #endif