VirtualBox

Changeset 106352 in vbox for trunk/include


Ignore:
Timestamp:
Oct 16, 2024 11:36:33 AM (7 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
165165
Message:

Devices/EFI/Firmware: Expose ACPI tables if available, bugref:10733

This requires changing the VBox descriptor slightly to accomodate for the fact that
the XSDP will be located at the end of the ACPI region but the start + size of the
whole region are required for setting up the identity mapped page tables and have this region
covered in the address space. Doesn't need bumping the version because older firmware never
exposed ACPI tables.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/platforms/vbox-armv8.h

    r106061 r106352  
    6666    /** Size of the FDT in bytes, 0 if not available. */
    6767    uint64_t                    cbFdt;
    68     /** Offset to the RDSP/XSDP table for ACPI from the start of this descriptor, 0 if not available. */
    69     int64_t                     i64OffAcpiXsdp;
    70     /** Size of the RDSP/XSDP table, 0 if not available. */
    71     uint64_t                    cbAcpiXsdp;
     68    /** Offset to the start of the ACPI table region from the start of this descriptor, 0 if not available. */
     69    int64_t                     i64OffAcpi;
     70    /** Size of the ACPI region in bytes, 0 if not available. */
     71    uint64_t                    cbAcpi;
    7272    /** Offset to the start of the UEFI ROM region from the start of this descriptor, 0 if not available (doesn't make much sense though). */
    7373    int64_t                     i64OffUefiRom;
     
    8282    /** Size of the MMIO32 region in bytes, 0 if not available. */
    8383    uint64_t                    cbMmio32;
     84    /** Offset to the RDSP/XSDP table for ACPI from the start of this descriptor, 0 if not available. */
     85    int64_t                     i64OffAcpiXsdp;
     86    /** Size of the RDSP/XSDP table, 0 if not available. */
     87    uint64_t                    cbAcpiXsdp;
    8488    /** Padding to 64KiB. */
    85     uint8_t                     abPadding[_64K - 4 * sizeof(uint32_t) - 12 * sizeof(uint64_t)];
     89    uint8_t                     abPadding[_64K - 4 * sizeof(uint32_t) - 14 * sizeof(uint64_t)];
    8690} VBOXPLATFORMARMV8;
    8791AssertCompileSize(VBOXPLATFORMARMV8, _64K);
Note: See TracChangeset for help on using the changeset viewer.

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