Hi Lukas, On Sat, Oct 20, 2018 at 6:09 AM Lukas Auer <lukas.a...@aisec.fraunhofer.de> wrote: > > Use the new Kconfig entries to construct the ISA string for the -march > compiler flag. The -mabi compiler flag is selected based on the base > integer instruction set. > > With this change, the C (compressed instructions) ISA extension is now > enabled for all boards with CONFIG_RISCV_ISA_C set. Buildman reports a > decrease in binary size of 71590 bytes. > > Signed-off-by: Lukas Auer <lukas.a...@aisec.fraunhofer.de> > --- > > arch/riscv/Makefile | 13 +++++++++++++ > arch/riscv/config.mk | 4 ---- > 2 files changed, 13 insertions(+), 4 deletions(-) > > diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile > index 8fb6a889d8..6fb292d0b4 100644 > --- a/arch/riscv/Makefile > +++ b/arch/riscv/Makefile > @@ -3,6 +3,19 @@ > # Copyright (C) 2017 Andes Technology Corporation. > # Rick Chen, Andes Technology Corporation <r...@andestech.com> > > +riscv-march-$(CONFIG_ARCH_RV32I) := rv32im > +riscv-march-$(CONFIG_ARCH_RV64I) := rv64im > +riscv-march-$(CONFIG_RISCV_ISA_A) := $(riscv-march-y)a > +riscv-march-$(CONFIG_RISCV_ISA_C) := $(riscv-march-y)c > + > +riscv-mabi-$(CONFIG_ARCH_RV64I) := lp64 > +riscv-mabi-$(CONFIG_ARCH_RV32I) := ilp32 > + > +arch-y := -march=$(riscv-march-y) -mabi=$(riscv-mabi-y) > + > +PLATFORM_CPPFLAGS += $(arch-y) > +CFLAGS_EFI += $(arch-y) > +
The concept of this patch is good. However the usage of := is a bit odd, since it makes people think the latter will override the former one, however it is not. Can we get rid of these riscv-mach-xxx, instead using something like this: ifeq ($(CONFIG_RISCV_ISA_A),y) ARCH_A = a endif ifeq ($(CONFIG_RISCV_ISA_C),y) ARCH_C = c endif ifeq ($(CONFIG_ARCH_RV32I),y) BITS = 32 ABI_I = i endif ifeq ($(CONFIG_ARCH_RV64I),y) BITS = 64 endif PLATFORM_CPPFLAGS += -march=rv$(BITS)im$(ARCH_A)$(ARCH_C) -mabi=$(ABI_I)lp$(BITS) > head-y := arch/riscv/cpu/start.o > > libs-y += arch/riscv/cpu/ > diff --git a/arch/riscv/config.mk b/arch/riscv/config.mk > index ed9eb0c24c..9088b9ef2c 100644 > --- a/arch/riscv/config.mk > +++ b/arch/riscv/config.mk > @@ -14,16 +14,12 @@ > 64bit-emul := elf64lriscv > > ifdef CONFIG_32BIT > -PLATFORM_CPPFLAGS += -march=rv32ima -mabi=ilp32 > PLATFORM_LDFLAGS += -m $(32bit-emul) > -CFLAGS_EFI += -march=rv32ima -mabi=ilp32 > EFI_LDS := elf_riscv32_efi.lds > endif > > ifdef CONFIG_64BIT > -PLATFORM_CPPFLAGS += -march=rv64ima -mabi=lp64 > PLATFORM_LDFLAGS += -m $(64bit-emul) > -CFLAGS_EFI += -march=rv64ima -mabi=lp64 > EFI_LDS := elf_riscv64_efi.lds > endif > > -- Regards, Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot