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@xxxxxxxxx/ > Signed-off-by: Jo Van Bulck <jo.vanbulck@xxxxxxxxxxxxxx> > --- > .../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@xxxxxxxxxx> BR, Jarkko