diff options
author | Jarkko Sakkinen <jarkko@kernel.org> | 2020-11-13 00:01:31 +0200 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2020-11-18 18:04:05 +0100 |
commit | 2adcba79e69d4a4c0ac3bb86f466d8b5df301608 (patch) | |
tree | 5a13baecee77e726b3776a372e364415a90a3410 /tools/testing/selftests/sgx/test_encl.lds | |
parent | 84664369520170f48546c55cbc1f3fbde9b1e140 (diff) | |
download | linux-2adcba79e69d4a4c0ac3bb86f466d8b5df301608.tar.gz |
selftests/x86: Add a selftest for SGX
Add a selftest for SGX. It is a trivial test where a simple enclave copies one 64-bit word of memory between two memory locations, but ensures that all SGX hardware and software infrastructure is functioning. Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org> Signed-off-by: Borislav Petkov <bp@suse.de> Acked-by: Jethro Beekman <jethro@fortanix.com> Cc: linux-kselftest@vger.kernel.org Link: https://lkml.kernel.org/r/20201112220135.165028-21-jarkko@kernel.org
Diffstat (limited to 'tools/testing/selftests/sgx/test_encl.lds')
-rw-r--r-- | tools/testing/selftests/sgx/test_encl.lds | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/tools/testing/selftests/sgx/test_encl.lds b/tools/testing/selftests/sgx/test_encl.lds new file mode 100644 index 000000000000..0fbbda7e665e --- /dev/null +++ b/tools/testing/selftests/sgx/test_encl.lds @@ -0,0 +1,40 @@ +OUTPUT_FORMAT(elf64-x86-64) + +PHDRS +{ + tcs PT_LOAD; + text PT_LOAD; + data PT_LOAD; +} + +SECTIONS +{ + . = 0; + .tcs : { + *(.tcs*) + } : tcs + + . = ALIGN(4096); + .text : { + *(.text*) + *(.rodata*) + } : text + + . = ALIGN(4096); + .data : { + *(.data*) + } : data + + /DISCARD/ : { + *(.comment*) + *(.note*) + *(.debug*) + *(.eh_frame*) + } +} + +ASSERT(!DEFINED(.altinstructions), "ALTERNATIVES are not supported in enclaves") +ASSERT(!DEFINED(.altinstr_replacement), "ALTERNATIVES are not supported in enclaves") +ASSERT(!DEFINED(.discard.retpoline_safe), "RETPOLINE ALTERNATIVES are not supported in enclaves") +ASSERT(!DEFINED(.discard.nospec), "RETPOLINE ALTERNATIVES are not supported in enclaves") +ASSERT(!DEFINED(.got.plt), "Libcalls are not supported in enclaves") |