Page MenuHomeFreeBSD

AMD-vi: Fortify IVHD device_identify process
ClosedPublic

Authored by khng on Apr 1 2021, 12:13 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Mar 15, 1:50 PM
Unknown Object (File)
Wed, Mar 11, 1:30 PM
Unknown Object (File)
Wed, Mar 11, 11:55 AM
Unknown Object (File)
Sun, Mar 8, 12:05 PM
Unknown Object (File)
Sun, Mar 8, 6:31 AM
Unknown Object (File)
Sat, Mar 7, 4:03 AM
Unknown Object (File)
Mon, Mar 2, 10:35 AM
Unknown Object (File)
Mon, Mar 2, 9:19 AM
Subscribers

Details

Summary
  • Use malloc(9) to allocate ivhd_hdrs list. The previous assumption that there are at most 10 IVHDs in a system is not true. A counter example would be a system with 4 IOMMUs, and each IOMMU is related to IVHDs type 10h, 11h and 40h in the ACPI IVRS table.
  • Always scan through the whole ivhd_hdrs list to find IVHDs that has the same DeviceId but less prioritized IVHD type.

Sponsored by: The FreeBSD Foundation
MFC with: 74ada297e897

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable