freebsd-src/sys/x86
John Baldwin 67b0b90785 i386: Always bounce DMA requests above 4G for !PAE kernels
i386 kernels without 'options PAE' will still use PAE page tables if
the CPU supports PAE both to support larger amounts of RAM and for
PG_NX permissions.  However, to avoid changing the API, bus_addr_t and
related constants (e.g. BUS_SPACE_MAXADDR) are still limited to
32 bits.

To cope with this, the x86 bus_dma code included an extra check to
bounce requests for addresses above BUS_SPACE_MAXADDR.  This check was
elided (probably because it looks always-true on its face and had no
comment explaining its purpose) in recent refactoring.  To fix,
restore a custom address-validation function for i386 kernels without
options PAE that includes this check.

Reported by:	ci.freebsd.org
Reviewed by:	markj
Fixes:		3933ff56f9 busdma: tidy bus_dma_run_filter() functions
Differential Revision:	https://reviews.freebsd.org/D43277
2024-01-02 13:15:13 -08:00
..
acpica sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
bios sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
conf sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
cpufreq sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
include xen: add atomic #defines to accomodate differing xen_ulong_t sizes 2023-12-15 14:59:26 +01:00
iommu DMAR: add knob to disable RMRR entries installation into domains 2023-12-26 03:28:22 +02:00
isa atrtc: Add a required include 2023-12-28 15:17:32 -05:00
linux linux(4): Remove sys/cdefs.h inclusion under x86/linux due to 685dc743 2023-08-18 15:58:32 +03:00
pci pci_cfgreg: Add a PCI domain argument to the low-level register API 2023-11-29 10:31:47 -08:00
x86 i386: Always bounce DMA requests above 4G for !PAE kernels 2024-01-02 13:15:13 -08:00
xen xen: remove xen_domain_type enum/variable 2023-11-28 13:40:19 +01:00