mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 02:15:45 +01:00 
			
		
		
		
	RISC-V has two code models, medium low (medlow) and medium any (medany). Medlow limits addressable memory to a single 2 GiB range between the absolute addresses -2 GiB and +2 GiB. Medany limits addressable memory to any single 2 GiB address range. By default, medlow is selected for U-Boot on both 32-bit and 64-bit systems. The -mcmodel compiler flag is selected according to the Kconfig configuration. Signed-off-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de> [bmeng: adjust to make medlow the default code model for U-Boot] Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Anup Patel <anup@brainfault.org>
		
			
				
	
	
		
			38 lines
		
	
	
		
			777 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			777 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| # SPDX-License-Identifier: GPL-2.0+
 | |
| #
 | |
| # Copyright (C) 2017 Andes Technology Corporation.
 | |
| # Rick Chen, Andes Technology Corporation <rick@andestech.com>
 | |
| 
 | |
| ifeq ($(CONFIG_ARCH_RV64I),y)
 | |
| 	ARCH_BASE = rv64im
 | |
| 	ABI = lp64
 | |
| endif
 | |
| ifeq ($(CONFIG_ARCH_RV32I),y)
 | |
| 	ARCH_BASE = rv32im
 | |
| 	ABI = ilp32
 | |
| endif
 | |
| ifeq ($(CONFIG_RISCV_ISA_A),y)
 | |
| 	ARCH_A = a
 | |
| endif
 | |
| ifeq ($(CONFIG_RISCV_ISA_C),y)
 | |
| 	ARCH_C = c
 | |
| endif
 | |
| ifeq ($(CONFIG_CMODEL_MEDLOW),y)
 | |
| 	CMODEL = medlow
 | |
| endif
 | |
| ifeq ($(CONFIG_CMODEL_MEDANY),y)
 | |
| 	CMODEL = medany
 | |
| endif
 | |
| 
 | |
| ARCH_FLAGS = -march=$(ARCH_BASE)$(ARCH_A)$(ARCH_C) -mabi=$(ABI) \
 | |
| 	     -mcmodel=$(CMODEL)
 | |
| 
 | |
| PLATFORM_CPPFLAGS	+= $(ARCH_FLAGS)
 | |
| CFLAGS_EFI		+= $(ARCH_FLAGS)
 | |
| 
 | |
| head-y := arch/riscv/cpu/start.o
 | |
| 
 | |
| libs-y += arch/riscv/cpu/
 | |
| libs-y += arch/riscv/cpu/$(CPU)/
 | |
| libs-y += arch/riscv/lib/
 |