Page MenuHomeFreeBSD

amd64/efirt: always map the first page
ClosedPublic

Authored by vexeduxr on Thu, Jul 3, 1:58 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Jul 14, 4:28 AM
Unknown Object (File)
Thu, Jul 10, 11:36 PM
Unknown Object (File)
Thu, Jul 10, 11:15 PM
Unknown Object (File)
Sun, Jul 6, 8:23 PM
Subscribers
None

Details

Summary

Some BIOSes tend to access physical address zero when executing runtime
EFI functions. Allow the first page to be mapped through a tunable.

PR: 287422

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 65203
Build 62086: arc lint + arc unit

Event Timeline

vexeduxr created this revision.
sys/amd64/amd64/efirt_machdep.c
294

I think this name could be a little better. Suggestions welcome.

sys/amd64/amd64/efirt_machdep.c
294

I propose to eliminate the tunable at all. Always map page @ phys 0.

299

I do not think this is a good choice. Just assume WB, I think it is how all x86 machines are organized.

Or be honest and try to search the map to see if zero fits into any region. Actually I think this is the best action, if page at zero already included into rt or boot region. You can check this while iterating over the regions for which the mappings are created, and if not recorded as done, do the special handling for page at zero.

vexeduxr retitled this revision from amd64/efirt: allow the first page to be mapped to amd64/efirt: always map the first page.Fri, Jul 4, 1:30 PM

Remove the tunable, always map the first page.

Assume Writeback for the first page.

This revision is now accepted and ready to land.Fri, Jul 4, 6:01 PM
This revision was automatically updated to reflect the committed changes.