freebsd-dev/sys
Mitchell Horne f7d2df2a8a Handle load from loader(8)
In locore, we must detect and handle different arguments passed by
loader(8) compared to what we recieve when booting directly via SBI
firmware. Currently we receive the hart ID in a0 and a pointer to the
device tree blob in a1. loader(8) provides only a pointer to its
metadata in a0.

The solution to this is to add an additional entry point, _alt_start.
This will be placed first in the .text section, so SBI firmware will
enter here, and jump to the common pagetable setup shortly after. Since
loader(8) understands our ELF kernel, it will enter at the ELF's entry
address, which points to _start. This approach leads to very little
guesswork as to which way we booted.

Fix-up initriscv() to parse the loader's metadata, continuing to use
fake_preload_metadata() in the SBI direct boot case.

Reviewed by:	markj, jrtc27 (asm portion)
Differential Revision:	https://reviews.freebsd.org/D24912
2020-06-24 15:20:00 +00:00
..
amd64 Adapt linuxulator syscalls.master files to the new layout. 2020-06-21 10:09:34 +00:00
arm Fix reboot command on the Raspberry Pi series. 2020-06-22 08:12:21 +00:00
arm64 arm64 armreg.h: fix TCR_TBI1 definition 2020-06-23 15:32:05 +00:00
bsm bsm: add AUE_CLOSERANGE 2020-04-24 01:27:25 +00:00
cam Use the more descriptive src_ccb and dst_ccb for the two ccbs being merged. 2020-06-20 04:07:23 +00:00
cddl MFOpenZFS: Add basic zfs ioc input nvpair validation 2020-06-23 06:42:39 +00:00
compat In r362552, RB_SET_PARENT is defined, and use in parens in 2020-06-23 22:47:54 +00:00
conf kmod.mk: Don't split out debug symbols if requested 2020-06-23 18:25:31 +00:00
contrib Document upgrade procedure in FREEBSD-upgrade 2020-06-04 20:48:57 +00:00
crypto Add support for requests with separate AAD to aesni(4). 2020-06-22 23:22:13 +00:00
ddb [PowerPC] More relocation fixes 2020-06-21 03:39:26 +00:00
dev Fix AccessWidth and BitWidth parsing in SPCR table 2020-06-24 12:15:27 +00:00
dts Remove licenses 2020-06-04 17:20:58 +00:00
fs Add some missing parts for supporting va_birthtime. 2020-06-22 08:23:16 +00:00
gdb Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
geom Optimize g_journal's superblock update by noting that the summary 2020-06-23 21:44:00 +00:00
gnu dts: patch the am33xx dts for upcoming clock support 2020-06-05 20:14:54 +00:00
i386 Adapt linuxulator syscalls.master files to the new layout. 2020-06-21 10:09:34 +00:00
isa sc(4) md bits: stop setting sc->kbd entirely 2019-12-30 02:07:55 +00:00
kern vfs: track sequential reads and writes separately 2020-06-21 08:51:24 +00:00
kgssapi Add support for optional separate output buffers to in-kernel crypto. 2020-05-25 22:12:04 +00:00
libkern libkern: Add arc4random_uniform 2020-05-23 17:51:06 +00:00
mips [PowerPC] More relocation fixes 2020-06-21 03:39:26 +00:00
modules Add DTB files for ARMADA 8040 based boards. 2020-06-19 14:28:56 +00:00
net iflib: netmap: fix rsync index overrun 2020-06-23 20:23:56 +00:00
net80211 [net80211] Add missing commit to previous-1 uapsd commit. 2020-06-16 00:28:45 +00:00
netgraph Update event masks constant to Bluetooth core spec V5.2 2020-06-15 14:58:40 +00:00
netinet Fix the acconting for fragmented unordered messages when using 2020-06-24 14:47:51 +00:00
netinet6 Add the SCTP_SUPPORT kernel option. 2020-06-18 19:32:34 +00:00
netipsec Add the SCTP_SUPPORT kernel option. 2020-06-18 19:32:34 +00:00
netpfil Add the SCTP_SUPPORT kernel option. 2020-06-18 19:32:34 +00:00
netsmb Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
nfs Use epoch(9) for rtentries to simplify control plane operations. 2020-05-23 10:21:02 +00:00
nfsclient
nfsserver
nlm Fix export_args ex_flags field so that is 64bits, the same as mnt_flags. 2020-06-14 00:10:18 +00:00
ofed Convert OFED rtable interactions to the new routing KPI. 2020-04-15 13:06:55 +00:00
opencrypto Store the AAD in a separate buffer for KTLS. 2020-06-23 00:02:28 +00:00
powerpc [PowerPC] More relocation fixes 2020-06-21 03:39:26 +00:00
riscv Handle load from loader(8) 2020-06-24 15:20:00 +00:00
rpc Fix up a comment added by r362455. 2020-06-21 02:49:56 +00:00
security mac_veriexec_fingerprint_check_vnode: v_writecount > 0 means active writers 2020-06-12 21:51:20 +00:00
sys Define RB_SET_PARENT to do all assignments to rb parent 2020-06-23 20:02:55 +00:00
teken
tests Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tools vfs: stop null checking routines in vop wrappers 2020-01-26 00:41:38 +00:00
ufs The binary representation of the superblock (the fs structure) is written 2020-06-19 01:04:25 +00:00
vm Clarify some language. Favor primary where both master and primary were 2020-06-20 20:21:04 +00:00
x86 Assume all TSCs are synchronized for AMD Family 17h processors and later 2020-06-22 20:42:58 +00:00
xdr Split XDR into separate kernel module. Make krpc depend on xdr. 2020-04-17 06:04:20 +00:00
xen Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (16 of many) 2020-02-25 19:04:39 +00:00
Makefile Remove sparc64 kernel support 2020-02-03 17:35:11 +00:00