Move struct sgx_vepc definition to sgx.h so that it can be used outside of virt.c. Signed-off-by: Zhiquan Li <zhiquan1.li@xxxxxxxxx> --- Changes since V1: - Add documentation suggested by Jarkko. --- arch/x86/kernel/cpu/sgx/sgx.h | 13 +++++++++++++ arch/x86/kernel/cpu/sgx/virt.c | 5 ----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/arch/x86/kernel/cpu/sgx/sgx.h b/arch/x86/kernel/cpu/sgx/sgx.h index 0f17def9fe6f..ad3b455ed0da 100644 --- a/arch/x86/kernel/cpu/sgx/sgx.h +++ b/arch/x86/kernel/cpu/sgx/sgx.h @@ -101,4 +101,17 @@ static inline int __init sgx_vepc_init(void) void sgx_update_lepubkeyhash(u64 *lepubkeyhash); +/** + * struct sgx_vepc - SGX virtual EPC structure + * @page_array: the xarray of virtual EPC pages allocated to guest + * @lock: the mutex lock to protect a virtual EPC instance + * + * When hypervisor opens /dev/sgx_vepc a virtual EPC instance. The + * virtual EPC pages allocated to guest will be added to its page_array. + */ +struct sgx_vepc { + struct xarray page_array; + struct mutex lock; +}; + #endif /* _X86_SGX_H */ diff --git a/arch/x86/kernel/cpu/sgx/virt.c b/arch/x86/kernel/cpu/sgx/virt.c index 6a77a14eee38..c9c8638b5dc4 100644 --- a/arch/x86/kernel/cpu/sgx/virt.c +++ b/arch/x86/kernel/cpu/sgx/virt.c @@ -18,11 +18,6 @@ #include "encls.h" #include "sgx.h" -struct sgx_vepc { - struct xarray page_array; - struct mutex lock; -}; - /* * Temporary SECS pages that cannot be EREMOVE'd due to having child in other * virtual EPC instances, and the lock to protect it. -- 2.25.1