Message ID | 20230831134144.22686-14-jo.vanbulck@cs.kuleuven.be (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | selftests/sgx: Fix compilation errors | expand |
On Thu Aug 31, 2023 at 4:41 PM EEST, Jo Van Bulck wrote: > As the selftest enclave is *not* intended for production, simplify the > code by not initializing CPU configuration registers as expected by the > ABI on enclave entry or cleansing caller-save registers on enclave exit. > > Link: https://lore.kernel.org/all/da0cfb1e-e347-f7f2-ac72-aec0ee0d867d@intel.com/ > Signed-off-by: Jo Van Bulck <jo.vanbulck@cs.kuleuven.be> > --- > .../testing/selftests/sgx/test_encl_bootstrap.S | 16 +++------------- > 1 file changed, 3 insertions(+), 13 deletions(-) > > diff --git a/tools/testing/selftests/sgx/test_encl_bootstrap.S b/tools/testing/selftests/sgx/test_encl_bootstrap.S > index 28fe5d2ac0af..d8c4ac94e032 100644 > --- a/tools/testing/selftests/sgx/test_encl_bootstrap.S > +++ b/tools/testing/selftests/sgx/test_encl_bootstrap.S > @@ -59,21 +59,11 @@ encl_entry_core: > > push %rcx # push the address after EENTER > > + # NOTE: as the selftest enclave is *not* intended for production, > + # simplify the code by not initializing ABI registers on entry or > + # cleansing caller-save registers on exit. > call encl_body > > - /* Clear volatile GPRs, except RAX (EEXIT function). */ > - xor %rcx, %rcx > - xor %rdx, %rdx > - xor %rdi, %rdi > - xor %rsi, %rsi > - xor %r8, %r8 > - xor %r9, %r9 > - xor %r10, %r10 > - xor %r11, %r11 > - > - # Reset status flags. > - add %rdx, %rdx # OF = SF = AF = CF = 0; ZF = PF = 1 > - > # Prepare EEXIT target by popping the address of the instruction after > # EENTER to RBX. > pop %rbx > -- > 2.25.1 Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org> BR, Jarkko
diff --git a/tools/testing/selftests/sgx/test_encl_bootstrap.S b/tools/testing/selftests/sgx/test_encl_bootstrap.S index 28fe5d2ac0af..d8c4ac94e032 100644 --- a/tools/testing/selftests/sgx/test_encl_bootstrap.S +++ b/tools/testing/selftests/sgx/test_encl_bootstrap.S @@ -59,21 +59,11 @@ encl_entry_core: push %rcx # push the address after EENTER + # NOTE: as the selftest enclave is *not* intended for production, + # simplify the code by not initializing ABI registers on entry or + # cleansing caller-save registers on exit. call encl_body - /* Clear volatile GPRs, except RAX (EEXIT function). */ - xor %rcx, %rcx - xor %rdx, %rdx - xor %rdi, %rdi - xor %rsi, %rsi - xor %r8, %r8 - xor %r9, %r9 - xor %r10, %r10 - xor %r11, %r11 - - # Reset status flags. - add %rdx, %rdx # OF = SF = AF = CF = 0; ZF = PF = 1 - # Prepare EEXIT target by popping the address of the instruction after # EENTER to RBX. pop %rbx
As the selftest enclave is *not* intended for production, simplify the code by not initializing CPU configuration registers as expected by the ABI on enclave entry or cleansing caller-save registers on enclave exit. Link: https://lore.kernel.org/all/da0cfb1e-e347-f7f2-ac72-aec0ee0d867d@intel.com/ Signed-off-by: Jo Van Bulck <jo.vanbulck@cs.kuleuven.be> --- .../testing/selftests/sgx/test_encl_bootstrap.S | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-)