Introduce version array structure: sgx_va
From: | Jarkko Sakkinen <jarkko-AT-kernel.org> | |
To: | linux-sgx-AT-vger.kernel.org | |
Subject: | [PATCH 0/3] Introduce version array structure: sgx_va | |
Date: | Thu, 25 Feb 2021 00:20:46 +0200 | |
Message-ID: | <20210224222049.240754-1-jarkko@kernel.org> | |
Cc: | haitao.huang-AT-intel.com, dan.j.williams-AT-intel.com, dave.hansen-AT-linux.intel.com, bp-AT-alien8.de, tglx-AT-linutronix.de, linux-kernel-AT-vger.kernel.org, x86-AT-kernel.org, Jarkko Sakkinen <jarkko-AT-kernel.org> | |
Archive-link: | Article |
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-k... - 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