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)
Fri, Sep 26, 9:06 AM
Unknown Object (File)
Mon, Sep 15, 1:54 PM
Unknown Object (File)
Mon, Sep 15, 6:01 AM
Unknown Object (File)
Mon, Sep 15, 5:56 AM
Unknown Object (File)
Mon, Sep 15, 5:34 AM
Unknown Object (File)
Mon, Sep 15, 5:24 AM
Unknown Object (File)
Mon, Sep 15, 5:16 AM
Unknown Object (File)
Mon, Sep 15, 5:05 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