Re: r343567 aka PAE vs non-PAE merge breaks i386 freebsd

From: Warner Losh <imp_at_bsdimp.com>
Date: Sat, 23 Feb 2019 12:03:58 -0700
On Sat, Feb 23, 2019 at 10:57 AM Steve Kargl <
sgk_at_troutmask.apl.washington.edu> wrote:

> Supposely, the laptop only has 4 GB of memory.  Not sure how
> it finds memory above 4 GB.
>

Some older chipsets had a 'hole' in memory that they mapped the PCI bus
into and then remapped RAM in that range up above the 4GB boundary. That's
how it can find memory above 4GB when you have only 4GB of RAM. I hit it
with the PC Card stuff I did back in the day since it broke certain
heuristics I had in the code that turned out to be unwise for many reasons
(not just this one). I don't recall all the details, since it's been so
long ago.

So I think kib_at_ is right when he highlights
> +0x0000000100000000 - 0x000000011ffe7fff, 536772608 bytes (131048 pages)

as the memory, since this is indeed above the 4GB limit.  It's about 128k
of 4k pages (just shy of the 131072 I'd expect), which is a surprisingly
round number. Also one that's easy to implement in hardware. So it
certainly "smells" the same...

That's why I agree with others that hw.above4g_allow=0 is worth a shot, for
at least diagnostic purposes. This memory wasn't used before and if it's
used now by the drm drivers, and those aren't PAE safe (meaning they cope
with allocations beyond 4GB), then that's quite useful to know. Or maybe
it's a different driver hating things and stomping on video memory due to
wrap around.

Warner
Received on Sat Feb 23 2019 - 18:04:11 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:20 UTC