Page MenuHomeFreeBSD

Use 4-level pagetables early in ARM64 locore.S
ClosedPublic

Authored by wma_semihalf.com on Sep 29 2015, 5:04 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Jan 31, 3:58 AM
Unknown Object (File)
Wed, Jan 14, 12:13 AM
Unknown Object (File)
Wed, Jan 14, 12:03 AM
Unknown Object (File)
Wed, Jan 14, 12:02 AM
Unknown Object (File)
Wed, Jan 14, 12:00 AM
Unknown Object (File)
Tue, Jan 13, 11:44 PM
Unknown Object (File)
Tue, Jan 13, 11:32 PM
Unknown Object (File)
Dec 25 2025, 12:30 AM
Subscribers

Details

Reviewers
andrew
Group Reviewers
arm64
Summary

This commit is a temporary enabler for ThunderX Dual-Socket system. To be reverted once full 4-level pagetables are implemented.

When MMU is being enabled, the executed code must be mapped directly. If the UEFI loads kernel above the first 2^39 bytes, we're running out of VM addresses. This patch creates 4-level pagetable structure (with 16 L1 pages, thus supports up to 2^43 bytes of physical address space). Once MMU is enabled, locore drops back to 3-level to be in-sync with what initarm requires.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

wma_semihalf.com retitled this revision from to Use 4-level pagetables early in ARM64 locore.S.
wma_semihalf.com updated this object.
wma_semihalf.com edited the test plan for this revision. (Show Details)
wma_semihalf.com added a reviewer: arm64.
wma_semihalf.com set the repository for this revision to rS FreeBSD src repository - subversion.
andrew added a reviewer: andrew.

This should be handled in rS289581, it was a merge of this and the locore.S bits of D3885.

This revision is now accepted and ready to land.Oct 19 2015, 1:24 PM