freebsd-dev/sys/x86
Jason A. Harmening 6f378116e9 Intel DMAR: remove parsing of 6-level paging capability
Early versions of the VT-d spec mentioned 6-level paging support as a
possible value for the SAGAW capability, but later versions removed it
and SAGAW=0x10 is currently listed as a reserved value.

The 6-level (agaw=64) entry in sagaw_bits is furthermore problematic
with clang15 because the attempted comparison against 1ULL << 64 in
dmar_maxaddr2mgaw() causes the compiler to elide the last iteration
of the initial loop, which bypasses the subsequent logic to find the
greatest HW-supported address width.  This results in 5-level paging
always being selected regardless of whether the hardware supports it,
which can result address translation failure due to invalid context-
entry programming.

Reviewed by:	kib
MFC after:	3 days
Differential Revision: https://reviews.freebsd.org/D39896
2023-05-02 09:06:11 -05:00
..
acpica amd64/efi: Stop falling back to hints for RSDP 2022-07-02 08:02:12 -06:00
bios x86: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:58 -07:00
conf Complete retire cp(4) 2022-12-14 11:38:55 +08:00
cpufreq cpufreq: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:39:29 -07:00
include Use bool for one-bit wide bit-fields 2023-04-25 19:26:03 +02:00
iommu Intel DMAR: remove parsing of 6-level paging capability 2023-05-02 09:06:11 -05:00
isa x86: Move i386 timerreg.h to x86 2023-04-20 19:42:59 +03:00
linux linux(4): Cleanup includes under x86/linux 2023-02-14 17:46:33 +03:00
pci pci: expose intel_graphics_stolen as sysctl 2023-03-27 11:40:49 +02:00
x86 busdma: Update KMSAN shadow maps later in bounce_bus_dmamap_sync() 2023-04-28 10:59:01 -04:00
xen xen: move common variables off of sys/x86/xen/hvm.c 2023-04-14 15:59:11 +02:00