opnsense-src/sys/arm64
Andrew Turner 36f1526a59 Add experimental 16k page support on arm64
Add initial 16k page support on arm64. It is considered experimental,
with no guarantee of compatibility with a userspace or kernel modules
built with the current a 4k page size as code will likely try to pass
in a too small size when working with APIs that take a multiple of a
page, e.g. mmap.

As this is experimental, and because userspace and the kernel need to
have the PAGE_SIZE macro kept in sync there is no kernel option to
enable this. To test a new image should be built with the
PAGE_{SIZE,SHIFT,MASK} macros changed to the 16k versions.

There are currently known issues with loading modules from an old
loader as it can misalign them to load on a non-16k boundary.

Testing has shown good results in kernel workloads that allocate and
free large amounts of memory as only a quarter of the number of calls
into the VM subsystem are needed in the best case.

Reviewed by:	markj
Tested by:	gallatin
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D34793
2022-07-19 10:57:03 +01:00
..
acpica acpi: add sys/kernel.h 2022-07-02 10:35:49 -06:00
arm64 Add experimental 16k page support on arm64 2022-07-19 10:57:03 +01:00
broadcom arm/arm64 broadcom: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-09 14:26:44 -07:00
cavium Add fdt to name of a fdt specific function 2022-05-23 15:24:35 +01:00
conf pca954x: harmonize pca9547 and pca954x and add pca9540 support 2022-07-04 19:12:01 +00:00
coresight arm64 coresight: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-09 14:26:45 -07:00
freescale/imx arm/arm64 freescale: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-09 14:26:44 -07:00
include Add experimental 16k page support on arm64 2022-07-19 10:57:03 +01:00
intel arm64 intel: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-09 14:26:45 -07:00
iommu Add OFW support to arm64's IOMMU framework. 2022-05-18 14:11:23 +01:00
linux Rework how shared page related data is stored 2022-07-18 16:27:32 +02:00
nvidia/tegra210 arm/arm64 nvidia: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-09 14:26:45 -07:00
qoriq arm64, qoriq_therm: fix handling sites on version 1 and 2 2022-07-18 11:51:03 +00:00
qualcomm arm/arm64 qualcomm: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-09 14:26:45 -07:00
rockchip Add RK3568 SoC support to pinctrl driver. 2022-07-09 13:06:52 +00:00