[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT PATCHv4 11/43] arch/arm64: Add processor optimization GCC flags for arm64



On 09/07/18 10:17, Wei Chen wrote:
Hi Julien,

Hi,

-----Original Message-----
From: Julien Grall <julien.grall@xxxxxxx>
Sent: 2018年7月8日 5:59
To: Wei Chen <Wei.Chen@xxxxxxx>; minios-devel@xxxxxxxxxxxxxxxxxxxx;
simon.kuenzer@xxxxxxxxx
Cc: Kaly Xin <Kaly.Xin@xxxxxxx>; nd <nd@xxxxxxx>
Subject: Re: [Minios-devel] [UNIKRAFT PATCHv4 11/43] arch/arm64: Add processor
optimization GCC flags for arm64

Hi Wei,

On 07/06/2018 10:03 AM, Wei Chen wrote:
We added serval arm64 CPU models in support list. In this patch,

s/serval/several/


Oh, thanks again!

Cheers,

we check the GCC version and add optimization GCC flags for
selected processor.

Current supported arm64 CPU models:
native, generic, cortex-a53, cortex-a57, cortex-a72, cortex-a73,
cortex-a55 and cortex-a75.

Signed-off-by: Wei Chen <Wei.Chen@xxxxxxx>
---
   arch/arm/arm64/Compiler.uk |  6 ++++++
   arch/arm/arm64/Makefile.uk | 43 ++++++++++++++++++++++++++++++++++++++
   2 files changed, 49 insertions(+)
   create mode 100644 arch/arm/arm64/Compiler.uk
   create mode 100644 arch/arm/arm64/Makefile.uk

diff --git a/arch/arm/arm64/Compiler.uk b/arch/arm/arm64/Compiler.uk
new file mode 100644
index 0000000..4572013
--- /dev/null
+++ b/arch/arm/arm64/Compiler.uk
@@ -0,0 +1,6 @@
+# set cross compile
+ifeq ($(CONFIG_CROSS_COMPILE),)
+ifneq ($(CONFIG_UK_ARCH),$(HOSTARCH))
+       CONFIG_CROSS_COMPILE := aarch64-linux-gnu-
+endif
+endif
diff --git a/arch/arm/arm64/Makefile.uk b/arch/arm/arm64/Makefile.uk
new file mode 100644
index 0000000..f6aeeac
--- /dev/null
+++ b/arch/arm/arm64/Makefile.uk
@@ -0,0 +1,43 @@
+ASFLAGS  += -D__ARM_64__
+CFLAGS   += -D__ARM_64__ -fms-extensions
+CXXFLAGS += -D__ARM_64__ -fms-extensions

I would rather avoid to define yet another macro and re-use __aarch64__
defined by the aarch64 compiler.

It does make sense. But I am not sure if we keep __ARM_64__ here can improve
the compatibility for other libraries. Because for internal libraries we can
__aarch64__ uniformly. But for external libraries, we change them to __aarch64__
Easily.

If other libraries are using __ARM_64__, then I would say go an fix your libraries :). But I would expect most of them to use what's the compiler provide.

Cheers,

--
Julien Grall

_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.