VirtualBox

Changeset 106337 in vbox for trunk/include


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

Runtime: Add ACPI table builder API to dynamically generate a DSDT/SSDT, bugref:10733

Location:
trunk/include/iprt
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/formats/acpi-tables.h

    r106070 r106337  
    879879typedef const ACPIMCFGALLOC *PCACPIMCFGALLOC;
    880880
     881
     882/**
     883 * TPM: The ACPI table for a TPM 2.0 device
     884  * (from: https://trustedcomputinggroup.org/wp-content/uploads/TCG_ACPIGeneralSpec_v1p3_r8_pub.pdf).
     885 */
     886#pragma pack(1)
     887typedef struct ACPITPM20
     888{
     889    /** The common ACPI table header. */
     890    ACPITBLHDR          Hdr;
     891    /** The platform class. */
     892    uint16_t            u16PlatCls;
     893    /** Reserved. */
     894    uint16_t            u16Rsvd0;
     895    /** Address of the CRB control area or FIFO base address. */
     896    uint64_t            u64BaseAddrCrbOrFifo;
     897    /** The start method selector. */
     898    uint32_t            u32StartMethod;
     899    /** Following are start method specific parameters and optional LAML and LASA fields we don't implement right now. */
     900    /** @todo */
     901} ACPITPM20;
     902AssertCompileSize(ACPITPM20, 52);
     903#pragma pack()
     904
     905/** Revision of the TPM2.0 ACPI table. */
     906#define ACPI_TPM20_REVISION                 4
     907
     908
     909/** @name Possible values for the ACPITPM20::u16PlatCls member.
     910 * @{ */
     911/** Client platform. */
     912#define ACPITBL_TPM20_PLAT_CLS_CLIENT       UINT16_C(0)
     913/** Server platform. */
     914#define ACPITBL_TPM20_PLAT_CLS_SERVER       UINT16_C(1)
     915/** @} */
     916
     917
     918/** @name Possible values for the ACPITPM20::u32StartMethod member.
     919 * @{ */
     920/** MMIO interface (TIS1.2+Cancel). */
     921#define ACPITBL_TPM20_START_METHOD_TIS12    UINT16_C(6)
     922/** CRB interface. */
     923#define ACPITBL_TPM20_START_METHOD_CRB      UINT16_C(7)
     924/** @} */
     925
     926
    881927/** @} */
    882928
  • trunk/include/iprt/log.h

    r106061 r106337  
    6666    /** Default logging group. */
    6767    RTLOGGROUP_DEFAULT,
     68    RTLOGGROUP_ACPI,
    6869    RTLOGGROUP_CRYPTO,
    6970    RTLOGGROUP_DBG,
     
    108109#define RT_LOGGROUP_NAMES \
    109110    "DEFAULT", \
     111    "RT_ACPI", \
    110112    "RT_CRYPTO", \
    111113    "RT_DBG", \
     
    128130    "RT_TIMER", \
    129131    "RT_VFS", \
    130     "RT_21", \
    131132    "RT_22", \
    132133    "RT_23", \
  • trunk/include/iprt/mangling.h

    r106061 r106337  
    376376# define ASMFxSave_EndProc                              RT_MANGLER(ASMFxSave_EndProc)
    377377
     378# define RTAcpiChecksumGenerate                         RT_MANGLER(RTAcpiChecksumGenerate)
     379# define RTAcpiResourceAdd32BitFixedMemoryRange         RT_MANGLER(RTAcpiResourceAdd32BitFixedMemoryRange)
     380# define RTAcpiResourceAddDWordMemoryRange              RT_MANGLER(RTAcpiResourceAddDWordMemoryRange)
     381# define RTAcpiResourceAddExtendedInterrupt             RT_MANGLER(RTAcpiResourceAddExtendedInterrupt)
     382# define RTAcpiResourceAddQWordIoRange                  RT_MANGLER(RTAcpiResourceAddQWordIoRange)
     383# define RTAcpiResourceAddQWordMemoryRange              RT_MANGLER(RTAcpiResourceAddQWordMemoryRange)
     384# define RTAcpiResourceAddWordBusNumber                 RT_MANGLER(RTAcpiResourceAddWordBusNumber)
     385# define RTAcpiResourceCreate                           RT_MANGLER(RTAcpiResourceCreate)
     386# define RTAcpiResourceDestroy                          RT_MANGLER(RTAcpiResourceDestroy)
     387# define RTAcpiResourceQueryBuffer                      RT_MANGLER(RTAcpiResourceQueryBuffer)
     388# define RTAcpiResourceReset                            RT_MANGLER(RTAcpiResourceReset)
     389# define RTAcpiResourceSeal                             RT_MANGLER(RTAcpiResourceSeal)
     390# define RTAcpiTblBufferAppend                          RT_MANGLER(RTAcpiTblBufferAppend)
     391# define RTAcpiTblCreate                                RT_MANGLER(RTAcpiTblCreate)
     392# define RTAcpiTblDestroy                               RT_MANGLER(RTAcpiTblDestroy)
     393# define RTAcpiTblDeviceFinalize                        RT_MANGLER(RTAcpiTblDeviceFinalize)
     394# define RTAcpiTblDeviceStart                           RT_MANGLER(RTAcpiTblDeviceStart)
     395# define RTAcpiTblDeviceStartF                          RT_MANGLER(RTAcpiTblDeviceStartF)
     396# define RTAcpiTblDeviceStartV                          RT_MANGLER(RTAcpiTblDeviceStartV)
     397# define RTAcpiTblDumpToFile                            RT_MANGLER(RTAcpiTblDumpToFile)
     398# define RTAcpiTblDumpToVfsIoStrm                       RT_MANGLER(RTAcpiTblDumpToVfsIoStrm)
     399# define RTAcpiTblFinalize                              RT_MANGLER(RTAcpiTblFinalize)
     400# define RTAcpiTblGetSize                               RT_MANGLER(RTAcpiTblGetSize)
     401# define RTAcpiTblHdrChecksumGenerate                   RT_MANGLER(RTAcpiTblHdrChecksumGenerate)
     402# define RTAcpiTblIntegerAppend                         RT_MANGLER(RTAcpiTblIntegerAppend)
     403# define RTAcpiTblMethodStart                           RT_MANGLER(RTAcpiTblMethodStart)
     404# define RTAcpiTblMethodFinalize                        RT_MANGLER(RTAcpiTblMethodFinalize)
     405# define RTAcpiTblNameAppend                            RT_MANGLER(RTAcpiTblNameAppend)
     406# define RTAcpiTblPackageStart                          RT_MANGLER(RTAcpiTblPackageStart)
     407# define RTAcpiTblPackageFinalize                       RT_MANGLER(RTAcpiTblPackageFinalize)
     408# define RTAcpiTblResourceAppend                        RT_MANGLER(RTAcpiTblResourceAppend)
     409# define RTAcpiTblScopeFinalize                         RT_MANGLER(RTAcpiTblScopeFinalize)
     410# define RTAcpiTblScopeStart                            RT_MANGLER(RTAcpiTblScopeStart)
     411# define RTAcpiTblStmtSimpleAppend                      RT_MANGLER(RTAcpiTblStmtSimpleAppend)
     412# define RTAcpiTblStringAppend                          RT_MANGLER(RTAcpiTblStringAppend)
    378413# define RTAssertAreQuiet                               RT_MANGLER(RTAssertAreQuiet)
    379414# define RTAssertMayPanic                               RT_MANGLER(RTAssertMayPanic)
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