|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH 8/9] build: Add compiler and flags for arm64
In order to support arm64, we have to add correct compiler
for arm64, and add proper optimization flags for select
processor.
Signed-off-by: Wei Chen <Wei.Chen@xxxxxxx>
---
arch/arm/Compiler.uk | 4 ++++
arch/arm/Makefile.uk | 38 ++++++++++++++++++++++++++++++++++++++
2 files changed, 42 insertions(+)
diff --git a/arch/arm/Compiler.uk b/arch/arm/Compiler.uk
index ee34916..f625d7c 100644
--- a/arch/arm/Compiler.uk
+++ b/arch/arm/Compiler.uk
@@ -1,6 +1,10 @@
# set cross compile
ifeq ($(CROSS_COMPILE),)
ifneq ($(UK_ARCH),$(HOSTARCH))
+ifeq ($(UK_ARCH),arm)
CROSS_COMPILE := arm-linux-gnueabihf-
+else ifeq ($(UK_ARCH),arm64)
+ CROSS_COMPILE := aarch64-linux-gnu-
+endif
endif
endif
diff --git a/arch/arm/Makefile.uk b/arch/arm/Makefile.uk
index e7f7b49..03e809f 100644
--- a/arch/arm/Makefile.uk
+++ b/arch/arm/Makefile.uk
@@ -33,6 +33,44 @@ LIBARMMATH_SRCS-y += $(UK_BASE)/arch/arm/arm32/ldivmod.S
LIBARMMATH_SRCS-y += $(UK_BASE)/arch/arm/arm32/ldivmod_helper.c
LIBARMMATH_SRCS-y += $(UK_BASE)/arch/arm/arm32/qdivrem.c
+else ifeq ($(UK_ARCH),arm64)
+
+ASFLAGS += -D__ARM_64__
+CFLAGS += -D__ARM_64__ -fms-extensions
+CXXFLAGS += -D__ARM_64__ -fms-extensions
+
+ifeq ($(MARCH_ARM64_NATIVE), y)
+$(eval $(call set_cc_flags,armv8-a,native,6,0))
+endif
+
+ifeq ($(MARCH_ARM64_GENERIC), y)
+$(eval $(call set_cc_flags,armv8-a,generic,4,8))
+endif
+
+ifeq ($(MARCH_ARM64_CORTEXA53),y)
+$(eval $(call set_cc_flags,armv8-a,cortex-a53,4,9))
+endif
+
+ifeq ($(MARCH_ARM64_CORTEXA57),y)
+$(eval $(call set_cc_flags,armv8-a,cortex-a57,4,9))
+endif
+
+ifeq ($(MARCH_ARM64_CORTEXA72),y)
+$(eval $(call set_cc_flags,armv8-a,cortex-a72,5,0))
+endif
+
+ifeq ($(MARCH_ARM64_CORTEXA73),y)
+$(eval $(call set_cc_flags,armv8-a,cortex-a73,7,0))
+endif
+
+ifeq ($(MARCH_ARM64_CORTEXA55),y)
+$(eval $(call set_cc_flags,armv8.2-a,cortex-a55,8,0))
+endif
+
+ifeq ($(MARCH_ARM64_CORTEXA75),y)
+$(eval $(call set_cc_flags,armv8.2-a,cortex-a75,8,0))
+endif
+
else
$(error Target architecture ($(UK_ARCH)) is currently not supported.)
endif
--
2.7.4
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |