Set the upper limit of the DMAP region to the limit of RAM as was found in
the physmap. This will reduce the likelihood of an issue where we have
device memory mapped in the DMAP. This can only happen if it is within the
same 1G block of normal memory.
Details
Details
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
This only stops DMAP at L1 block granularity, right ? It still would be good to fine split the mapping of tail of DMAP region.
sys/arm64/arm64/pmap.c | ||
---|---|---|
563 ↗ | (On Diff #15158) | You can rewrite the loop condition as va < DMAP_MAX_ADDRESS && pa < max_pa. At least for me, it is cleaner when unneeded breaks do not hide loop conditions. |
Comment Actions
Correct. I think it would be unlikely for an SoC to put device memory this close to the end of RAM, however we could add a warning when we map device data under INVARIANTS to check for this.