[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月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. @Simon Kuenzer (simon.kuenzer@xxxxxxxxx) will external libraries use The flags that are defined here? > > > + > > +# GCC support -mcpu=native for arm64 from 6.0 > > +ifeq ($(CONFIG_MARCH_ARM64_NATIVE),y) > > +$(eval $(call set_flags_if_gcc_version_ge,6,0,-mcpu=native)) > > +endif > > + > > +# GCC support -mcpu=generic for arm64 from 4.8 > > +ifeq ($(CONFIG_MARCH_ARM64_GENERIC),y) > > +$(eval $(call set_flags_if_gcc_version_ge,4,8,-march=armv8-a -mcpu=generic > -mtune=generic)) > > +endif > > + > > +# GCC support -mcpu=cortex-a53 for arm64 from 4.9 > > +ifeq ($(CONFIG_MARCH_ARM64_CORTEXA53),y) > > +$(eval $(call set_flags_if_gcc_version_ge,4,9,-march=armv8-a -mcpu=cortex- > a53 -mtune=cortex-a53)) > > +endif > > + > > +# GCC support -mcpu=cortex-a57 for arm64 from 4.9 > > +ifeq ($(CONFIG_MARCH_ARM64_CORTEXA57),y) > > +$(eval $(call set_flags_if_gcc_version_ge,4,9,-march=armv8-a -mcpu=cortex- > a57 -mtune=cortex-a57)) > > +endif > > + > > +# GCC support -mcpu=cortex-a72 for arm64 from 5.0 > > +ifeq ($(CONFIG_MARCH_ARM64_CORTEXA72),y) > > +$(eval $(call set_flags_if_gcc_version_ge,5,0,-march=armv8-a -mcpu=cortex- > a72 -mtune=cortex-a72)) > > +endif > > + > > +# GCC support -mcpu=cortex-a73 for arm64 from 7.0 > > +ifeq ($(CONFIG_MARCH_ARM64_CORTEXA73),y) > > +$(eval $(call set_flags_if_gcc_version_ge,7,0,-march=armv8-a -mcpu=cortex- > a73 -mtune=cortex-a73)) > > +endif > > + > > +# GCC support -mcpu=cortex-a55 for arm64 from 8.0 > > +ifeq ($(CONFIG_MARCH_ARM64_CORTEXA55),y) > > +$(eval $(call set_flags_if_gcc_version_ge,8,0,-march=armv8.2-a - > mcpu=cortex-a55 -mtune=cortex-a55)) > > +endif > > + > > +# GCC support -mcpu=cortex-a75 for arm64 from 8.0 > > +ifeq ($(CONFIG_MARCH_ARM64_CORTEXA75),y) > > +$(eval $(call set_flags_if_gcc_version_ge,8,0,-march=armv8.2-a - > mcpu=cortex-a75 -mtune=cortex-a75)) > > +endif > > > > Cheers, > > -- > Julien Grall > > -- > 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 |