linux-sgx.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] Revert "selftests/x86: Recurse into subdirectories"
@ 2020-03-20 17:47 Jarkko Sakkinen
  2020-03-20 17:47 ` [PATCH 2/2] selftests/x86/sgx: Move to selftests/sgx Jarkko Sakkinen
  0 siblings, 1 reply; 7+ messages in thread
From: Jarkko Sakkinen @ 2020-03-20 17:47 UTC (permalink / raw)
  To: linux-sgx; +Cc: Jarkko Sakkinen

This reverts commit 565ceeb112045102d62493efb951e237d030e7e1.
---
 tools/testing/selftests/x86/Makefile | 44 ----------------------------
 1 file changed, 44 deletions(-)

diff --git a/tools/testing/selftests/x86/Makefile b/tools/testing/selftests/x86/Makefile
index dee6dadeba61..5d49bfec1e9a 100644
--- a/tools/testing/selftests/x86/Makefile
+++ b/tools/testing/selftests/x86/Makefile
@@ -10,8 +10,6 @@ CAN_BUILD_I386 := $(shell ./check_cc.sh $(CC) trivial_32bit_program.c -m32)
 CAN_BUILD_X86_64 := $(shell ./check_cc.sh $(CC) trivial_64bit_program.c)
 CAN_BUILD_WITH_NOPIE := $(shell ./check_cc.sh $(CC) trivial_program.c -no-pie)
 
-SUBDIRS := sgx
-
 TARGETS_C_BOTHBITS := single_step_syscall sysret_ss_attrs syscall_nt test_mremap_vdso \
 			check_initial_reg_state sigreturn iopl ioperm \
 			protection_keys test_vdso test_vsyscall mov_ss_trap \
@@ -61,48 +59,6 @@ endif
 
 ifeq ($(CAN_BUILD_X86_64),1)
 all: all_64
-	@for DIR in $(SUBDIRS); do \
-		BUILD_TARGET=$(OUTPUT)/$$DIR; \
-		mkdir $$BUILD_TARGET  -p; \
-		make OUTPUT=$$BUILD_TARGET -C $$DIR $@; \
-	done
-
-DEFAULT_RUN_TESTS := $(RUN_TESTS)
-override define RUN_TESTS
-	$(DEFAULT_RUN_TESTS)
-	@for TARGET in $(SUBDIRS); do \
-		BUILD_TARGET=$(OUTPUT)/$$TARGET; \
-		$(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests; \
-	done;
-endef
-
-DEFAULT_INSTALL_RULE := $(INSTALL_RULE)
-override define INSTALL_RULE
-	$(DEFAULT_INSTALL_RULE)
-	@for TARGET in $(SUBDIRS); do \
-		BUILD_TARGET=$(OUTPUT)/$$TARGET; \
-		$(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install; \
-	done;
-endef
-
-DEFAULT_EMIT_TESTS := $(EMIT_TESTS)
-override define EMIT_TESTS
-	$(DEFAULT_EMIT_TESTS)
-	@for TARGET in $(SUBDIRS); do \
-		BUILD_TARGET=$(OUTPUT)/$$TARGET; \
-		$(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests; \
-	done;
-endef
-
-DEFAULT_CLEAN := $(CLEAN)
-override define CLEAN
-	$(DEFAULT_CLEAN)
-	@for TARGET in $(SUBDIRS); do \
-		BUILD_TARGET=$(OUTPUT)/$$TARGET; \
-		$(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \
-	done;
-endef
-
 TEST_PROGS += $(BINARIES_64)
 EXTRA_CFLAGS += -DCAN_BUILD_64
 $(foreach t,$(TARGETS_C_64BIT_ALL),$(eval $(call gen-target-rule-64,$(t))))
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/2] selftests/x86/sgx: Move to selftests/sgx
  2020-03-20 17:47 [PATCH 1/2] Revert "selftests/x86: Recurse into subdirectories" Jarkko Sakkinen
@ 2020-03-20 17:47 ` Jarkko Sakkinen
  2020-03-20 17:52   ` Jarkko Sakkinen
  2020-03-30 14:51   ` Sean Christopherson
  0 siblings, 2 replies; 7+ messages in thread
From: Jarkko Sakkinen @ 2020-03-20 17:47 UTC (permalink / raw)
  To: linux-sgx; +Cc: Jarkko Sakkinen, Sean Christopherson

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
 #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
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] selftests/x86/sgx: Move to selftests/sgx
  2020-03-20 17:47 ` [PATCH 2/2] selftests/x86/sgx: Move to selftests/sgx Jarkko Sakkinen
@ 2020-03-20 17:52   ` Jarkko Sakkinen
  2020-03-20 18:09     ` Jarkko Sakkinen
  2020-03-30 14:51   ` Sean Christopherson
  1 sibling, 1 reply; 7+ messages in thread
From: Jarkko Sakkinen @ 2020-03-20 17:52 UTC (permalink / raw)
  To: linux-sgx; +Cc: Sean Christopherson

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] selftests/x86/sgx: Move to selftests/sgx
  2020-03-20 17:52   ` Jarkko Sakkinen
@ 2020-03-20 18:09     ` Jarkko Sakkinen
  2020-03-20 18:10       ` Jarkko Sakkinen
  0 siblings, 1 reply; 7+ messages in thread
From: Jarkko Sakkinen @ 2020-03-20 18:09 UTC (permalink / raw)
  To: linux-sgx; +Cc: Sean Christopherson

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] selftests/x86/sgx: Move to selftests/sgx
  2020-03-20 18:09     ` Jarkko Sakkinen
@ 2020-03-20 18:10       ` Jarkko Sakkinen
  0 siblings, 0 replies; 7+ messages in thread
From: Jarkko Sakkinen @ 2020-03-20 18:10 UTC (permalink / raw)
  To: linux-sgx; +Cc: Sean Christopherson

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] selftests/x86/sgx: Move to selftests/sgx
  2020-03-20 17:47 ` [PATCH 2/2] selftests/x86/sgx: Move to selftests/sgx Jarkko Sakkinen
  2020-03-20 17:52   ` Jarkko Sakkinen
@ 2020-03-30 14:51   ` Sean Christopherson
  2020-03-30 19:19     ` Jarkko Sakkinen
  1 sibling, 1 reply; 7+ messages in thread
From: Sean Christopherson @ 2020-03-30 14:51 UTC (permalink / raw)
  To: Jarkko Sakkinen; +Cc: linux-sgx

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] selftests/x86/sgx: Move to selftests/sgx
  2020-03-30 14:51   ` Sean Christopherson
@ 2020-03-30 19:19     ` Jarkko Sakkinen
  0 siblings, 0 replies; 7+ messages in thread
From: Jarkko Sakkinen @ 2020-03-30 19:19 UTC (permalink / raw)
  To: Sean Christopherson; +Cc: linux-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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-03-30 19:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-20 17:47 [PATCH 1/2] Revert "selftests/x86: Recurse into subdirectories" Jarkko Sakkinen
2020-03-20 17:47 ` [PATCH 2/2] selftests/x86/sgx: Move to selftests/sgx Jarkko Sakkinen
2020-03-20 17:52   ` Jarkko Sakkinen
2020-03-20 18:09     ` Jarkko Sakkinen
2020-03-20 18:10       ` Jarkko Sakkinen
2020-03-30 14:51   ` Sean Christopherson
2020-03-30 19:19     ` Jarkko Sakkinen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).