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)
Fri, Jan 17, 10:44 PM
Unknown Object (File)
Mon, Jan 13, 6:23 AM
Unknown Object (File)
Jan 4 2025, 11:47 AM
Unknown Object (File)
Nov 19 2024, 6:38 PM
Unknown Object (File)
Nov 19 2024, 6:37 PM
Unknown Object (File)
Nov 19 2024, 4:44 PM
Unknown Object (File)
Oct 26 2024, 6:32 AM
Unknown Object (File)
Oct 26 2024, 6:32 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