mirror of
https://github.com/opnsense/src.git
synced 2026-03-09 01:30:47 -04:00
New version is not compatible on supervisor mode with v1.9.1
(previous version).
Highlights:
o BBL (Berkeley Boot Loader) provides no initial page tables
anymore allowing us to choose VM, to build page tables manually
and enable MMU in S-mode.
o SBI interface changed.
o GENERIC kernel.
FDT is now chosen standard for RISC-V hardware description.
DTB is now provided by Spike (golden model simulator). This
allows us to introduce GENERIC kernel. However, description
for console and timer devices is not provided in DTB, so move
these devices temporary to nexus bus.
o Supervisor can't access userspace by default. Solution is to
set SUM (permit Supervisor User Memory access) bit in sstatus
register.
o Compressed extension is now turned on by default.
o External GCC 7.1 compiler used.
o _gp renamed to __global_pointer$
o Compiler -march= string is now in use allowing us to choose
required extensions (compressed, FPU, atomic, etc).
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D11800
57 lines
1.2 KiB
Makefile
57 lines
1.2 KiB
Makefile
# 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
|
|
|
|
SYSTEM_LD= @${LD} -N -m ${LD_EMULATION} -Bdynamic -T ${LDSCRIPT} ${_LDFLAGS} \
|
|
--no-warn-mismatch --warn-common --export-dynamic \
|
|
--dynamic-linker /red/herring \
|
|
-o ${.TARGET} -X ${SYSTEM_OBJS} vers.o
|
|
|
|
.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"
|