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)
Mar 18 2024, 7:40 PM
Unknown Object (File)
Feb 15 2024, 5:30 PM
Unknown Object (File)
Jan 16 2024, 2:52 PM
Unknown Object (File)
Jan 10 2024, 4:33 PM
Unknown Object (File)
Dec 22 2023, 10:29 PM
Unknown Object (File)
Dec 11 2023, 1:53 AM
Unknown Object (File)
Nov 16 2023, 9:31 AM
Unknown Object (File)
Nov 10 2023, 11:01 PM
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