VirtualBox

Changeset 108087 in vbox for trunk/src/VBox/Runtime/include


Ignore:
Timestamp:
Feb 5, 2025 6:38:43 PM (3 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
167381
Message:

Runtime/RTAcpi*: Updates to the ASL -> AML compiler, can process our vbox-tpm.dsl now and output what looks like valid AML (iasl has no complaints and the result looks sane), bugref:

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/include/internal/acpi.h

    r108068 r108087  
    8383    {
    8484        uintptr_t           uPtrInternal;
    85         PCRTACPIASTNODE     pAstNd;
     85        PRTACPIASTNODE      pAstNd;
    8686        const char          *pszNameString;
    8787        bool                f;
     
    156156    kAcpiAstNodeOp_Index,
    157157    kAcpiAstNodeOp_Store,
     158    kAcpiAstNodeOp_Break,
     159    kAcpiAstNodeOp_Continue,
     160    kAcpiAstNodeOp_Add,
     161    kAcpiAstNodeOp_Subtract,
     162    kAcpiAstNodeOp_And,
     163    kAcpiAstNodeOp_Nand,
     164    kAcpiAstNodeOp_Or,
     165    kAcpiAstNodeOp_Xor,
     166    kAcpiAstNodeOp_Not,
    158167    kAcpiAstNodeOp_32Bit_Hack = 0x7fffffff
    159168} RTACPIASTNODEOP;
     
    182191        /** A number */
    183192        uint64_t            u64;
    184         /** Pointer to the field unit list - freed with RTMemFree() when the node is freed. */
    185         PRTACPIFIELDENTRY   paFields;
     193        struct
     194        {
     195            /** Pointer to the field unit list - freed with RTMemFree() when the node is freed. */
     196            PRTACPIFIELDENTRY   paFields;
     197            /** Number of field entries. */
     198            uint32_t            cFields;
     199        } Fields;
    186200        /** The resource template. */
    187201        RTACPIRES           hAcpiRes;
     
    221235
    222236/**
     237 * Does a few transformations on the given AST node and its children where required.
     238 *
     239 * @returns IPRT status.
     240 * @param   pAstNd              The AST node to transform.
     241 * @param   pErrInfo            Some additional error information on failure.
     242 *
     243 * @note This currently only implements merging if ... else ... nodes but can be extended to
     244 *       also do some optimizations and proper checking.
     245 */
     246DECLHIDDEN(int) rtAcpiAstNodeTransform(PRTACPIASTNODE pAstNd, PRTERRINFO pErrInfo);
     247
     248
     249/**
    223250 * Dumps the given AST node and everything it references to the given ACPI table.
    224251 *
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