# Makefile.riscv -- with config changes. # Copyright 1990 W. Jolitz # from FreeBSD: src/sys/conf/Makefile.i386,v 1.255 2002/02/20 23:35:49 # # Makefile for FreeBSD # # RISCVTODO: copy pasted from aarch64, needs to be # constructed from a machine description: # config machineid # Most changes should be made in the machine description # /sys/riscv/conf/``machineid'' # after which you should do # config machineid # Generic makefile changes should be made in # /sys/conf/Makefile.riscv # after which config should be rerun for all machines. # # Which version of config(8) is required. %VERSREQ= 600012 .if !defined(S) S= ../../.. .endif .include "$S/conf/kern.pre.mk" INCLUDES+= -I$S/contrib/libfdt -I$S/contrib/device-tree/include # Set the ELF LMA to the address that OpenSBI's fw_jump jumps to. This allows # us to load the kernel with the -kernel flag in QEMU without having to embed # it inside BBL or OpenSBI's fw_payload first. # Note: For rv32 the start address is different (0x80400000). # We set this value using --defsym rather than hardcoding it in ldscript.riscv # so that different kernel configs can override the load address. KERNEL_LMA?= 0x80200000 LDFLAGS+= --defsym='kernel_lma=${KERNEL_LMA}' .if !empty(DDB_ENABLED) || !empty(DTRACE_ENABLED) || !empty(HWPMC_ENABLED) CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls .endif %BEFORE_DEPEND %OBJS %FILES.c %FILES.s %FILES.m %CLEAN %RULES .include "$S/conf/kern.post.mk"