1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __ARCH_SGX_DRIVER_H__ 3#define __ARCH_SGX_DRIVER_H__ 4 5#include <crypto/hash.h> 6#include <linux/kref.h> 7#include <linux/mmu_notifier.h> 8#include <linux/radix-tree.h> 9#include <linux/rwsem.h> 10#include <linux/sched.h> 11#include <linux/workqueue.h> 12#include <uapi/asm/sgx.h> 13#include "sgx.h" 14 15#define SGX_EINIT_SPIN_COUNT 20 16#define SGX_EINIT_SLEEP_COUNT 50 17#define SGX_EINIT_SLEEP_TIME 20 18 19extern u64 sgx_attributes_reserved_mask; 20extern u64 sgx_xfrm_reserved_mask; 21extern u32 sgx_misc_reserved_mask; 22 23extern const struct file_operations sgx_provision_fops; 24 25long sgx_ioctl(struct file *filep, unsigned int cmd, unsigned long arg); 26 27int sgx_drv_init(void); 28 29#endif /* __ARCH_X86_SGX_DRIVER_H__ */ 30