[PATCH 0/3] Introduce version array structure: sgx_va

From: Jarkko Sakkinen
Date: Wed Feb 24 2021 - 17:22:03 EST


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