VirtualBox

Changeset 80902 in vbox for trunk/src/VBox/Devices/EFI


Ignore:
Timestamp:
Sep 18, 2019 9:02:07 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
133477
Message:

EFI/FirmwareNew: Implement support for the DataHub protocol which was removed in newer EDK versions and enable the VBoxAppleSim DXE driver again as it is required for macOS to boot

Location:
trunk/src/VBox/Devices/EFI/FirmwareNew
Files:
2 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgIa32.dsc

    r80820 r80902  
    851851 VBoxPkg/VBoxFsDxe/VBoxHfs.inf
    852852 VBoxPkg/VBoxSysTables/VBoxSysTables.inf
    853  #VBoxPkg/VBoxAppleSim/VBoxAppleSim.inf
    854  # we need it for VBoxAppleSim
    855  #IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
     853 VBoxPkg/VBoxAppleSim/VBoxAppleSim.inf
    856854 MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
    857855 MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgIa32.fdf

    r80820 r80902  
    278278INF VBoxPkg/VBoxFsDxe/VBoxHfs.inf
    279279INF VBoxPkg/VBoxSysTables/VBoxSysTables.inf
    280 #INF VBoxPkg/VBoxAppleSim/VBoxAppleSim.inf
    281  # we need it for VBoxAppleSim
    282 #INF IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
     280INF VBoxPkg/VBoxAppleSim/VBoxAppleSim.inf
    283281INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
    284282!endif
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgX64.dsc

    r80820 r80902  
    892892 VBoxPkg/VBoxFsDxe/VBoxHfs.inf
    893893 VBoxPkg/VBoxSysTables/VBoxSysTables.inf
    894  #VBoxPkg/VBoxAppleSim/VBoxAppleSim.inf
    895  # we need it for VBoxAppleSim
    896  #IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
     894 VBoxPkg/VBoxAppleSim/VBoxAppleSim.inf
    897895!endif
    898896
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgX64.fdf

    r80820 r80902  
    279279INF VBoxPkg/VBoxFsDxe/VBoxHfs.inf
    280280INF VBoxPkg/VBoxSysTables/VBoxSysTables.inf
    281 #INF VBoxPkg/VBoxAppleSim/VBoxAppleSim.inf
    282  # we need it for VBoxAppleSim
    283 #INF IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
     281INF VBoxPkg/VBoxAppleSim/VBoxAppleSim.inf
    284282INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
    285283!endif
  • trunk/src/VBox/Devices/EFI/FirmwareNew/VBoxPkg/VBoxAppleSim/Cpu.c

    r80721 r80902  
    2929*   Header Files                                                                                                                 *
    3030*********************************************************************************************************************************/
    31 #include <Framework/FrameworkInternalFormRepresentation.h>
    32 
    33 #include <Library/BaseMemoryLib.h>
    3431#include <Library/DebugLib.h>
    3532#include <Library/UefiBootServicesTableLib.h>
     
    4037#include <Library/BaseLib.h>
    4138
    42 #include <Guid/DataHubRecords.h>
     39#include <Protocol/Cpu.h>
    4340
    44 #include <Protocol/Cpu.h>
    45 #include <Protocol/DataHub.h>
    46 #include <Protocol/FrameworkHii.h>
    47 #include <Protocol/CpuIo.h>
     41#include "DataHub.h"
    4842
    4943#define EFI_CPU_DATA_MAXIMUM_LENGTH 0x100
    50 
    51 typedef union {
    52     EFI_CPU_DATA_RECORD *DataRecord;
    53     UINT8               *Raw;
    54 } EFI_CPU_DATA_RECORD_BUFFER;
    55 
    56 EFI_SUBCLASS_TYPE1_HEADER mCpuDataRecordHeader = {
    57     EFI_PROCESSOR_SUBCLASS_VERSION,       // Version
    58     sizeof (EFI_SUBCLASS_TYPE1_HEADER),   // Header Size
    59     0,                                    // Instance, Initialize later
    60     EFI_SUBCLASS_INSTANCE_NON_APPLICABLE, // SubInstance
    61     0                                     // RecordType, Initialize later
    62 };
    6344
    6445EFI_GUID gEfiAppleMagicHubGuid = {
     
    6950    0x26fdeb7e, 0xb8af, 0x4ccf, { 0xaa, 0x97, 0x02, 0x63, 0x3c, 0xe4, 0x8c, 0xa7 }
    7051};
    71 
    72 EFI_GUID gEfiDataHubProtocolGuid = {
    73     0xae80d021, 0x618e, 0x11d4, { 0xbc, 0xd7, 0x00, 0x80, 0xc7, 0x3c, 0x88, 0x81 }
    74 }
    7552
    7653#pragma pack(1)
     
    10986        &gEfiProcessorSubClassGuid, /* DataRecordGuid */
    11087        &gEfiAppleMagicHubGuid,     /* ProducerName */
    111         EFI_DATA_RECORD_CLASS_DATA,
     88        EFI_DATA_CLASS_DATA,
    11289        MagicData,
    11390        RecordSize
  • trunk/src/VBox/Devices/EFI/FirmwareNew/VBoxPkg/VBoxAppleSim/VBoxAppleSim.c

    r76553 r80902  
    4545#include <Guid/Mps.h>
    4646
     47#include "DataHub.h"
    4748#include "VBoxPkg.h"
    4849#include "DevEFI.h"
     
    312313    ASSERT_EFI_ERROR(rc);
    313314
     315    rc = InitializeDataHub(ImageHandle, SystemTable);
     316    ASSERT_EFI_ERROR(rc);
     317
    314318    GetVmVariable(EFI_INFO_INDEX_FSB_FREQUENCY, (CHAR8 *)&FSBFrequency, sizeof(FSBFrequency));
    315319    GetVmVariable(EFI_INFO_INDEX_TSC_FREQUENCY, (CHAR8 *)&TSCFrequency, sizeof(TSCFrequency));
  • trunk/src/VBox/Devices/EFI/FirmwareNew/VBoxPkg/VBoxAppleSim/VBoxAppleSim.inf

    r80721 r80902  
    4040        Cpu.c
    4141        Console.c
     42        DataHub.c
    4243
    4344[Packages]
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