VirtualBox

Ignore:
Timestamp:
Feb 12, 2025 3:27:06 PM (2 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
167500
Message:

Runtime/RTAcpi*: Parser updates, the code is now able to parse vbox.dsl successfully and generate an AST, bugref:10733

File:
1 edited

Legend:

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

    r108168 r108184  
    162162    kAcpiAstNodeOp_Add,
    163163    kAcpiAstNodeOp_Subtract,
     164    kAcpiAstNodeOp_Multiply,
    164165    kAcpiAstNodeOp_And,
    165166    kAcpiAstNodeOp_Nand,
    166167    kAcpiAstNodeOp_Or,
    167168    kAcpiAstNodeOp_Xor,
     169    kAcpiAstNodeOp_ShiftLeft,
     170    kAcpiAstNodeOp_ShiftRight,
    168171    kAcpiAstNodeOp_Not,
    169172    kAcpiAstNodeOp_Notify,
     
    181184    kAcpiAstNodeOp_CreateDWordField,
    182185    kAcpiAstNodeOp_CreateQWordField,
     186    kAcpiAstNodeOp_ConcatenateResTemplate,
    183187    kAcpiAstNodeOp_32Bit_Hack = 0x7fffffff
    184188} RTACPIASTNODEOP;
     
    248252    /** The name segment identifying the entry. */
    249253    char                    achNameSeg[4];
    250     /** Flag whether the name space entry points to a node or just has some
    251      * integer data attached. */
    252     bool                    fAstNode;
    253     /** Type dependent data. */
    254     union
    255     {
    256         PCRTACPIASTNODE     pAstNd;
    257         uint64_t            u64Val;
    258     } u;
     254    /** The AST node associated with this namespace entry. */
     255    PCRTACPIASTNODE         pAstNd;
     256    /** Bit offset for resource fields. */
     257    uint32_t                offBits;
     258    /** Bit count for resource fields. */
     259    uint32_t                cBits;
    259260    /** List of namespace entries below this entry. */
    260261    RTLISTANCHOR            LstNsEntries;
     
    345346
    346347/**
    347  * Adds a new namespace entry to the given name space - 64-bit value variant.
     348 * Adds a new namespace entry to the given name space - resource field.
    348349 *
    349350 * @returns IPRT status code.
    350351 * @param   pNsRoot             The namespace root to add the entry to.
    351352 * @param   pszNameString       An ACPI NameString (either segment or path).
    352  * @param   u64Val              The 64-bit value to associate with the entry.
    353  * @param   fSwitchTo           Flag whether to switch the current point for the namespace to this entry.
    354  */
    355 DECLHIDDEN(int) rtAcpiNsAddEntryU64(PRTACPINSROOT pNsRoot, const char *pszNameString, uint64_t u64Val, bool fSwitchTo);
    356 
    357 
    358 /**
    359  * Adds a new namespace entry to the given name space - 64-bit value variant with format name string.
    360  *
    361  * @returns IPRT status code.
    362  * @param   pNsRoot             The namespace root to add the entry to.
    363  * @param   u64Val              The 64-bit value to associate with the entry.
    364  * @param   fSwitchTo           Flag whether to switch the current point for the namespace to this entry.
    365  * @param   pszNameStringFmt    An ACPI NameString (either segment or path) as a format string.
    366  * @param   ...                 The arguments for the format string.
    367  */
    368 DECLHIDDEN(int) rtAcpiNsAddEntryU64F(PRTACPINSROOT pNsRoot, uint64_t u64Val, bool fSwitchTo, const char *pszNameStringFmt, ...) RT_IPRT_FORMAT_ATTR(4, 5);
    369 
    370 
    371 /**
    372  * Adds a new namespace entry to the given name space - 64-bit value variant with format name string.
    373  *
    374  * @returns IPRT status code.
    375  * @param   pNsRoot             The namespace root to add the entry to.
    376  * @param   u64Val              The 64-bit value to associate with the entry.
    377  * @param   fSwitchTo           Flag whether to switch the current point for the namespace to this entry.
    378  * @param   pszNameStringFmt    An ACPI NameString (either segment or path) as a format string.
    379  * @param   va                  The format arguments.
    380  */
    381 DECLHIDDEN(int) rtAcpiNsAddEntryU64V(PRTACPINSROOT pNsRoot, uint64_t u64Val, bool fSwitchTo, const char *pszNameStringFmt, va_list va) RT_IPRT_FORMAT_ATTR(4, 0);
     353 * @param   offBits             Bit offset from the beginning of the resource.
     354 * @param   cBits               NUmber of bits this resource field has.
     355 */
     356DECLHIDDEN(int) rtAcpiNsAddEntryRsrcField(PRTACPINSROOT pNsRoot, const char *pszNameString, uint32_t offBits, uint32_t cBits);
    382357
    383358
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