Page MenuHomeFreeBSD

[PowerPC] Fix Book-E direct map for >=16G ram on e5500
ClosedPublic

Authored by bdragon on Jan 17 2020, 10:35 PM.
Referenced Files
Unknown Object (File)
Fri, Jan 3, 1:17 AM
Unknown Object (File)
Wed, Jan 1, 2:39 PM
Unknown Object (File)
Tue, Dec 17, 8:04 AM
Unknown Object (File)
Tue, Dec 17, 8:00 AM
Unknown Object (File)
Oct 4 2024, 11:41 PM
Unknown Object (File)
Oct 3 2024, 2:46 PM
Unknown Object (File)
Sep 23 2024, 7:37 AM
Unknown Object (File)
Sep 23 2024, 2:32 AM
Subscribers

Details

Summary

It turns out the maximum TLB1 page size on e5500 is 4G, despite the format being defined for up to 1TB.

So, we need to clamp the DMAP TLB1 entries to not attempt to create 16G or larger entries.

Fixes boot on my X5000 in which I just installed 16G of RAM.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

sys/powerpc/booke/pmap.c
4031 ↗(On Diff #66940)

You should move this down below, so that it gets 4GB clamped only after it gets alignment clamped.

4044 ↗(On Diff #66940)

Down to here.

moving clamp down as per suggestion.

sys/powerpc/booke/pmap.c
4044 ↗(On Diff #66942)

I need to hide this beind #ifdef powerpc64 to get it to compile.

Hide the clamping code behind powerpc64 so 32-bit booke compiles.

This revision is now accepted and ready to land.Jan 18 2020, 1:03 AM