Page MenuHomeFreeBSD

Use pmap_mapbios() to map ACPI tables on amd64 and i386.
ClosedPublic

Authored by markj on Aug 19 2020, 8:32 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Mar 19, 4:18 AM
Unknown Object (File)
Feb 6 2024, 8:37 PM
Unknown Object (File)
Dec 20 2023, 8:26 AM
Unknown Object (File)
Dec 14 2023, 6:53 PM
Unknown Object (File)
Nov 14 2023, 9:01 AM
Unknown Object (File)
Nov 10 2023, 1:14 PM
Unknown Object (File)
Nov 8 2023, 1:07 PM
Unknown Object (File)
Nov 4 2023, 3:21 AM
Subscribers

Details

Summary

pmap_kenter_temporary() uses the fixed-size crashdump map. Moreover,
the ACPI table-mapping code was not verifying that the table fits in
this map, so with large tables we could clobber adjacent mappings. The
use of the crashdump map here seems to predate support for "preinit"
mappings on amd64 and i386; I can't see any reason not to use
pmap_mapbios() now, like arm64 does.

Also remove an unused "offset" parameter from map_table() on arm64.

PR: 248746

Test Plan

Booted several amd64 systems and an i386 VM. gallatin@ reported that
this fixes PR 248746 for him.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

markj requested review of this revision.Aug 19 2020, 8:32 PM
markj edited the test plan for this revision. (Show Details)
markj edited reviewers, added: jhb, kib, mav; removed: manu.
This revision is now accepted and ready to land.Aug 19 2020, 9:47 PM

I am not familiar with pmap_mapbios() history, but if it should work now -- great.