On Thu, May 19, 2022 at 11:11:17AM +0800, Zhiquan Li wrote: > 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. I would just write "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 > BR, Jarkko