Page MenuHomeFreeBSD

Restructure device mappings for Book-E.
ClosedPublic

Authored by jhibbits on Apr 5 2016, 12:47 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Nov 23, 1:45 AM
Unknown Object (File)
Oct 1 2024, 5:18 AM
Unknown Object (File)
Sep 21 2024, 5:14 AM
Unknown Object (File)
Sep 18 2024, 9:05 AM
Unknown Object (File)
Sep 17 2024, 4:09 PM
Unknown Object (File)
Sep 13 2024, 8:48 AM
Unknown Object (File)
Jul 16 2024, 11:57 PM
Unknown Object (File)
Jul 16 2024, 10:18 PM
Subscribers

Details

Summary

There is currently a 1GB hole between user and kernel address spaces
into which direct (1:1 PA:VA) device mappings go. This appears to go largely
unused, leaving all devices to contend with the 128MB block at the end of the
32-bit space (0xf8000000-0xffffffff). This easily fills up, and needs to be
densely packed. However, dense packing wastes precious TLB1 space, of which
there are only 16 (e500v2) or 64(e5500) entries available.

Change this by using the 1GB space for all device mappings, and allow the kernel
to use the entire upper 1GB for KVA. This also allows us to use sparse device
mappings, freeing up TLB entries.

Test Plan

Boot tested on p5020.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 3129
Build 3162: arc lint + arc unit

Event Timeline

jhibbits retitled this revision from to Restructure device mappings for Book-E..
jhibbits updated this object.
jhibbits edited the test plan for this revision. (Show Details)
jhibbits added reviewers: PowerPC, marcel, nwhitehorn.
This revision was automatically updated to reflect the committed changes.