xref: /freebsd/sys/conf/Makefile.riscv (revision d0510c98146f141fcc8f989e8f52625248d7f219)
128029b68SRuslan Bukin# Makefile.riscv -- with config changes.
228029b68SRuslan Bukin# Copyright 1990 W. Jolitz
328029b68SRuslan Bukin#	from FreeBSD: src/sys/conf/Makefile.i386,v 1.255 2002/02/20 23:35:49
428029b68SRuslan Bukin#
528029b68SRuslan Bukin# Makefile for FreeBSD
628029b68SRuslan Bukin#
728029b68SRuslan Bukin# RISCVTODO: copy pasted from aarch64, needs to be
828029b68SRuslan Bukin# constructed from a machine description:
928029b68SRuslan Bukin#	config machineid
1028029b68SRuslan Bukin# Most changes should be made in the machine description
1128029b68SRuslan Bukin#	/sys/riscv/conf/``machineid''
1228029b68SRuslan Bukin# after which you should do
1328029b68SRuslan Bukin#	 config machineid
1428029b68SRuslan Bukin# Generic makefile changes should be made in
1528029b68SRuslan Bukin#	/sys/conf/Makefile.riscv
1628029b68SRuslan Bukin# after which config should be rerun for all machines.
1728029b68SRuslan Bukin#
1828029b68SRuslan Bukin
1928029b68SRuslan Bukin# Which version of config(8) is required.
2002343a67SJohn Baldwin%VERSREQ=	600012
2128029b68SRuslan Bukin
2228029b68SRuslan Bukin.if !defined(S)
2328029b68SRuslan BukinS=	../../..
2428029b68SRuslan Bukin.endif
2528029b68SRuslan Bukin.include "$S/conf/kern.pre.mk"
2628029b68SRuslan Bukin
27384bd0b5SEmmanuel VadotINCLUDES+= -I$S/contrib/libfdt -I$S/contrib/device-tree/include
2828029b68SRuslan Bukin
29febe2bd2SAlex Richardson# Set the ELF LMA to the address that OpenSBI's fw_jump jumps to. This allows
30febe2bd2SAlex Richardson# us to load the kernel with the -kernel flag in QEMU without having to embed
31febe2bd2SAlex Richardson# it inside BBL or OpenSBI's fw_payload first.
32febe2bd2SAlex Richardson# Note: For rv32 the start address is different (0x80400000).
33febe2bd2SAlex Richardson# We set this value using --defsym rather than hardcoding it in ldscript.riscv
34febe2bd2SAlex Richardson# so that different kernel configs can override the load address.
35febe2bd2SAlex RichardsonKERNEL_LMA?=	0x80200000
36e1a6e0e3SMitchell HorneLDFLAGS+= --defsym='kernel_lma=${KERNEL_LMA}'
37af19cc59SRuslan Bukin
38*b926b6dbSMitchell Horne.if !empty(DDB_ENABLED) || !empty(DTRACE_ENABLED) || !empty(HWPMC_ENABLED)
39d52d6d7cSRuslan BukinCFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
4028029b68SRuslan Bukin.endif
4128029b68SRuslan Bukin
4228029b68SRuslan Bukin%BEFORE_DEPEND
4328029b68SRuslan Bukin
4428029b68SRuslan Bukin%OBJS
4528029b68SRuslan Bukin
4628029b68SRuslan Bukin%FILES.c
4728029b68SRuslan Bukin
4828029b68SRuslan Bukin%FILES.s
4928029b68SRuslan Bukin
5028029b68SRuslan Bukin%FILES.m
5128029b68SRuslan Bukin
5228029b68SRuslan Bukin%CLEAN
5328029b68SRuslan Bukin
5428029b68SRuslan Bukin%RULES
5528029b68SRuslan Bukin
5628029b68SRuslan Bukin.include "$S/conf/kern.post.mk"
57