opnsense-src/sys/dev/syscons
Konstantin Belousov 9a52756044 i386: Merge PAE and non-PAE pmaps into same kernel.
Effectively all i386 kernels now have two pmaps compiled in: one
managing PAE pagetables, and another non-PAE. The implementation is
selected at cold time depending on the CPU features. The vm_paddr_t is
always 64bit now. As result, nx bit can be used on all capable CPUs.

Option PAE only affects the bus_addr_t: it is still 32bit for non-PAE
configs, for drivers compatibility. Kernel layout, esp. max kernel
address, low memory PDEs and max user address (same as trampoline
start) are now same for PAE and for non-PAE regardless of the type of
page tables used.

Non-PAE kernel (when using PAE pagetables) can handle physical memory
up to 24G now, larger memory requires re-tuning the KVA consumers and
instead the code caps the maximum at 24G. Unfortunately, a lot of
drivers do not use busdma(9) properly so by default even 4G barrier is
not easy. There are two tunables added: hw.above4g_allow and
hw.above24g_allow, the first one is kept enabled for now to evaluate
the status on HEAD, second is only for dev use.

i386 now creates three freelists if there is any memory above 4G, to
allow proper bounce pages allocation. Also, VM_KMEM_SIZE_SCALE changed
from 3 to 1.

The PAE_TABLES kernel config option is retired.

In collaboarion with: pho
Discussed with:	emaste
Reviewed by:	markj
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential revision:	https://reviews.freebsd.org/D18894
2019-01-30 02:07:13 +00:00
..
apm sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
blank sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
daemon sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
dragon sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
fade sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
fire Revert r327828, r327949, r327953, r328016-r328026, r328041: 2018-01-21 15:42:36 +00:00
fonts Add files to help manage the (vga) syscons mouse cursor. 2017-07-08 15:01:55 +00:00
green sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
logo sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
plasma Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
rain sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
snake sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
star sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
warp sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
scgfbrndr.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
schistory.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
scmouse.c Remove the Yarrow PRNG algorithm option in accordance with due notice 2018-08-26 12:51:46 +00:00
scterm-teken.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
scterm.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
scvesactl.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
scvgarndr.c kernel: Fix several typos and minor errors 2017-12-27 03:23:21 +00:00
scvidctl.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
scvtb.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
syscons.c i386: Merge PAE and non-PAE pmaps into same kernel. 2019-01-30 02:07:13 +00:00
syscons.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
sysmouse.c Drop MOUSE_GETVARS and MOUSE_SETVARS ioctls support. 2018-06-10 10:23:31 +00:00