https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263223
Timothy Pearson <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tpearson@raptorengineering. | |com --- Comment #2 from Timothy Pearson <[email protected]> --- It shouldn't work as-is, because of the 32 bit restriction. Technically we're putting a lot of devices in low memory where we shouldn't even have DMA happening in the first place due to some unrelated bugs I'm working to fix (e.g. D54745). For reference, a typical physical memory map on a POWER9 system is as follows: real memory = 33997058048 (32422 MB) available KVA = 34359619583 (32767 MB) Physical memory chunk(s): 0x0000000000003000 - 0x0000000000002fff, 0 bytes (0 pages) 0x000000000000e000 - 0x000000000000ffff, 8192 bytes (2 pages) 0x0000000000094000 - 0x0000000000ffffff, 16171008 bytes (3948 pages) 0x0000000100000000 - 0x00000007a2042fff, 28487987200 bytes (6955075 pages) 0x00000007d0006000 - 0x00000007fc72dfff, 745701376 bytes (182056 pages) 0x00000007fdc00000 - 0x00000007ff79ffff, 28966912 bytes (7072 pages) 0x00000007ff7d1000 - 0x00000007ff7effff, 126976 bytes (31 pages) Note there is almost no memory under 4GB. The fact that any 32-bit devices work at all comes down to a bug in the POWER9 DMA setup code that allows the DMA to overlap the device MMIO windows, combined with the fact that many common 32-bit-only devices don't need that much DMA memory. I have a number of LSI devices available to test with; if there is desire to update the patch I am willing to test and accept. Thanks! -- You are receiving this mail because: You are the assignee for the bug.
