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
F83669131: D34694.diff
Mon, May 13, 9:07 AM
Unknown Object (File)
Mon, May 13, 3:00 AM
Unknown Object (File)
Mon, May 13, 2:59 AM
Unknown Object (File)
Sun, May 12, 12:38 PM
Unknown Object (File)
Tue, Apr 23, 5:14 AM
Unknown Object (File)
Mar 4 2024, 3:56 AM
Unknown Object (File)
Mar 4 2024, 3:56 AM
Unknown Object (File)
Mar 3 2024, 1:08 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