Changeset 106955 in vbox for trunk/src/VBox/Main
- Timestamp:
- Nov 12, 2024 10:24:17 AM (3 months ago)
- svn:sync-xref-src-repo-rev:
- 165882
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-client/SystemTableBuilder.cpp
r106603 r106955 42 42 43 43 /********************************************************************************************************************************* 44 * Defined Constants And Macros * 45 *********************************************************************************************************************************/ 46 47 /** Locality CRB request register. */ 48 #define TPM_CRB_LOCALITY_REG_CTRL_REQ 0x40 49 50 51 /********************************************************************************************************************************* 44 52 * Structures and Typedefs * 45 53 *********************************************************************************************************************************/ … … 89 97 90 98 RTAcpiResourceReset(hAcpiRes); 91 int vrc = RTAcpiResourceAddQWordMemoryRange(hAcpiRes, kAcpiResMemRangeCacheability_NonCacheable, kAcpiResMemType_Memory, true /*fRw*/, 99 int vrc; 100 if (u64AddrBase + cbMmio <= _4G) 101 vrc = RTAcpiResourceAdd32BitFixedMemoryRange(hAcpiRes, u64AddrBase, cbMmio, true /*fRw*/); 102 else 103 vrc = RTAcpiResourceAddQWordMemoryRange(hAcpiRes, kAcpiResMemRangeCacheability_NonCacheable, kAcpiResMemType_Memory, true /*fRw*/, 92 104 fAddrSpace, u64AddrBase, u64AddrBase + cbMmio - 1, 0 /*u64OffTrans*/, 0 /*u64Granularity*/, 93 105 cbMmio); … … 235 247 ACPIRSDP Xsdp; RT_ZERO(Xsdp); 236 248 237 /* ACPI 1.0 part (RSD T) */249 /* ACPI 1.0 part (RSDP) */ 238 250 memcpy(Xsdp.abSignature, "RSD PTR ", 8); 239 251 memcpy(Xsdp.abOemId, "ORCLVB", 6); … … 242 254 Xsdp.bChkSum = RTAcpiChecksumGenerate(&Xsdp, RT_OFFSETOF(ACPIRSDP, cbRsdp)); 243 255 244 /* ACPI 2.0 part (XSD T) */256 /* ACPI 2.0 part (XSDP) */ 245 257 Xsdp.cbRsdp = RT_H2LE_U32(sizeof(ACPIRSDP)); 246 258 Xsdp.u64AddrXsdt = RT_H2LE_U64(GCPhysXsdt); … … 348 360 349 361 m_GCPhysPciMmioEcam = GCPhysMmioEcam; /* Need that for MCFG later. */ 362 m_bPciBusMax = 15; /** @todo Make parameter. */ 350 363 351 364 RTAcpiTblDeviceStartF(m_hAcpiDsdt, "%s%RX32", pSysTblDev->pszAcpiName, 0); … … 370 383 371 384 RTAcpiResourceReset(m_hAcpiRes); 372 int vrc = RTAcpiResourceAddWordBusNumber(m_hAcpiRes, fAddrSpace, 0 /*u16BusMin*/, 0xff/*u16BusMax*/,373 0 /*u16OffTrans*/, 0 /*u16Granularity*/, 256/*u16Length*/);385 int vrc = RTAcpiResourceAddWordBusNumber(m_hAcpiRes, fAddrSpace, 0 /*u16BusMin*/, m_bPciBusMax /*u16BusMax*/, 386 0 /*u16OffTrans*/, 0 /*u16Granularity*/, m_bPciBusMax + 1 /*u16Length*/); 374 387 AssertRCReturn(vrc, vrc); 375 388 … … 531 544 pAlloc->u16PciSegGrpNr = 0; 532 545 pAlloc->bPciBusFirst = 0; 533 pAlloc->bPciBusLast = 0xff;546 pAlloc->bPciBusLast = m_bPciBusMax; 534 547 535 548 /* Finalize the MADT. */ … … 642 655 643 656 Tpm2.u32StartMethod = m_fCrb ? ACPITBL_TPM20_START_METHOD_CRB : ACPITBL_TPM20_START_METHOD_TIS12; 644 Tpm2.u64BaseAddrCrbOrFifo = m_ GCPhysTpm20Mmio;657 Tpm2.u64BaseAddrCrbOrFifo = m_fCrb ? m_GCPhysTpm20Mmio + TPM_CRB_LOCALITY_REG_CTRL_REQ : m_GCPhysTpm20Mmio; 645 658 Tpm2.u16PlatCls = ACPITBL_TPM20_PLAT_CLS_CLIENT; 646 659 … … 679 692 RTAcpiTblStringAppend(m_hAcpiDsdt, "TPM 2.0 Device"); 680 693 694 RTAcpiTblNameAppend(m_hAcpiDsdt, "_UID"); 695 RTAcpiTblIntegerAppend(m_hAcpiDsdt, 0); 696 681 697 RTAcpiTblNameAppend(m_hAcpiDsdt, "_CRS"); 682 698 int vrc = systemTableAcpiMmioDevResource(m_hAcpiDsdt, m_hAcpiRes, GCPhysMmioStart, cbMmio, u32Irq + GIC_INTID_RANGE_SPI_START);
Note:
See TracChangeset
for help on using the changeset viewer.