Message ID | 20200320174716.27944-2-jarkko.sakkinen@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] Revert "selftests/x86: Recurse into subdirectories" | expand |
On Fri, Mar 20, 2020 at 07:47:16PM +0200, Jarkko Sakkinen wrote: > Move selftest under the top level selftests directory so that we don't > need to clutter x86/Makefile. The changes made for x86/Makefile caused > also issues with packaging the selftests. Finally, SGX assets need their > own tailored compilation environment. > > With this change BuildRoot nicely packages both standard x86 selftests > and our SGX test. > > Cc: Sean Christopherson <sean.j.christopherson@intel.com> > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> Promise that this my last update to selftests. Just wanted to hammer these quickly to cause minimum amount of distraction with the other patch set. Otherwise, would be very hard to focus on reviewing those chages. The changes I've done I think are no brainers. That's why I don't hold for long before merging. /Jarkko
On Fri, Mar 20, 2020 at 07:52:17PM +0200, Jarkko Sakkinen wrote: > On Fri, Mar 20, 2020 at 07:47:16PM +0200, Jarkko Sakkinen wrote: > > Move selftest under the top level selftests directory so that we don't > > need to clutter x86/Makefile. The changes made for x86/Makefile caused > > also issues with packaging the selftests. Finally, SGX assets need their > > own tailored compilation environment. > > > > With this change BuildRoot nicely packages both standard x86 selftests > > and our SGX test. > > > > Cc: Sean Christopherson <sean.j.christopherson@intel.com> > > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> > > Promise that this my last update to selftests. Just wanted to hammer > these quickly to cause minimum amount of distraction with the other > patch set. Otherwise, would be very hard to focus on reviewing those > chages. The changes I've done I think are no brainers. That's why I > don't hold for long before merging. Merged: # ./test_sgx SUCCESS Also: # ls sgx encl.bin test_sgx # ls x86 check_initial_reg_state_64 syscall_arg_fault_64 fsgsbase_64 syscall_nt_64 ioperm_64 syscall_numbering_64 iopl_64 sysret_rip_64 mov_ss_trap_64 sysret_ss_attrs_64 protection_keys_64 test_mremap_vdso_64 sigreturn_64 test_vdso_64 single_step_syscall_64 test_vsyscall_64 /Jarkko
On Fri, Mar 20, 2020 at 08:09:55PM +0200, Jarkko Sakkinen wrote: > On Fri, Mar 20, 2020 at 07:52:17PM +0200, Jarkko Sakkinen wrote: > > On Fri, Mar 20, 2020 at 07:47:16PM +0200, Jarkko Sakkinen wrote: > > > Move selftest under the top level selftests directory so that we don't > > > need to clutter x86/Makefile. The changes made for x86/Makefile caused > > > also issues with packaging the selftests. Finally, SGX assets need their > > > own tailored compilation environment. > > > > > > With this change BuildRoot nicely packages both standard x86 selftests > > > and our SGX test. > > > > > > Cc: Sean Christopherson <sean.j.christopherson@intel.com> > > > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> > > > > Promise that this my last update to selftests. Just wanted to hammer > > these quickly to cause minimum amount of distraction with the other > > patch set. Otherwise, would be very hard to focus on reviewing those > > chages. The changes I've done I think are no brainers. That's why I > > don't hold for long before merging. > > Merged: > > # ./test_sgx > SUCCESS > > Also: > > # ls sgx > encl.bin test_sgx > # ls x86 > check_initial_reg_state_64 syscall_arg_fault_64 > fsgsbase_64 syscall_nt_64 > ioperm_64 syscall_numbering_64 > iopl_64 sysret_rip_64 > mov_ss_trap_64 sysret_ss_attrs_64 > protection_keys_64 test_mremap_vdso_64 > sigreturn_64 test_vdso_64 > single_step_syscall_64 test_vsyscall_64 Nothing else in the queue for selftests. /Jarkko
On Fri, Mar 20, 2020 at 07:47:16PM +0200, Jarkko Sakkinen wrote: > Move selftest under the top level selftests directory so that we don't > need to clutter x86/Makefile. The changes made for x86/Makefile caused > also issues with packaging the selftests. Finally, SGX assets need their > own tailored compilation environment. > > With this change BuildRoot nicely packages both standard x86 selftests > and our SGX test. > > Cc: Sean Christopherson <sean.j.christopherson@intel.com> > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> > --- > tools/testing/selftests/Makefile | 1 + > tools/testing/selftests/{x86 => }/sgx/.gitignore | 0 > tools/testing/selftests/{x86 => }/sgx/Makefile | 12 +++++++++--- > tools/testing/selftests/{x86 => }/sgx/call.S | 0 > tools/testing/selftests/{x86 => }/sgx/defines.h | 4 ++-- > tools/testing/selftests/{x86 => }/sgx/encl.c | 0 > tools/testing/selftests/{x86 => }/sgx/encl.lds | 0 > .../testing/selftests/{x86 => }/sgx/encl_bootstrap.S | 0 > tools/testing/selftests/{x86 => }/sgx/main.c | 0 > tools/testing/selftests/{x86 => }/sgx/main.h | 0 > tools/testing/selftests/{x86 => }/sgx/sign.c | 0 > 11 files changed, 12 insertions(+), 5 deletions(-) > rename tools/testing/selftests/{x86 => }/sgx/.gitignore (100%) > rename tools/testing/selftests/{x86 => }/sgx/Makefile (83%) > rename tools/testing/selftests/{x86 => }/sgx/call.S (100%) > rename tools/testing/selftests/{x86 => }/sgx/defines.h (71%) > rename tools/testing/selftests/{x86 => }/sgx/encl.c (100%) > rename tools/testing/selftests/{x86 => }/sgx/encl.lds (100%) > rename tools/testing/selftests/{x86 => }/sgx/encl_bootstrap.S (100%) > rename tools/testing/selftests/{x86 => }/sgx/main.c (100%) > rename tools/testing/selftests/{x86 => }/sgx/main.h (100%) > rename tools/testing/selftests/{x86 => }/sgx/sign.c (100%) > > diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile > index 6ec503912bea..183a050b5bda 100644 > --- a/tools/testing/selftests/Makefile > +++ b/tools/testing/selftests/Makefile > @@ -63,6 +63,7 @@ TARGETS += user > TARGETS += vm > TARGETS += x86 > TARGETS += zram > +TARGETS += sgx The scope of the subject for the selftest patch probably should be changed to drop the "x86" part, e.g. selftests/sgx: Add a selftest for SGX or selftests: Add a selftest for SGX instead of selftests/x86: Add a selftest for SGX
On Mon, Mar 30, 2020 at 07:51:01AM -0700, Sean Christopherson wrote: > The scope of the subject for the selftest patch probably should be changed > to drop the "x86" part, e.g. > > selftests/sgx: Add a selftest for SGX > > or > selftests: Add a selftest for SGX > > instead of > > selftests/x86: Add a selftest for SGX You are absolutely right as it is the change that adds the whole test suite. /Jarkko
diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile index 6ec503912bea..183a050b5bda 100644 --- a/tools/testing/selftests/Makefile +++ b/tools/testing/selftests/Makefile @@ -63,6 +63,7 @@ TARGETS += user TARGETS += vm TARGETS += x86 TARGETS += zram +TARGETS += sgx #Please keep the TARGETS list alphabetically sorted # Run "make quicktest=1 run_tests" or # "make quicktest=1 kselftest" from top level Makefile diff --git a/tools/testing/selftests/x86/sgx/.gitignore b/tools/testing/selftests/sgx/.gitignore similarity index 100% rename from tools/testing/selftests/x86/sgx/.gitignore rename to tools/testing/selftests/sgx/.gitignore diff --git a/tools/testing/selftests/x86/sgx/Makefile b/tools/testing/selftests/sgx/Makefile similarity index 83% rename from tools/testing/selftests/x86/sgx/Makefile rename to tools/testing/selftests/sgx/Makefile index 789ebbbfddcb..d9c3b3a1983b 100644 --- a/tools/testing/selftests/x86/sgx/Makefile +++ b/tools/testing/selftests/sgx/Makefile @@ -1,6 +1,11 @@ -top_srcdir = ../../../../.. +top_srcdir = ../../../.. -include ../../lib.mk +include ../lib.mk + +.PHONY: all clean + +CAN_BUILD_X86_64 := $(shell ../x86/check_cc.sh $(CC) \ + ../x86/trivial_64bit_program.c) ifndef OBJCOPY OBJCOPY := $(CROSS_COMPILE)objcopy @@ -13,7 +18,9 @@ ENCL_CFLAGS := -Wall -Werror -static -nostdlib -nostartfiles -fPIC \ TEST_CUSTOM_PROGS := $(OUTPUT)/test_sgx $(OUTPUT)/encl.bin +ifeq ($(CAN_BUILD_X86_64), 1) all: $(TEST_CUSTOM_PROGS) +endif $(OUTPUT)/test_sgx: $(OUTPUT)/main.o $(OUTPUT)/sign.o $(OUTPUT)/call.o $(CC) $(HOST_CFLAGS) -o $@ $^ -lcrypto @@ -40,4 +47,3 @@ EXTRA_CLEAN := \ $(OUTPUT)/test_sgx \ $(OUTPUT)/test_sgx.o \ -.PHONY: clean diff --git a/tools/testing/selftests/x86/sgx/call.S b/tools/testing/selftests/sgx/call.S similarity index 100% rename from tools/testing/selftests/x86/sgx/call.S rename to tools/testing/selftests/sgx/call.S diff --git a/tools/testing/selftests/x86/sgx/defines.h b/tools/testing/selftests/sgx/defines.h similarity index 71% rename from tools/testing/selftests/x86/sgx/defines.h rename to tools/testing/selftests/sgx/defines.h index 0f91175088f6..8f4d17cf8cee 100644 --- a/tools/testing/selftests/x86/sgx/defines.h +++ b/tools/testing/selftests/sgx/defines.h @@ -13,7 +13,7 @@ #define __aligned(x) __attribute__((__aligned__(x))) #define __packed __attribute__((packed)) -#include "../../../../../arch/x86/kernel/cpu/sgx/arch.h" -#include "../../../../../arch/x86/include/uapi/asm/sgx.h" +#include "../../../../arch/x86/kernel/cpu/sgx/arch.h" +#include "../../../../arch/x86/include/uapi/asm/sgx.h" #endif /* DEFINES_H */ diff --git a/tools/testing/selftests/x86/sgx/encl.c b/tools/testing/selftests/sgx/encl.c similarity index 100% rename from tools/testing/selftests/x86/sgx/encl.c rename to tools/testing/selftests/sgx/encl.c diff --git a/tools/testing/selftests/x86/sgx/encl.lds b/tools/testing/selftests/sgx/encl.lds similarity index 100% rename from tools/testing/selftests/x86/sgx/encl.lds rename to tools/testing/selftests/sgx/encl.lds diff --git a/tools/testing/selftests/x86/sgx/encl_bootstrap.S b/tools/testing/selftests/sgx/encl_bootstrap.S similarity index 100% rename from tools/testing/selftests/x86/sgx/encl_bootstrap.S rename to tools/testing/selftests/sgx/encl_bootstrap.S diff --git a/tools/testing/selftests/x86/sgx/main.c b/tools/testing/selftests/sgx/main.c similarity index 100% rename from tools/testing/selftests/x86/sgx/main.c rename to tools/testing/selftests/sgx/main.c diff --git a/tools/testing/selftests/x86/sgx/main.h b/tools/testing/selftests/sgx/main.h similarity index 100% rename from tools/testing/selftests/x86/sgx/main.h rename to tools/testing/selftests/sgx/main.h diff --git a/tools/testing/selftests/x86/sgx/sign.c b/tools/testing/selftests/sgx/sign.c similarity index 100% rename from tools/testing/selftests/x86/sgx/sign.c rename to tools/testing/selftests/sgx/sign.c
Move selftest under the top level selftests directory so that we don't need to clutter x86/Makefile. The changes made for x86/Makefile caused also issues with packaging the selftests. Finally, SGX assets need their own tailored compilation environment. With this change BuildRoot nicely packages both standard x86 selftests and our SGX test. Cc: Sean Christopherson <sean.j.christopherson@intel.com> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> --- tools/testing/selftests/Makefile | 1 + tools/testing/selftests/{x86 => }/sgx/.gitignore | 0 tools/testing/selftests/{x86 => }/sgx/Makefile | 12 +++++++++--- tools/testing/selftests/{x86 => }/sgx/call.S | 0 tools/testing/selftests/{x86 => }/sgx/defines.h | 4 ++-- tools/testing/selftests/{x86 => }/sgx/encl.c | 0 tools/testing/selftests/{x86 => }/sgx/encl.lds | 0 .../testing/selftests/{x86 => }/sgx/encl_bootstrap.S | 0 tools/testing/selftests/{x86 => }/sgx/main.c | 0 tools/testing/selftests/{x86 => }/sgx/main.h | 0 tools/testing/selftests/{x86 => }/sgx/sign.c | 0 11 files changed, 12 insertions(+), 5 deletions(-) rename tools/testing/selftests/{x86 => }/sgx/.gitignore (100%) rename tools/testing/selftests/{x86 => }/sgx/Makefile (83%) rename tools/testing/selftests/{x86 => }/sgx/call.S (100%) rename tools/testing/selftests/{x86 => }/sgx/defines.h (71%) rename tools/testing/selftests/{x86 => }/sgx/encl.c (100%) rename tools/testing/selftests/{x86 => }/sgx/encl.lds (100%) rename tools/testing/selftests/{x86 => }/sgx/encl_bootstrap.S (100%) rename tools/testing/selftests/{x86 => }/sgx/main.c (100%) rename tools/testing/selftests/{x86 => }/sgx/main.h (100%) rename tools/testing/selftests/{x86 => }/sgx/sign.c (100%)