aboutsummaryrefslogtreecommitdiff
path: root/sys/conf/Makefile.riscv
blob: d4b1e6934ae879cacdd0cc27a2f0c0625f72937e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Makefile.riscv -- with config changes.
# Copyright 1990 W. Jolitz
#	from: @(#)Makefile.i386	7.1 5/10/91
#	from FreeBSD: src/sys/conf/Makefile.i386,v 1.255 2002/02/20 23:35:49
# $FreeBSD$
#
# 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)
CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
.endif

# hack because genassym.c includes sys/bus.h which includes these.
genassym.o: bus_if.h device_if.h

%BEFORE_DEPEND

%OBJS

%FILES.c

%FILES.s

%FILES.m

%CLEAN

%RULES

.include "$S/conf/kern.post.mk"