2016-01-29 15:12:31 +00:00
|
|
|
# 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.
|
2020-04-27 21:51:22 +00:00
|
|
|
%VERSREQ= 600012
|
2016-01-29 15:12:31 +00:00
|
|
|
|
|
|
|
.if !defined(S)
|
|
|
|
S= ../../..
|
|
|
|
.endif
|
|
|
|
.include "$S/conf/kern.pre.mk"
|
|
|
|
|
2021-01-16 10:31:17 +00:00
|
|
|
INCLUDES+= -I$S/contrib/libfdt -I$S/contrib/device-tree/include
|
2016-01-29 15:12:31 +00:00
|
|
|
|
2020-02-04 00:06:16 +00:00
|
|
|
# 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
|
2020-05-22 18:54:56 +00:00
|
|
|
LDFLAGS+= --defsym='kernel_lma=${KERNEL_LMA}'
|
2017-08-10 14:18:09 +00:00
|
|
|
|
2016-01-29 15:12:31 +00:00
|
|
|
.if !empty(DDB_ENABLED)
|
2016-03-10 15:51:43 +00:00
|
|
|
CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
2016-01-29 15:12:31 +00:00
|
|
|
.endif
|
|
|
|
|
2016-05-24 16:30:05 +00:00
|
|
|
# hack because genassym.c includes sys/bus.h which includes these.
|
|
|
|
genassym.o: bus_if.h device_if.h
|
|
|
|
|
2016-01-29 15:12:31 +00:00
|
|
|
%BEFORE_DEPEND
|
|
|
|
|
|
|
|
%OBJS
|
|
|
|
|
|
|
|
%FILES.c
|
|
|
|
|
|
|
|
%FILES.s
|
|
|
|
|
|
|
|
%FILES.m
|
|
|
|
|
|
|
|
%CLEAN
|
|
|
|
|
|
|
|
%RULES
|
|
|
|
|
|
|
|
.include "$S/conf/kern.post.mk"
|