freebsd-dev/sys
Mark Johnston 31218f3209 riscv: Add support for enabling SV48 mode
This increases the size of the user map from 256GB to 128TB.  The kernel
map is left unchanged for now.

For now SV48 mode is left disabled by default, but can be enabled with a
tunable.  Note that extant hardware does not implement SV48, but QEMU
does.

- In pmap_bootstrap(), allocate a L0 page and attempt to enable SV48
  mode.  If the write to SATP doesn't take, the kernel continues to run
  in SV39 mode.
- Define VM_MAX_USER_ADDRESS to refer to the SV48 limit.  In SV39 mode,
  the region [VM_MAX_USER_ADDRESS_SV39, VM_MAX_USER_ADDRESS_SV48] is not
  mappable.

Reviewed by:	jhb
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D34280
2022-03-01 09:39:44 -05:00
..
amd64 x86: Probe the TSC frequency earlier 2022-03-01 09:39:35 -05:00
arm arm: Add extres pseudo devices to some kernel 2022-02-23 08:47:57 +01:00
arm64 Fix the sanitizer header checks on arm64 2022-02-23 14:50:56 +00:00
bsm
cam CTL: Rework 05c3e8e871 using %zu format. 2022-02-25 11:53:53 -05:00
cddl fbt: Remove handling for CTFv1 2022-02-23 11:41:22 -05:00
compat LinuxKPI: add MODULE_IMPORT_NS() 2022-02-24 19:59:25 +00:00
conf Create a new GEOM utility, gunion(8). 2022-02-28 16:36:08 -08:00
contrib Remove prototype of x86emu_init_default. 2022-02-27 15:11:17 -08:00
crypto armv8crypto: Remove leftover debug printfs 2022-02-17 14:25:45 -05:00
ddb ddb: Remove SOFTWARE_SSTEP support 2022-01-07 09:25:33 -07:00
dev bwn: Remove useless variable 2022-02-28 10:14:34 -07:00
dts dts: add IPQ4018/IPQ4019 ethernet MAC and ethernet switch definitions 2022-02-03 21:26:45 -08:00
fs nfscl: Fix a use after free in nfscl_cleanupkext() 2022-02-25 07:27:03 -08:00
gdb gdb(4): Do not use run length encoding for 3-symbol repetitions 2022-01-22 14:46:06 -05:00
geom Add casts to printf statements to keep armv6, armv7, and powerpc 2022-02-28 19:28:02 -08:00
gnu
i386 x86: Probe the TSC frequency earlier 2022-03-01 09:39:35 -05:00
isa sys/isa: Use C99 fixed-width integer types. 2021-12-28 09:41:57 -08:00
kern rmlock: Add required compiler barriers to _rm_runlock() 2022-03-01 09:38:45 -05:00
kgssapi
libkern sys/libkern: Use C99 fixed-width integer types. 2021-12-28 09:42:11 -08:00
modules Create a new GEOM utility, gunion(8). 2022-02-28 16:36:08 -08:00
net bridge: Don't share broadcast packets 2022-02-21 19:03:44 +01:00
net80211 net80211: enhance (disabled) debugging 2022-02-14 22:16:59 +00:00
netgraph ng pppoe(4): Add the required NET_EPOCH section to the hook 2022-02-09 22:00:50 +03:00
netinet rip: Fix a -Wunused-but-set-variable warning 2022-03-01 09:39:43 -05:00
netinet6 Fix a memory leak when ip_output_send() returns EAGAIN due to send tag issues 2022-01-27 10:34:34 -05:00
netipsec ipsec: sprinkle CURVNET_ASSERT_SET 2022-02-19 13:10:41 +00:00
netpfil pf: fix set_prio after nv conversion 2022-02-14 22:51:10 +01:00
netsmb
nfs nfs: don't truncate directory cookies to 32-bits in the NFS server 2021-12-15 20:54:57 -07:00
nfsclient
nfsserver
nlm sys/nlm: Use C99 fixed-width integer types. 2021-12-28 09:42:42 -08:00
ofed ibcore: Add support for NDR link speed. 2022-02-21 09:35:19 +01:00
opencrypto crypto: hide crypto_destroyreq behind a tunable 2022-02-16 07:45:12 +00:00
powerpc proc: load/store p_cowgen using atomic primitives 2022-02-13 13:07:08 +00:00
riscv riscv: Add support for enabling SV48 mode 2022-03-01 09:39:44 -05:00
rpc sys/rpc: Use C99 fixed-width integer types. 2021-12-28 09:43:15 -08:00
security Thread creation privilege for realtime group 2021-12-15 00:01:58 +02:00
sys Expand __diagused to include the KTR kernel diagnostic option. 2022-02-26 11:01:54 -07:00
teken
tests
tools Revert "syscallarg_t: Add a type for system call arguments" 2022-01-12 23:29:20 +00:00
ufs ffs_read(): lock buffers after snaplk with LK_NOWITNESS 2022-02-06 03:26:22 +02:00
vm uma: Add UMA_ZONE_UNMANAGED 2022-02-15 09:25:34 -05:00
x86 x86: Probe the TSC frequency earlier 2022-03-01 09:39:35 -05:00
xdr sys/xdr: Use C99 fixed-width integer types. 2021-12-28 09:43:26 -08:00
xen xen: remove public headers in sys/xen/interface 2022-02-07 10:12:34 +01:00
Makefile Fix 'make cscope' with ALL_ARCH defined 2022-01-07 11:53:52 -04:00