Linux-Sgx Archive on lore.kernel.org
 help / color / Atom feed
From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
To: linux-sgx@vger.kernel.org
Cc: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>,
	Sean Christopherson <sean.j.christopherson@intel.com>
Subject: [PATCH 2/2] selftests/x86/sgx: Move to selftests/sgx
Date: Fri, 20 Mar 2020 19:47:16 +0200
Message-ID: <20200320174716.27944-2-jarkko.sakkinen@linux.intel.com> (raw)
In-Reply-To: <20200320174716.27944-1-jarkko.sakkinen@linux.intel.com>

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


  reply index

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-20 17:47 [PATCH 1/2] Revert "selftests/x86: Recurse into subdirectories" Jarkko Sakkinen
2020-03-20 17:47 ` Jarkko Sakkinen [this message]
2020-03-20 17:52   ` [PATCH 2/2] selftests/x86/sgx: Move to selftests/sgx 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200320174716.27944-2-jarkko.sakkinen@linux.intel.com \
    --to=jarkko.sakkinen@linux.intel.com \
    --cc=linux-sgx@vger.kernel.org \
    --cc=sean.j.christopherson@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-Sgx Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-sgx/0 linux-sgx/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-sgx linux-sgx/ https://lore.kernel.org/linux-sgx \
		linux-sgx@vger.kernel.org
	public-inbox-index linux-sgx

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-sgx


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git