Introduce an xarray based version array (VA) structure: struct sgx_va. The use of sgx_va can be later on extended to the following use cases: - A global VA for reclaimed SECS pages. - A global VA for reclaimed VA pages. Testing done while developing the patch: - With NUC7PJYH: https://www.intel.com/content/www/us/en/products/boards-kits/nuc/kits/nuc7pjyh.html - seq 10000 | xargs -I {} -P10000 ./test_sgx > /dev/null - The EPC size was set from BIOS to 32 MB. Jarkko Sakkinen (3): x86/sgx: Move struct sgx_va_page creation to sgx_alloc_va_page() x86/sgx: Add a version array (VA) structure x86/sgx: Use sgx_va for the enclave's version array arch/x86/kernel/cpu/sgx/driver.c | 3 +- arch/x86/kernel/cpu/sgx/encl.c | 180 ++++++++++++++++++++++--------- arch/x86/kernel/cpu/sgx/encl.h | 36 ++++--- arch/x86/kernel/cpu/sgx/ioctl.c | 77 +++++-------- arch/x86/kernel/cpu/sgx/main.c | 19 +--- 5 files changed, 184 insertions(+), 131 deletions(-) -- 2.30.1