Exemple #1
0
VOID
PrepareHobLegacyTable (
    IN HOB_TEMPLATE  *Hob
)
{
#if 0
    CHAR8    PrintBuffer[256];
#endif

    Hob->Acpi.Table   = (EFI_PHYSICAL_ADDRESS)(UINTN)FindAcpiRsdPtr ();
#if 0
    AsciiSPrint (PrintBuffer, 256, "\nAcpiTable=0x%x ", (UINT32)(UINTN)Hob->Acpi.Table);
    PrintString (PrintBuffer);
#endif
    Hob->Acpi20.Table = (EFI_PHYSICAL_ADDRESS)(UINTN)FindAcpiRsdPtr ();
    Hob->Smbios.Table = (EFI_PHYSICAL_ADDRESS)(UINTN)FindSMBIOSPtr ();
#if 0
    AsciiSPrint (PrintBuffer, 256, "SMBIOS Table=0x%x ", (UINT32)(UINTN)Hob->Smbios.Table);
    PrintString (PrintBuffer);
#endif
    Hob->Mps.Table    = (EFI_PHYSICAL_ADDRESS)(UINTN)FindMPSPtr ();
#if 0
    AsciiSPrint (PrintBuffer, 256, "MPS Table=0x%x\n", (UINT32)(UINTN)Hob->Mps.Table);
    PrintString (PrintBuffer);
#endif

    PrepareMcfgTable (Hob);

    PrepareFadtTable (Hob);

    return ;
}
/**
 * VBoxSysTablesDxe entry point.
 *
 * @returns EFI status code.
 *
 * @param   ImageHandle     The image handle.
 * @param   SystemTable     The system table pointer.
 */
EFI_STATUS EFIAPI
DxeInitializeVBoxSysTables(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
{
    EFI_STATUS  rc;
    VOID*       Ptr;

    DEBUG((DEBUG_INFO, "DxeInitializeVBoxSysTables\n"));

    Ptr = FindSMBIOSPtr();
    DEBUG((DEBUG_INFO, "SMBIOS=%p\n", Ptr));
    ASSERT(Ptr != NULL);
    if (Ptr)
        rc = ConvertAndInstallTable(&gEfiSmbiosTableGuid, Ptr);

    Ptr = FindMPSPtr();
    DEBUG((DEBUG_INFO, "MPS=%p\n", Ptr));
    // MPS can be null in non IO-APIC configs
    if (Ptr)
        rc = ConvertAndInstallTable(&gEfiMpsTableGuid, Ptr);

    return EFI_SUCCESS;
}