b002bfbade
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
30 lines
687 B
Makefile
30 lines
687 B
Makefile
# $FreeBSD$
|
|
#
|
|
# Common definitons for programs building in the stand-alone environment
|
|
# and/or using libstand.
|
|
#
|
|
|
|
CFLAGS+= -ffreestanding -Wformat
|
|
CFLAGS+= ${CFLAGS_NO_SIMD} -D_STANDALONE
|
|
.if ${MACHINE_CPUARCH} == "riscv"
|
|
CFLAGS+= -march=rv64imac -mabi=lp64
|
|
.elif ${MACHINE_CPUARCH} != "aarch64"
|
|
CFLAGS+= -msoft-float
|
|
.endif
|
|
|
|
.if ${MACHINE_CPUARCH} == "i386"
|
|
CFLAGS.gcc+= -mpreferred-stack-boundary=2
|
|
.endif
|
|
.if ${MACHINE_CPUARCH} == "amd64"
|
|
CFLAGS+= -fPIC -mno-red-zone
|
|
.endif
|
|
.if ${MACHINE_CPUARCH} == "aarch64"
|
|
CFLAGS+= -fPIC -mgeneral-regs-only
|
|
.endif
|
|
.if ${MACHINE_CPUARCH} == "arm"
|
|
CFLAGS+= -fPIC
|
|
.endif
|
|
.if ${MACHINE_CPUARCH} == "mips"
|
|
CFLAGS+= -G0 -fno-pic -mno-abicalls
|
|
.endif
|