[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 10/07/18 08:02, Wei Chen wrote: Hi Julien, Hi Wei, -----Original Message----- From: Julien Grall <julien.grall@xxxxxxx> Sent: 2018年7月9日 18:26 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 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: Addprocessoroptimization 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-extensionsI 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.Do you know from which version the GCC started to support __aarch64__ macro by default? Or if we don't use GCC, does other compiler like LLVM still provide __aarch64__ macro? I don't know which GCC version that started to support __aarch64__, but I am ready to be this was there since the beginning as there are counterpart for other architectures [1]. Note that, we have been using that macro on Xen since that arm64 port was added (5 years ago). For other compiler, while this is a GNU C extension, this is also at least defined by Clang. I would not be surprised if other supports that too as some headers will require to have different behavior depending on the architecture. Cheers, [1] https://sourceforge.net/p/predef/wiki/Architectures/ -- Julien Grall _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |