[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



Hi Julien,

> -----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: 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.
> 

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?


> 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®.