]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/conf/Makefile.riscv
dts: Update our copy for arm, arm64 and riscv dts to Linux 5.5
[FreeBSD/FreeBSD.git] / sys / conf / Makefile.riscv
1 # Makefile.riscv -- with config changes.
2 # Copyright 1990 W. Jolitz
3 #       from: @(#)Makefile.i386 7.1 5/10/91
4 #       from FreeBSD: src/sys/conf/Makefile.i386,v 1.255 2002/02/20 23:35:49
5 # $FreeBSD$
6 #
7 # Makefile for FreeBSD
8 #
9 # RISCVTODO: copy pasted from aarch64, needs to be
10 # constructed from a machine description:
11 #       config machineid
12 # Most changes should be made in the machine description
13 #       /sys/riscv/conf/``machineid''
14 # after which you should do
15 #        config machineid
16 # Generic makefile changes should be made in
17 #       /sys/conf/Makefile.riscv
18 # after which config should be rerun for all machines.
19 #
20
21 # Which version of config(8) is required.
22 %VERSREQ=       600017
23
24 .if !defined(S)
25 S=      ../../..
26 .endif
27 .include "$S/conf/kern.pre.mk"
28
29 INCLUDES+= -I$S/contrib/libfdt
30
31 # Set the ELF LMA to the address that OpenSBI's fw_jump jumps to. This allows
32 # us to load the kernel with the -kernel flag in QEMU without having to embed
33 # it inside BBL or OpenSBI's fw_payload first.
34 # Note: For rv32 the start address is different (0x80400000).
35 # We set this value using --defsym rather than hardcoding it in ldscript.riscv
36 # so that different kernel configs can override the load address.
37 KERNEL_LMA?=    0x80200000
38
39 SYSTEM_LD= @${LD} -N -m ${LD_EMULATION} -Bdynamic -T ${LDSCRIPT} ${_LDFLAGS} \
40         --no-warn-mismatch --warn-common --export-dynamic \
41         --defsym='kernel_lma=${KERNEL_LMA}' \
42         --dynamic-linker /red/herring \
43         -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o
44
45 .if !empty(DDB_ENABLED)
46 CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
47 .endif
48
49 # hack because genassym.c includes sys/bus.h which includes these.
50 genassym.o: bus_if.h device_if.h
51
52 %BEFORE_DEPEND
53
54 %OBJS
55
56 %FILES.c
57
58 %FILES.s
59
60 %FILES.m
61
62 %CLEAN
63
64 %RULES
65
66 .include "$S/conf/kern.post.mk"