VirtualBox

Changeset 86408 in vbox for trunk/src/VBox/Devices/PC


Ignore:
Timestamp:
Oct 2, 2020 8:24:37 AM (4 years ago)
Author:
vboxsync
Message:

AMD IOMMU: bugref:9654 Add IVRS (IOMMU I/O Virtualization Reporting Structure) to the ACPI table and fixes to ACPI to accomodate the new system index for the IOMMU and southbridge I/O APIC devices.

Location:
trunk/src/VBox/Devices/PC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/DevACPI.cpp

    r86315 r86408  
    14211421
    14221422        u32 >>= pThis->u8IndexShift;
     1423
     1424        /* If the index exceeds 31 (which is all we can fit within offset 0x80), we need to divide the index again
     1425           for indices > 31 and < SYSTEM_INFO_INDEX_END. */
     1426        if (u32 > SYSTEM_INFO_INDEX_END && pThis->u8IndexShift == 2 && (u32 >> 2) < SYSTEM_INFO_INDEX_END)
     1427            u32 >>= 2;
     1428
    14231429        AssertMsg(u32 < SYSTEM_INFO_INDEX_END, ("%u - Max=%u. IndexShift=%u\n", u32, SYSTEM_INFO_INDEX_END, pThis->u8IndexShift));
    14241430        pThis->uSystemInfoIndex = u32;
  • trunk/src/VBox/Devices/PC/vbox.dsl

    r85349 r86408  
    11961196                }
    11971197
     1198                // AMD IOMMU (AMD-Vi), I/O Virtualization Reporting Structure
     1199                Device (IVRS)
     1200                {
     1201                    Method(_ADR, 0, NotSerialized)
     1202                    {
     1203                        Return (IOMA)
     1204                    }
     1205                    Method (_STA, 0, NotSerialized)
     1206                    {
     1207                        if (LEqual (IOMA, Zero)) {
     1208                            Return (0x00)
     1209                        }
     1210                        else {
     1211                            Return (0x0F)
     1212                        }
     1213                    }
     1214                }
     1215
    11981216                // System Management Controller
    11991217                Device (SMC)
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette