[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 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/ 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. + +# 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 |