Page MenuHomeFreeBSD

Handle non-page aligned/sized memory in physmem
ClosedPublic

Authored by andrew on Mar 28 2022, 3:05 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, May 16, 11:01 PM
Unknown Object (File)
Thu, May 16, 6:20 PM
Unknown Object (File)
Wed, May 15, 9:25 PM
Unknown Object (File)
Wed, May 15, 9:25 PM
Unknown Object (File)
Wed, May 15, 9:25 PM
Unknown Object (File)
Mon, May 13, 9:07 AM
Unknown Object (File)
Mon, May 13, 3:00 AM
Unknown Object (File)
Mon, May 13, 2:59 AM
Subscribers

Details

Summary

In some configurations the firmware may pass memory regions that are
not page sized or aligned, e.g. when using 16k pages on arm64. If this
is the case we will calculate many small regions because the alignment
is applied before being inserted. As we round the start up and end down
this will leave a 1 page hole between what should have been a single
region.

Fix by keeping the original alignment until we are just about to insert
the region into the avail array.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable