Page MenuHomeFreeBSD

[PPC64] pseries: fix realmaxaddr calculation
ClosedPublic

Authored by luporl on Jul 4 2019, 7:07 PM.
Tags
None
Referenced Files
F108519640: D20857.id59405.diff
Sat, Jan 25, 8:29 PM
F108512310: D20857.id59598.diff
Sat, Jan 25, 7:17 PM
Unknown Object (File)
Fri, Jan 24, 5:30 PM
Unknown Object (File)
Fri, Jan 24, 4:55 AM
Unknown Object (File)
Wed, Jan 22, 5:27 PM
Unknown Object (File)
Sat, Jan 18, 5:22 PM
Unknown Object (File)
Sat, Jan 11, 7:59 AM
Unknown Object (File)
Sat, Jan 11, 6:52 AM
Subscribers

Details

Summary

On POWER9/pseries, QEMU passes several regions of memory,
instead of a single region containing all memory, as the
code was expecting.

Diff Detail

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

Event Timeline

Makes sense to me. That's the same sort of thing that chrp_mem_regions() is doing to determine it for its own purposes.

Looks good overall. Just a couple nits..

sys/powerpc/aim/slb.c
419 ↗(On Diff #59405)

This looks to be a different patch altogether. I don't think it belongs in this change.

sys/powerpc/pseries/platform_chrp.c
151 ↗(On Diff #59405)

realmaxaddr = MAX(off, realmaxaddr) should do the same thing.

sys/powerpc/aim/slb.c
419 ↗(On Diff #59405)

Ok, I'll commit this part separately.

sys/powerpc/pseries/platform_chrp.c
151 ↗(On Diff #59405)

Right, I'll change this part to use MAX.

luporl edited the summary of this revision. (Show Details)
  • Addressed jhibbits' comments
This revision is now accepted and ready to land.Jul 8 2019, 4:24 PM
This revision was automatically updated to reflect the committed changes.