cpp will be only compilation mode

Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
This commit is contained in:
Sergey Isakov 2020-02-16 13:53:12 +03:00
parent 86cb372de2
commit d836611308
10 changed files with 17 additions and 4714 deletions

View File

@ -563,7 +563,7 @@
!ifdef DEBUG_ON_SERIAL_PORT !ifdef DEBUG_ON_SERIAL_PORT
rEFIt_UEFI/refit.inf { rEFIt_UEFI/refit_cpp.inf {
# #
# Enable debug output. # Enable debug output.
# #
@ -576,7 +576,7 @@
DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
} }
!else !else
rEFIt_UEFI/refit.inf { rEFIt_UEFI/refit_cpp.inf {
<LibraryClasses> <LibraryClasses>
BaseMemoryLib|MdePkg/Library/UefiMemoryLib/UefiMemoryLib.inf BaseMemoryLib|MdePkg/Library/UefiMemoryLib/UefiMemoryLib.inf
} }

View File

@ -1,690 +0,0 @@
## @file
# An EFI/Framework Emulation Platform with UEFI HII interface supported.
#
# Developer's UEFI Emulation. DUET provides an EFI/UEFI IA32/X64 environment on legacy BIOS,
# to help developing and debugging native EFI/UEFI drivers.
#
# Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##
[Defines]
PLATFORM_NAME = Clover
PLATFORM_GUID = 199E24E0-0989-42aa-87F2-611A8C397E72
PLATFORM_VERSION = 0.92
DSC_SPECIFICATION = 0x00010006
OUTPUT_DIRECTORY = Build/Clover
SUPPORTED_ARCHITECTURES = X64|IA32
BUILD_TARGETS = RELEASE|DEBUG
SKUID_IDENTIFIER = DEFAULT
!ifndef SKIP_FLASH
FLASH_DEFINITION = Clover_cpp.fdf
!endif
!ifndef OPENSSL_VERSION
DEFINE OPENSSL_VERSION = 1.0.1e
!endif
################################################################################
#
# Library Class section - list of all Library Classes needed by this Platform.
#
################################################################################
[LibraryClasses]
#
# Entry point
#
PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
#
# Basic
#
BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
BaseRngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
#BaseMemoryLib|MdePkg/Library/UefiMemoryLib/UefiMemoryLib.inf
#BaseMemoryLib|MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
#PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
#PciExpressLib|MdePkg/Library/DxeRuntimePciExpressLib/DxeRuntimePciExpressLib.inf
CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
#PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
PeCoffLib|Library/VBoxPeCoffLib/VBoxPeCoffLib.inf
PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
#
# UEFI & PI
#
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
#UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
UefiHiiServicesLib|Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
#EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
#EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf
#EblCmdLib|EmbeddedPkg/Library/EblCmdLibNull/EblCmdLibNull.inf
FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
UefiCpuLib|CloverEFI/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
!ifdef ENABLE_SECURE_BOOT
OpensslLib|Library/OpensslLib/openssl-$(OPENSSL_VERSION)/OpensslLib.inf
IntrinsicLib|Library/IntrinsicLib/IntrinsicLib.inf
!else
OpensslLib|Library/OpensslLib/OpensslLibNull.inf
!endif
#
# Generic Modules
#
UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
#GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
GenericBdsLib|Library/GenericBdsLib/GenericBdsLib.inf
SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
#PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
NetLib|NetworkPkg/Library/DxeNetLib/DxeNetLib.inf
#
# Platform
#
#PlatformBdsLib|DuetPkg/Library/DuetBdsLib/PlatformBds.inf
PlatformBdsLib|Library/OsxBdsPlatformLib/PlatformBds.inf
#TimerLib|DuetPkg/Library/DuetTimerLib/DuetTimerLib.inf
TimerLib|Library/DuetTimerLib/DuetTimerLib.inf
#
# Misc
#
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
# PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf
CpuExceptionHandlerLib|MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf
SmbusLib|MdePkg/Library/DxeSmbusLib/DxeSmbusLib.inf
S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
#SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf
SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
MtrrLib|CloverEFI/UefiCpuPkg/Library/MtrrLib/MtrrLib.inf
IoApicLib|PcAtChipsetPkg/Library/BaseIoApicLib/BaseIoApicLib.inf
LocalApicLib|CloverEFI/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf
#LocalApicLib|CloverEFI/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
#
# To save size, use NULL library for DebugLib and ReportStatusCodeLib.
# If need status code output, do library instance overriden as below DxeMain.inf does
#
DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
#
# Our libs
#
MemLogLib|Library/MemLogLibDefault/MemLogLibDefault.inf
VideoBiosPatchLib|Library/VideoBiosPatchLib/VideoBiosPatchLib.inf
WaveLib|Library/WaveLib/WaveLib.inf
HdaDevicesLib|Library/HdaDevicesLib/HdaDevicesLib.inf
OcGuardLib|Library/OcGuardLib/OcGuardLib.inf
MachoLib|Library/MachoLib/MachoLib.inf
DeviceTreeLib|Library/DeviceTreeLib/DeviceTreeLib.inf
ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
!ifndef NO_CLOVER_SHELL
#Shell
ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
!endif
[LibraryClasses.common.DXE_CORE]
HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
[LibraryClasses.common.PEIM]
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.inf
[LibraryClasses.IA32.PEIM, LibraryClasses.X64.PEIM]
PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
[LibraryClasses.common.DXE_DRIVER]
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
[LibraryClasses.common.DXE_SMM_DRIVER]
SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
###################################################################################################
#
# Components Section - list of the modules and components that will be processed by compilation
# tools and the EDK II tools to generate PE32/PE32+/Coff image files.
#
# Note: The EDK II DSC file is not used to specify how compiled binary images get placed
# into firmware volume images. This section is just a list of modules to compile from
# source into UEFI-compliant binaries.
# It is the FDF file that contains information on combining binary files into firmware
# volume images, whose concept is beyond UEFI and is described in PI specification.
# Binary modules do not need to be listed in this section, as they should be
# specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),
# Logo (Logo.bmp), and etc.
# There may also be modules listed in this section that are not required in the FDF file,
# When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
# generated for it, but the binary will not be put into any firmware volume.
#
###################################################################################################
[Components]
#DuetPkg/BootSector/BootSector.inf
#DuetPkg/DxeIpl/DxeIpl.inf {
CloverEFI/OsxDxeIpl/DxeIpl.inf {
<LibraryClasses>
#
# If no following overriden for ReportStatusCodeLib library class,
# All other module can *not* output debug information even they are use not NULL library
# instance for DebugLib and ReportStatusCodeLib
#
#ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
}
#MdeModulePkg/Core/Dxe/DxeMain.inf {
CloverEFI/OsxDxeCore/DxeMain.inf {
#
# Enable debug output for DxeCore module, this is a sample for how to enable debug output
# for a module. If need turn on debug output for other module, please copy following overriden
# PCD and library instance to other module's override section.
#
<PcdsFixedAtBuild>
gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x0
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x82
#0x82
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042
#0x80000042
<LibraryClasses>
BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
# DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
# ReportStatusCodeLib|DuetPkg/Library/DxeCoreReportStatusCodeLibFromHob/DxeCoreReportStatusCodeLibFromHob.inf
DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
PeCoffLib|Library/VBoxPeCoffLib/VBoxPeCoffLib.inf
}
MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
#DuetPkg/FSVariable/FSVariable.inf
!ifndef REAL_NVRAM
!ifdef HAVE_LEGACY_EMURUNTIMEDXE
MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
!else
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
<PcdsFixedAtBuild>
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable|TRUE
<LibraryClasses>
AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
}
!endif
!else
MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
<LibraryClasses>
NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
}
!endif
MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf {
<LibraryClasses>
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
<PcdsPatchableInModule>
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|0
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|0
}
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
#MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
CloverEFI/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
#MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
#DuetPkg/SmbiosGenDxe/SmbiosGen.inf
#OsxSmbiosDxe/SmbiosDxe.inf
CloverEFI/OsxSmbiosGenDxe/SmbiosGen.inf
#DuetPkg/EfiLdr/EfiLdr.inf {
CloverEFI/OsxEfiLdr/EfiLdr.inf {
<LibraryClasses>
DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
#NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
NULL|Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
}
#IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf {
CloverEFI/OsxBdsDxe/BdsDxe.inf {
<LibraryClasses>
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
}
MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
CloverEFI/UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
#UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
#UefiCpuPkg/CpuDxe/CpuDxe.inf
#UefiCpuPkg/CpuDxe/CpuDxe.inf
CloverEFI/CpuDxe/Cpu.inf
PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf {
<PcdsFixedAtBuild>
gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeMask|0xFFFC
}
#DuetPkg/AcpiResetDxe/Reset.inf
CloverEFI/AcpiReset/Reset.inf
#DuetPkg/LegacyMetronome/Metronome.inf
MdeModulePkg/Universal/Metronome/Metronome.inf
# EdkCompatibilityPkg/Compatibility/MpServicesOnFrameworkMpServicesThunk/MpServicesOnFrameworkMpServicesThunk.inf
#Chipset
#PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
CloverEFI/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
#PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf
#PcAtChipsetPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf
#DuetPkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf
CloverEFI/PciRootBridgeDxe/PciRootBridge.inf
#DuetPkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf
CloverEFI/OsxPciBusNoEnumerationDxe/PciBusNoEnumeration.inf
#MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
#PciBusDxe/PciBusDxe.inf
MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
#DataHub
#VBoxAppleSim/VBoxAppleSim.inf
#IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
Protocols/DataHubDxe/DataHubDxe.inf
#Protocols/DataHubStdErrDxe/DataHubStdErrDxe.inf
# foreign file system support
Protocols/DriverOverride/DriverOverride.inf
FileSystems/VBoxFsDxe/VBoxHfs.inf
FileSystems/VBoxFsDxe/VBoxIso9660.inf
#FileSystems/VBoxFsDxe/VBoxFsDxe.inf
FileSystems/VBoxFsDxe/VBoxExt2.inf
FileSystems/VBoxFsDxe/VBoxExt4.inf
FileSystems/VBoxFsDxe/VBoxReiserFS.inf
#EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
#OsxMmcDxe/MmcDxe.inf
FileSystems/FatPkg/EnhancedFatDxe/Fat.inf
FileSystems/ApfsDriverLoader/ApfsDriverLoader.inf
# FS from grub
!ifndef NO_GRUB_DRIVERS
FileSystems/GrubFS/src/EXFAT.inf
FileSystems/GrubFS/src/HFSPLUS.inf
FileSystems/GrubFS/src/ISO9660.inf
FileSystems/GrubFS/src/NTFS.inf
FileSystems/GrubFS/src/UDF.inf
#FileSystems/GrubFS/src/ZFS.inf
#FileSystems/GrubFS/src/UFS.inf
#FileSystems/GrubFS/src/UFS2.inf
#FileSystems/GrubFS/src/XFS.inf
!endif
#Video
#IntelFrameworkModulePkg/Bus/Pci/VgaMiniPortDxe/VgaMiniPortDxe.inf
#VBoxVgaMiniPort/VgaMiniPortDxe.inf
#IntelFrameworkModulePkg/Universal/Console/VgaClassDxe/VgaClassDxe.inf
#VgaClassDxe/VgaClassDxe.inf
#IntelGmaDxe/Gop.inf
#DuetPkg/BiosVideoThunkDxe/BiosVideo.inf
CloverEFI/BiosVideo/BiosVideo.inf
#BiosVideoAuto/BiosVideo.inf
LegacyBios/VideoDxe/VideoDxe.inf
LegacyBios/VideoDxe/VideoDxe2.inf
# IDE/AHCI Support
!ifdef USE_BIOS_BLOCKIO
LegacyBios/BlockIoDxe/BlockIoDxe.inf
!else
#Trash/VBoxIdeControllerDxe/VBoxIdeControllerDxe.inf
#Trash/VBoxIdeBusDxe/VBoxIdeBusDxe.inf
#DuetPkg/SataControllerDxe/SataControllerDxe.inf
Drivers/SataControllerDxe/SataControllerDxe.inf
#MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
Drivers/AtaAtapi/AtaAtapiPassThru.inf
#MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
Drivers/AtaBus/AtaBusDxe.inf
#MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
Drivers/DVDBus/ScsiBusDxe.inf
#MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
Drivers/DVDDisk/ScsiDiskDxe.inf
#IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf
!endif
# Usb Support
MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
Drivers/OhciDxe/OhciDxe.inf
MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
# MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
Drivers/XhciDxe/XhciDxe.inf
# MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
Drivers/UsbBusDxe/UsbBusDxe.inf
# MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
Drivers/UsbKbDxe/UsbKbDxe.inf
MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf
#Drivers/UsbMouseDxe/UsbMouseDxe.inf
# ISA Support
PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf
Drivers/Isa/IsaBusDxe/IsaBusDxe.inf
#IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
Drivers/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
#IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf
Drivers/Isa/Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointerDxe.inf
#IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf
Drivers/Isa/Ps2MouseDxe/Ps2MouseDxe.inf
# ACPI Support
#MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
CloverEFI/OsxAcpiTableDxe/AcpiTableDxe.inf
#MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
#CloverEFI/OsxAcpiPlatformDxe/AcpiPlatformDxe.inf
MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf {
<LibraryClasses>
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
}
#MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
Drivers/PartitionDxe/PartitionDxe.inf
#FD
#IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
#SaveResume/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
#MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
#MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.inf
#MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
#SaveResume/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
#CloverEFI/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
# Bios Thunk
#IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf
#IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
#IntelFrameworkModulePkg/Csm/BiosThunk/BlockIoDxe/BlockIoDxe.inf
#IntelFrameworkModulePkg/Csm/BiosThunk/KeyboardDxe/KeyboardDxe.inf
CloverEFI/BiosKeyboard/KeyboardDxe.inf
#IntelFrameworkModulePkg/Universal/LegacyRegionDxe/LegacyRegionDxe.inf
#MdeModulePkg/Universal/LegacyRegion2Dxe/LegacyRegion2Dxe.inf
LegacyBios/Region2Dxe/LegacyRegion2Dxe.inf
# Misc
FSInject/FSInject.inf
Protocols/MsgLog/MsgLog.inf
Protocols/SMCHelper/SMCHelper.inf
Protocols/FirmwareVolume/FirmwareVolume.inf
Protocols/AppleImageCodec/AppleImageCodec.inf
Protocols/AppleUITheme/AppleUITheme.inf
Protocols/HashServiceFix/HashServiceFix.inf
Protocols/AppleKeyAggregator/AppleKeyAggregator.inf
Protocols/AppleKeyFeeder/AppleKeyFeeder.inf
Protocols/AptioInputFix/AptioInputFix.inf
!ifdef DEBUG_ON_SERIAL_PORT
Protocols/DumpUefiCalls/DumpUefiCalls.inf {
<PcdsFixedAtBuild>
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x07
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0xFFFFFFFF
<LibraryClasses>
DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
}
!else
Protocols/DumpUefiCalls/DumpUefiCalls.inf {
<LibraryClasses>
PeCoffLib|Library/VBoxPeCoffLib/VBoxPeCoffLib.inf
}
!endif
# Drivers for Aptio loading - should go to Clover's /EFI/drivers/UEFI dir
Protocols/OsxFatBinaryDrv/OsxFatBinaryDrv.inf
# Drivers for Phoenix UEFI loading - should go to Clover's /EFI/drivers64UEFI dir
Protocols/EmuVariableUefi/EmuVariableRuntimeDxe.inf {
<PcdsFixedAtBuild>
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x3000
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000
gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x40000
gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics|FALSE
gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize|0x0000
}
# Driver Audio
Drivers/AudioDxe/AudioDxe.inf
#
# Sample Application
#
#MdeModulePkg/Application/HelloWorld/HelloWorld.inf
#MdeModulePkg/Application/VariableInfo/VariableInfo.inf
#Sample/Application/Sample.inf
#gptsync/gptsync.inf
bdmesg_efi/bdmesg.inf
!ifndef NO_CLOVER_SHELL
ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
ShellPkg/Application/Shell/Shell.inf {
<PcdsFixedAtBuild>
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|16000
!ifdef $(NO_SHELL_PROFILES)
gEfiShellPkgTokenSpaceGuid.PcdShellProfileMask|0x00
!endif #$(NO_SHELL_PROFILES)
<LibraryClasses>
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
!ifndef $(NO_SHELL_PROFILES)
NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
!ifdef $(INCLUDE_DP)
NULL|ShellPkg/Library/UefiDpLib/UefiDpLib.inf
!endif #$(INCLUDE_DP)
!ifdef $(INCLUDE_TFTP_COMMAND)
NULL|ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf
!endif #$(INCLUDE_TFTP_COMMAND)
!endif #$(NO_SHELL_PROFILES)
}
!endif
!ifdef DEBUG_ON_SERIAL_PORT
rEFIt_UEFI/refit_cpp.inf {
#
# Enable debug output.
#
<PcdsFixedAtBuild>
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x07
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0xFFFFFFFF
<LibraryClasses>
SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
}
!else
rEFIt_UEFI/refit_cpp.inf {
<LibraryClasses>
BaseMemoryLib|MdePkg/Library/UefiMemoryLib/UefiMemoryLib.inf
}
!endif
[Components.X64]
# MemoryFix/OsxAptioFixDrv/OsxAptioFix2Drv.inf
MemoryFix/OsxAptioFixDrv/OsxAptioFix3Drv.inf
MemoryFix/OsxLowMemFixDrv/OsxLowMemFixDrv.inf
MemoryFix/AptioMemoryFix/AptioMemoryFix.inf
!ifdef DEBUG_ON_SERIAL_PORT
MemoryFix/OsxAptioFixDrv/OsxAptioFixDrv.inf {
#
# Enable debug output.
#
<PcdsFixedAtBuild>
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x07
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0xFFFFFFFF
<LibraryClasses>
SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
}
!else
MemoryFix/OsxAptioFixDrv/OsxAptioFixDrv.inf
!endif
###################################################################################################
#
# BuildOptions Section - Define the module specific tool chain flags that should be used as
# the default flags for a module. These flags are appended to any
# standard flags that are defined by the build process. They can be
# applied for any modules or only those modules with the specific
# module style (EDK or EDKII) specified in [Components] section.
#
###################################################################################################
[BuildOptions]
!ifdef ENABLE_VBIOS_PATCH_CLOVEREFI
DEFINE VBIOS_PATCH_CLOVEREFI_FLAG = -DCLOVER_VBIOS_PATCH_IN_CLOVEREFI
!endif
!ifdef ONLY_SATA_0
DEFINE ONLY_SATA_0_FLAG = -DONLY_SATA_0
!endif
!ifdef USE_BIOS_BLOCKIO
DEFINE BLOCKIO_FLAG = -DUSE_BIOS_BLOCKIO
!ifdef DISABLE_USB_CONTROLLERS_WHEN_BLOCKIO
DEFINE DISABLE_USB_CONTROLLERS = 1
!endif
!endif
!ifdef DISABLE_USB_CONTROLLERS
DEFINE NOUSB_FLAG = -DDISABLE_USB_SUPPORT
!endif
!ifdef DISABLE_USB_SUPPORT
DEFINE NOUSB_FLAG = -DDISABLE_USB_SUPPORT
!endif
!ifdef DISABLE_UDMA_SUPPORT
DEFINE NOUDMA_FLAG = -DDISABLE_UDMA_SUPPORT
!endif
# Slice: I propose this flag always true
#!ifdef AMD_SUPPORT
DEFINE AMD_FLAG = -DAMD_SUPPORT
#!endif
!ifdef ENABLE_SECURE_BOOT
DEFINE SECURE_BOOT_FLAG = -DENABLE_SECURE_BOOT
!endif
#!ifdef ANDX86
DEFINE ANDX86_FLAG = -DANDX86
#!endif
#!ifdef LODEPNG
DEFINE LODEPNG_FLAG = -DLODEPNG
#!endif
!ifdef ENABLE_PS2MOUSE_LEGACYBOOT
DEFINE PS2MOUSE_LEGACYBOOT_FLAG = -DENABLE_PS2MOUSE_LEGACYBOOT
!endif
!ifdef DEBUG_ON_SERIAL_PORT
DEFINE DEBUG_ON_SERIAL_PORT_FLAG = -DDEBUG_ON_SERIAL_PORT
!endif
!ifdef DISABLE_LTO
DEFINE DISABLE_LTO_FLAG = -fno-lto -UUSING_LTO
!endif
!ifdef EXIT_USBKB
DEFINE EXIT_USBKB_FLAG = -DEXIT_USBKB
!endif
DEFINE BUILD_OPTIONS=-DMDEPKG_NDEBUG -DCLOVER_BUILD $(VBIOS_PATCH_CLOVEREFI_FLAG) $(ONLY_SATA_0_FLAG) $(BLOCKIO_FLAG) $(NOUSB_FLAG) $(NOUDMA_FLAG) $(AMD_FLAG) $(SECURE_BOOT_FLAG) $(ANDX86_FLAG) $(LODEPNG_FLAG) $(PS2MOUSE_LEGACYBOOT_FLAG) $(DEBUG_ON_SERIAL_PORT_FLAG) $(EXIT_USBKB_FLAG)
#MSFT:*_*_*_CC_FLAGS = /FAcs /FR$(@R).SBR /wd4701 /wd4703 $(BUILD_OPTIONS)
MSFT:*_*_*_CC_FLAGS = /FAcs /FR$(@R).SBR $(BUILD_OPTIONS) -Dinline=__inline
XCODE:*_*_*_CC_FLAGS = -fno-unwind-tables -Wno-msvc-include -Os $(BUILD_OPTIONS) $(DISABLE_LTO_FLAG)
GCC:*_*_*_CC_FLAGS = $(BUILD_OPTIONS) $(DISABLE_LTO_FLAG)
#-Wunused-but-set-variable
# -Os -fno-omit-frame-pointer -maccumulate-outgoing-args

View File

@ -1,352 +0,0 @@
## @file
# This is DUET FDF file with UEFI HII features enabled
#
# Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
# Clover EFI FDF file to be differ from DUET
################################################################################
#
# FV Section
#
# [FV] section is used to define what components or modules are placed within a flash
# device file. This section also defines order the components and modules are positioned
# within the image. The [FV] section consists of define statements, set statements and
# module statements.
#
################################################################################
[Defines]
!if ($(ARCH) == X64)
[FV.DuetEfiMainFvX64]
!elseif ($(ARCH) == IA32)
[FV.DuetEfiMainFvIA32]
!else
[FV.DuetEfiMainFvEBC]
!endif
BlockSize = 0x10000
NumBlocks = 0x2a
FvAlignment = 16 #FV alignment and FV attributes setting.
ERASE_POLARITY = 1
MEMORY_MAPPED = TRUE
STICKY_WRITE = TRUE
LOCK_CAP = TRUE
LOCK_STATUS = TRUE
WRITE_DISABLED_CAP = TRUE
WRITE_ENABLED_CAP = TRUE
WRITE_STATUS = TRUE
WRITE_LOCK_CAP = TRUE
WRITE_LOCK_STATUS = TRUE
READ_DISABLED_CAP = TRUE
READ_ENABLED_CAP = TRUE
READ_STATUS = TRUE
READ_LOCK_CAP = TRUE
READ_LOCK_STATUS = TRUE
#APRIORI PEI {
# INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
# INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
# INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
# }
APRIORI DXE {
INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
INF PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
INF Protocols/MsgLog/MsgLog.inf
}
INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
#INF DuetPkg/FSVariable/FSVariable.inf
!ifdef REAL_NVRAM
INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
!else
!ifdef HAVE_LEGACY_EMURUNTIMEDXE
INF MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
!else
INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
!endif
!endif
INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
#INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
INF CloverEFI/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
#INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
#INF DuetPkg/SmbiosGenDxe/SmbiosGen.inf
#INF OsxSmbiosDxe/SmbiosDxe.inf
INF CloverEFI/OsxSmbiosGenDxe/SmbiosGen.inf
#INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
INF CloverEFI/OsxBdsDxe/BdsDxe.inf
INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
INF CloverEFI/UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
#INF UefiCpuPkg/CpuDxe/CpuDxe.inf
#INF IntelFrameworkModulePkg/Universal/CpuIoDxe/CpuIoDxe.inf
INF CloverEFI/CpuDxe/Cpu.inf
!ifndef CLANG
#INF UefiCpuPkg/CpuDxe/CpuDxe.inf
!else
#INF RuleOverride=BINARY CpuDxeBin/CpuDxeBin.inf
!endif
# DataHub
#INF VBoxAppleSim/VBoxAppleSim.inf
INF Protocols/DataHubDxe/DataHubDxe.inf
#INF Protocols/DataHubStdErrDxe/DataHubStdErrDxe.inf
#INF EdkCompatibilityPkg/Compatibility/PiSmbiosRecordOnDataHubSmbiosRecordThunk/PiSmbiosRecordOnDataHubSmbiosRecordThunk.inf
# foreign file system support
INF Protocols/DriverOverride/DriverOverride.inf
!ifndef NO_GRUB_DRIVERS_EMBEDDED
!ifndef NO_GRUB_DRIVERS
INF FileSystems/GrubFS/src/EXFAT.inf
#INF FileSystems/GrubFS/src/NTFS.inf
!endif
!endif
#INF FileSystems/VBoxFsDxe/VBoxFsDxe.inf
#INF FileSystems/VBoxFsDxe/VBoxIso9660.inf
#INF FileSystems/VBoxFsDxe/VBoxExt2.inf
#INF FileSystems/VBoxFsDxe/VBoxExt4.inf
#INF FileSystems/VBoxFsDxe/VBoxReiserFS.inf
!if $(USE_APPLE_HFSPLUS_DRIVER) AND ( $(ARCH) == X64 )
INF RuleOverride=BINARY FileSystems/HFSPlus/HFSPlus.inf
!else
INF FileSystems/VBoxFsDxe/VBoxHfs.inf
!endif
INF PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
#INF DuetPkg/AcpiResetDxe/Reset.inf
INF CloverEFI/AcpiReset/Reset.inf
#INF DuetPkg/LegacyMetronome/Metronome.inf
INF MdeModulePkg/Universal/Metronome/Metronome.inf
INF PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
#INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf
#INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
INF CloverEFI/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
#INF PcAtChipsetPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf
#INF DuetPkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf
INF CloverEFI/PciRootBridgeDxe/PciRootBridge.inf
#INF DuetPkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf
INF CloverEFI/OsxPciBusNoEnumerationDxe/PciBusNoEnumeration.inf
#INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
#INF CloverEFI/PciBusDxe/PciBusDxe.inf
# Video
#INF IntelFrameworkModulePkg/Bus/Pci/VgaMiniPortDxe/VgaMiniPortDxe.inf
#INF VBoxVgaMiniPort/VgaMiniPortDxe.inf
#INF IntelFrameworkModulePkg/Universal/Console/VgaClassDxe/VgaClassDxe.inf
#INF VgaClassDxe/VgaClassDxe.inf
#INF DuetPkg/BiosVideoThunkDxe/BiosVideo.inf
INF CloverEFI/BiosVideo/BiosVideo.inf
#INF BiosVideoAuto/BiosVideo.inf
#INF IntelGmaDxe/Gop.inf
#INF LegacyBios/VideoDxe/VideoDxe.inf
# BIOS CSM
#INF IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
#INF IntelFrameworkModulePkg/Csm/BiosThunk/BlockIoDxe/BlockIoDxe.inf
#INF IntelFrameworkModulePkg/Csm/BiosThunk/KeyboardDxe/KeyboardDxe.inf
INF CloverEFI/BiosKeyboard/KeyboardDxe.inf
#INF IntelFrameworkModulePkg/Universal/LegacyRegionDxe/LegacyRegionDxe.inf
#INF MdeModulePkg/Universal/LegacyRegion2Dxe/LegacyRegion2Dxe.inf
#INF LegacyBios/RegionDxe/LegacyRegion2Dxe.inf
INF LegacyBios/Region2Dxe/LegacyRegion2Dxe.inf
#INF IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf
# IDE/AHCI Support
!ifdef USE_BIOS_BLOCKIO
INF LegacyBios/BlockIoDxe/BlockIoDxe.inf
!ifdef DISABLE_USB_CONTROLLERS_WHEN_BLOCKIO
DEFINE DISABLE_USB_CONTROLLERS = 1
!endif
!else
!ifdef USE_ION
INF RuleOverride=BINARY ION/ION.inf
!else
#INF VBoxIdeControllerDxe/VBoxIdeControllerDxe.inf
#INF VBoxIdeBusDxe/VBoxIdeBusDxe.inf
#INF DuetPkg/SataControllerDxe/SataControllerDxe.inf
INF Drivers/SataControllerDxe/SataControllerDxe.inf
#INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
INF Drivers/AtaAtapi/AtaAtapiPassThru.inf
#INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
INF Drivers/AtaBus/AtaBusDxe.inf
#INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
INF Drivers/DVDBus/ScsiBusDxe.inf
#INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
INF Drivers/DVDDisk/ScsiDiskDxe.inf
#INF IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf
!endif
!endif
# Usb Support
!ifndef DISABLE_USB_SUPPORT
!ifndef DISABLE_USB_CONTROLLERS
INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
!ifndef DISABLE_USB_MASS_STORAGE
INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
!endif
!endif
!ifdef ENABLE_USB_OHCI
INF Drivers/OhciDxe/OhciDxe.inf
!endif
!ifdef ENABLE_USB_XHCI
#INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
INF Drivers/XhciDxe/XhciDxe.inf
!endif
#INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
INF Drivers/UsbBusDxe/UsbBusDxe.inf
#INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
INF Drivers/UsbKbDxe/UsbKbDxe.inf
INF MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf
!ifndef DISABLE_USB_MASS_STORAGE
INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
!endif
!endif
# ISA Support
INF PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf
INF Drivers/Isa/IsaBusDxe/IsaBusDxe.inf
#INF Drivers/Isa/IsaSerialDxe/IsaSerialDxe.inf
#INF Drivers/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
#INF Drivers/Isa/IsaFloppyDxe/IsaFloppyDxe.inf
INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
#INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
INF Drivers/PartitionDxe/PartitionDxe.inf
# ACPI Support
#INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
INF CloverEFI/OsxAcpiTableDxe/AcpiTableDxe.inf
#INF MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
#INF CloverEFI/OsxAcpiPlatformDxe/AcpiPlatformDxe.inf
# FD
#INF IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
#INF SaveResume/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
#INF MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
#INF MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.inf
#INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
#INF SaveResume/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
#INF UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
# Misc
INF Protocols/MsgLog/MsgLog.inf
# Binary INF file to support toggle among different CPU architectures.
#INF RuleOverride=BINARY FatBinPkg/EnhancedFatDxe/Fat.inf
INF FileSystems/FatPkg/EnhancedFatDxe/Fat.inf
#FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
# SECTION RAW = Logo/Logo.bmp
# }
[Rule.Common.SEC]
FILE SEC = $(NAMED_GUID) {
PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi
UI STRING ="$(MODULE_NAME)" Optional
VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
}
[Rule.Common.PEI_CORE]
FILE PEI_CORE = $(NAMED_GUID) {
PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi
UI STRING ="$(MODULE_NAME)" Optional
VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
}
[Rule.Common.PEIM]
FILE PEIM = $(NAMED_GUID) {
PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi
UI STRING="$(MODULE_NAME)" Optional
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
}
[Rule.Common.DXE_CORE]
FILE DXE_CORE = $(NAMED_GUID) {
PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
UI STRING ="$(MODULE_NAME)" Optional
VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
}
[Rule.Common.UEFI_DRIVER]
FILE DRIVER = $(NAMED_GUID) {
DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
UI STRING ="$(MODULE_NAME)" Optional
VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
}
[Rule.Common.DXE_DRIVER]
FILE DRIVER = $(NAMED_GUID) {
DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
UI STRING ="$(MODULE_NAME)" Optional
VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
}
[Rule.Common.DXE_RUNTIME_DRIVER]
FILE DRIVER = $(NAMED_GUID) {
DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
UI STRING ="$(MODULE_NAME)" Optional
VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
}
[Rule.Common.UEFI_APPLICATION]
FILE APPLICATION = $(NAMED_GUID) {
PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
UI STRING ="$(MODULE_NAME)" Optional
VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
}
[Rule.Common.UEFI_APPLICATION.BINARY]
FILE APPLICATION = $(NAMED_GUID) {
DXE_DEPEX DXE_DEPEX Optional |.depex
PE32 PE32 |.efi
UI STRING ="$(MODULE_NAME)" Optional
VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
}
[Rule.Common.UEFI_DRIVER.BINARY]
FILE DRIVER = $(NAMED_GUID) {
DXE_DEPEX DXE_DEPEX Optional |.depex
PE32 PE32 |.efi
UI STRING ="$(MODULE_NAME)" Optional
VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
}

View File

@ -1466,6 +1466,7 @@
A5BF392B20D9F18C004340E1 /* nanosvgrast.c in Sources */ = {isa = PBXBuildFile; fileRef = A5BF392920D9F18C004340E1 /* nanosvgrast.c */; }; A5BF392B20D9F18C004340E1 /* nanosvgrast.c in Sources */ = {isa = PBXBuildFile; fileRef = A5BF392920D9F18C004340E1 /* nanosvgrast.c */; };
A5BF392C20D9F18C004340E1 /* nanosvg.c in Sources */ = {isa = PBXBuildFile; fileRef = A5BF392A20D9F18C004340E1 /* nanosvg.c */; }; A5BF392C20D9F18C004340E1 /* nanosvg.c in Sources */ = {isa = PBXBuildFile; fileRef = A5BF392A20D9F18C004340E1 /* nanosvg.c */; };
A5DEBF3323BF685800C41734 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5DEBF3223BF685800C41734 /* main.cpp */; }; A5DEBF3323BF685800C41734 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5DEBF3223BF685800C41734 /* main.cpp */; };
A5F6FBFC23F9208B003454EC /* menu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5F6FBFB23F9208A003454EC /* menu.cpp */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */ /* Begin PBXCopyFilesBuildPhase section */
@ -5917,6 +5918,7 @@
A5E284562347DC1C0068ED34 /* OcStringLib.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OcStringLib.h; sourceTree = "<group>"; }; A5E284562347DC1C0068ED34 /* OcStringLib.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OcStringLib.h; sourceTree = "<group>"; };
A5E284572347DC1D0068ED34 /* OcMiscLib.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OcMiscLib.h; sourceTree = "<group>"; }; A5E284572347DC1D0068ED34 /* OcMiscLib.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OcMiscLib.h; sourceTree = "<group>"; };
A5E284582347E1FE0068ED34 /* OcVariables.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OcVariables.h; sourceTree = "<group>"; }; A5E284582347E1FE0068ED34 /* OcVariables.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OcVariables.h; sourceTree = "<group>"; };
A5F6FBFB23F9208A003454EC /* menu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = menu.cpp; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@ -6096,6 +6098,7 @@
1261519C1A15BBB000903E7B /* main.c */, 1261519C1A15BBB000903E7B /* main.c */,
A5DEBF3223BF685800C41734 /* main.cpp */, A5DEBF3223BF685800C41734 /* main.cpp */,
1261519D1A15BBB000903E7B /* menu.c */, 1261519D1A15BBB000903E7B /* menu.c */,
A5F6FBFB23F9208A003454EC /* menu.cpp */,
1261519E1A15BBB000903E7B /* screen.c */, 1261519E1A15BBB000903E7B /* screen.c */,
); );
path = refit; path = refit;
@ -16444,6 +16447,7 @@
A5AA04A7237F13C1009CD413 /* ReadMm0.nasm in Sources */, A5AA04A7237F13C1009CD413 /* ReadMm0.nasm in Sources */,
A5AA055B237F13C1009CD413 /* ReadFs.c in Sources */, A5AA055B237F13C1009CD413 /* ReadFs.c in Sources */,
A5AAFB41237F13B3009CD413 /* Pool.c in Sources */, A5AAFB41237F13B3009CD413 /* Pool.c in Sources */,
A5F6FBFC23F9208B003454EC /* menu.cpp in Sources */,
A5AA068F237F13C2009CD413 /* DxeExtractGuidedSectionLib.c in Sources */, A5AA068F237F13C2009CD413 /* DxeExtractGuidedSectionLib.c in Sources */,
A5AAFD47237F13B4009CD413 /* ResetUtility.c in Sources */, A5AAFD47237F13B4009CD413 /* ResetUtility.c in Sources */,
A5AA06CC237F13C2009CD413 /* SetMem16Wrapper.c in Sources */, A5AA06CC237F13C2009CD413 /* SetMem16Wrapper.c in Sources */,

View File

@ -393,7 +393,7 @@ checkCmdlineArguments() {
done done
# Update variables # Update variables
PLATFORMFILE="${PLATFORMFILE:-Clover_cpp.dsc}" PLATFORMFILE="${PLATFORMFILE:-Clover.dsc}"
if [ ! -z "${MODULEFILE}" ]; then if [ ! -z "${MODULEFILE}" ]; then
MODULEFILE=" -m $MODULEFILE" MODULEFILE=" -m $MODULEFILE"
fi fi

View File

@ -1,452 +0,0 @@
/*
* Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. The rights granted to you under the License
* may not be used to create, or enable the creation or redistribution of,
* unlawful or unlicensed copies of an Apple operating system, or to
* circumvent, violate, or enable the circumvention or violation of, any
* terms of an Apple operating system software license agreement.
*
* Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_END@
*/
#include "Platform.h"
#include "device_tree.h"
#define round_long(x) (((x) + 3UL) & ~(3UL))
#define next_prop(x) ((DeviceTreeNodeProperty *) (((UINT8*)x) + sizeof(DeviceTreeNodeProperty) + round_long(x->length)))
/* Entry*/
INTN DTInitialized;
RealDTEntry DTRootNode;
/*
* Support Routines
*/
RealDTEntry
skipProperties(RealDTEntry entry)
{
DeviceTreeNodeProperty *prop;
UINTN k;
if (entry == NULL || entry->nProperties == 0) {
return NULL;
} else {
prop = (DeviceTreeNodeProperty *) (entry + 1);
for (k = 0; k < entry->nProperties; k++) {
prop = next_prop(prop);
}
}
return ((RealDTEntry) prop);
}
RealDTEntry
skipTree(RealDTEntry root)
{
RealDTEntry entry;
UINTN k;
entry = skipProperties(root);
if (entry == NULL) {
return NULL;
}
for (k = 0; k < root->nChildren; k++) {
entry = skipTree(entry);
}
return entry;
}
RealDTEntry
GetFirstChild(RealDTEntry parent)
{
return skipProperties(parent);
}
RealDTEntry
GetNextChild(RealDTEntry sibling)
{
return skipTree(sibling);
}
CONST CHAR8*
GetNextComponent(CONST CHAR8 *cp, CHAR8 *bp)
{
while (*cp != 0) {
if (*cp == kDTPathNameSeparator) {
cp++;
break;
}
*bp++ = *cp++;
}
*bp = 0;
return cp;
}
RealDTEntry
FindChild(RealDTEntry cur, CHAR8 *buf)
{
RealDTEntry child;
UINT32 index;
CHAR8* str;
UINT32 dummy;
if (cur->nChildren == 0) {
return NULL;
}
index = 1;
child = GetFirstChild(cur);
while (1) {
if (DTGetProperty(child, "name", (VOID **)&str, &dummy) != kSuccess) {
break;
}
if (AsciiStrCmp((CHAR8*)str, (CHAR8*)buf) == 0) {
return child;
}
if (index >= cur->nChildren) {
break;
}
child = GetNextChild(child);
index++;
}
return NULL;
}
/*
* External Routines
*/
VOID
DTInit(VOID *base)
{
DTRootNode = (RealDTEntry) base;
DTInitialized = (DTRootNode != 0);
}
INTN
DTEntryIsEqual(CONST DTEntry ref1, CONST DTEntry ref2)
{
/* equality of pointers */
return (ref1 == ref2);
}
CHAR8 *startingP; // needed for find_entry
INTN find_entry(CONST CHAR8 *propName, CONST CHAR8 *propValue, DTEntry *entryH);
INTN DTFindEntry(CONST CHAR8 *propName, CONST CHAR8 *propValue, DTEntry *entryH)
{
if (!DTInitialized) {
return kError;
}
startingP = (CHAR8 *)DTRootNode;
return(find_entry(propName, propValue, entryH));
}
INTN find_entry(CONST CHAR8 *propName, CONST CHAR8 *propValue, DTEntry *entryH)
{
DeviceTreeNode *nodeP = (DeviceTreeNode *) (VOID *) startingP;
UINTN k;
if (nodeP->nProperties == 0) return(kError); // End of the list of nodes
startingP = (CHAR8 *) (nodeP + 1);
// Search current entry
for (k = 0; k < nodeP->nProperties; ++k) {
DeviceTreeNodeProperty *propP = (DeviceTreeNodeProperty *) (VOID *) startingP;
startingP += sizeof (*propP) + ((propP->length + 3) & -4);
if (AsciiStrCmp ((CHAR8*)propP->name, (CHAR8*)propName) == 0) {
if (propValue == NULL || AsciiStrCmp( (CHAR8*)(propP + 1), (CHAR8*)propValue) == 0)
{
*entryH = (DTEntry)nodeP;
return(kSuccess);
}
}
}
// Search child nodes
for (k = 0; k < nodeP->nChildren; ++k)
{
if (find_entry(propName, propValue, entryH) == kSuccess)
return(kSuccess);
}
return(kError);
}
//if(DTLookupEntry(NULL,"/",&efiPlatform)==kSuccess)
INTN
DTLookupEntry(CONST DTEntry searchPoint, CONST CHAR8 *pathName, DTEntry *foundEntry)
{
DTEntryNameBuf buf;
RealDTEntry cur;
CONST CHAR8* cp;
if (!DTInitialized) {
return kError;
}
if (searchPoint == NULL)
{
cur = DTRootNode;
}
else
{
cur = searchPoint;
}
cp = pathName;
if (*cp == kDTPathNameSeparator) {
cp++;
if (*cp == 0) {
*foundEntry = cur;
return kSuccess;
}
}
do {
cp = GetNextComponent(cp, buf);
/* Check for done */
if (*buf == 0) {
if (*cp == 0) {
*foundEntry = cur;
return kSuccess;
}
break;
}
cur = FindChild(cur, buf);
} while (cur != NULL);
return kError;
}
INTN
DTCreateEntryIterator(CONST DTEntry startEntry, DTEntryIterator *iterator)
{
RealDTEntryIterator iter;
if (!DTInitialized) {
return kError;
}
iter = (RealDTEntryIterator) AllocatePool(sizeof(struct OpaqueDTEntryIterator));
if (startEntry != NULL) {
iter->outerScope = (RealDTEntry) startEntry;
iter->currentScope = (RealDTEntry) startEntry;
} else {
iter->outerScope = DTRootNode;
iter->currentScope = DTRootNode;
}
iter->currentEntry = NULL;
iter->savedScope = NULL;
iter->currentIndex = 0;
*iterator = iter;
return kSuccess;
}
INTN
DTDisposeEntryIterator(DTEntryIterator iterator)
{
RealDTEntryIterator iter = iterator;
DTSavedScopePtr scope;
while ((scope = iter->savedScope) != NULL) {
iter->savedScope = scope->nextScope;
FreePool(scope);
}
FreePool(iterator);
return kSuccess;
}
INTN
DTEnterEntry(DTEntryIterator iterator, DTEntry childEntry)
{
RealDTEntryIterator iter = iterator;
DTSavedScopePtr newScope;
if (childEntry == NULL) {
return kError;
}
newScope = (DTSavedScopePtr) AllocatePool(sizeof(struct DTSavedScope));
newScope->nextScope = iter->savedScope;
newScope->scope = iter->currentScope;
newScope->entry = iter->currentEntry;
newScope->index = iter->currentIndex;
iter->currentScope = childEntry;
iter->currentEntry = NULL;
iter->savedScope = newScope;
iter->currentIndex = 0;
return kSuccess;
}
INTN
DTExitEntry(DTEntryIterator iterator, DTEntry *currentPosition)
{
RealDTEntryIterator iter = iterator;
DTSavedScopePtr newScope;
newScope = iter->savedScope;
if (newScope == NULL) {
return kError;
}
iter->savedScope = newScope->nextScope;
iter->currentScope = newScope->scope;
iter->currentEntry = newScope->entry;
iter->currentIndex = newScope->index;
*currentPosition = iter->currentEntry;
FreePool(newScope);
return kSuccess;
}
INTN
DTIterateEntries(DTEntryIterator iterator, DTEntry *nextEntry)
{
RealDTEntryIterator iter = iterator;
if (iter->currentIndex >= iter->currentScope->nChildren) {
*nextEntry = NULL;
return kIterationDone;
} else {
iter->currentIndex++;
if (iter->currentIndex == 1) {
iter->currentEntry = GetFirstChild(iter->currentScope);
} else {
iter->currentEntry = GetNextChild(iter->currentEntry);
}
*nextEntry = iter->currentEntry;
return kSuccess;
}
}
INTN
DTRestartEntryIteration(DTEntryIterator iterator)
{
RealDTEntryIterator iter = iterator;
#if 0
// This commented out code allows a second argument (outer)
// which (if TRUE) causes restarting at the outer scope
// rather than the current scope.
DTSavedScopePtr scope;
if (outer) {
while ((scope = iter->savedScope) != NULL) {
iter->savedScope = scope->nextScope;
FreePool(scope);
}
iter->currentScope = iter->outerScope;
}
#endif
iter->currentEntry = NULL;
iter->currentIndex = 0;
return kSuccess;
}
INTN
DTGetProperty(CONST DTEntry entry, CONST CHAR8 *propertyName, VOID **propertyValue, UINT32 *propertySize)
{
DeviceTreeNodeProperty *prop;
UINTN k;
if (entry == NULL || entry->nProperties == 0) {
return kError;
} else {
prop = (DeviceTreeNodeProperty *) (entry + 1);
for (k = 0; k < entry->nProperties; k++) {
if (AsciiStrCmp((CHAR8*)prop->name, (CHAR8*)propertyName) == 0) {
*propertyValue = (VOID *) (((UINT8*)prop)
+ sizeof(DeviceTreeNodeProperty));
*propertySize = prop->length;
return kSuccess;
}
prop = next_prop(prop);
}
}
return kError;
}
INTN
DTCreatePropertyIterator(CONST DTEntry entry, DTPropertyIterator *iterator)
{
RealDTPropertyIterator iter;
iter = (RealDTPropertyIterator) AllocatePool(sizeof(struct OpaqueDTPropertyIterator));
iter->entry = entry;
iter->currentProperty = NULL;
iter->currentIndex = 0;
*iterator = iter;
return kSuccess;
}
// dmazar: version without mem alloc which can be used during or after ExitBootServices.
// caller should not call DTDisposePropertyIterator when using this version.
INTN
DTCreatePropertyIteratorNoAlloc(CONST DTEntry entry, DTPropertyIterator iterator)
{
RealDTPropertyIterator iter = iterator;
iter->entry = entry;
iter->currentProperty = NULL;
iter->currentIndex = 0;
return kSuccess;
}
INTN
DTDisposePropertyIterator(DTPropertyIterator iterator)
{
FreePool(iterator);
return kSuccess;
}
INTN
DTIterateProperties(DTPropertyIterator iterator, CHAR8 **foundProperty)
{
RealDTPropertyIterator iter = iterator;
if (iter->currentIndex >= iter->entry->nProperties) {
*foundProperty = NULL;
return kIterationDone;
} else {
iter->currentIndex++;
if (iter->currentIndex == 1) {
iter->currentProperty = (DeviceTreeNodeProperty *) (iter->entry + 1);
} else {
iter->currentProperty = next_prop(iter->currentProperty);
}
*foundProperty = iter->currentProperty->name;
return kSuccess;
}
}
INTN
DTRestartPropertyIteration(DTPropertyIterator iterator)
{
RealDTPropertyIterator iter = iterator;
iter->currentProperty = NULL;
iter->currentIndex = 0;
return kSuccess;
}

View File

@ -1,280 +0,0 @@
/*
* Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. The rights granted to you under the License
* may not be used to create, or enable the creation or redistribution of,
* unlawful or unlicensed copies of an Apple operating system, or to
* circumvent, violate, or enable the circumvention or violation of, any
* terms of an Apple operating system software license agreement.
*
* Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_END@
*/
#ifndef _PEXPERT_DEVICE_TREE_H_
#define _PEXPERT_DEVICE_TREE_H_
/*
-------------------------------------------------------------------------------
Foundation Types
-------------------------------------------------------------------------------
*/
enum {
kDTPathNameSeparator = '/' /* 0x2F */
};
/* Property Name Definitions (Property Names are C-Strings)*/
enum {
kDTMaxPropertyNameLength=31 /* Max length of Property Name (terminator not included) */
};
typedef char DTPropertyNameBuf[32];
/* Entry Name Definitions (Entry Names are C-Strings)*/
enum {
kDTMaxEntryNameLength = 31 /* Max length of a C-String Entry Name (terminator not included) */
};
/* length of DTEntryNameBuf = kDTMaxEntryNameLength +1*/
typedef char DTEntryNameBuf[32];
/* Entry*/
typedef struct OpaqueDTEntry* DTEntry;
/* Entry Iterator*/
typedef struct OpaqueDTEntryIterator* DTEntryIterator;
/* Property Iterator*/
typedef struct OpaqueDTPropertyIterator* DTPropertyIterator;
/* status values*/
enum {
kError = -1,
kIterationDone = 0,
kSuccess = 1
};
/*
Structures for a Flattened Device Tree
*/
//These definitions show the primitivity of C-language where there is no possibility to
//explain the structure of DT
#define kPropNameLength 32
typedef struct DeviceTreeNodeProperty {
char name[kPropNameLength]; // NUL terminated property name
UINT32 length; // Length (bytes) of following prop value
// unsigned long value[1]; // Variable length value of property
// Padded to a multiple of a longword?
} DeviceTreeNodeProperty;
typedef struct OpaqueDTEntry {
UINT32 nProperties; // Number of props[] elements (0 => end)
UINT32 nChildren; // Number of children[] elements
// DeviceTreeNodeProperty props[];// array size == nProperties
// DeviceTreeNode children[]; // array size == nChildren
} DeviceTreeNode;
typedef DeviceTreeNode *RealDTEntry;
typedef struct DTSavedScope {
struct DTSavedScope * nextScope;
RealDTEntry scope;
RealDTEntry entry;
unsigned long index;
} *DTSavedScopePtr;
/* Entry Iterator*/
typedef struct OpaqueDTEntryIterator {
RealDTEntry outerScope;
RealDTEntry currentScope;
RealDTEntry currentEntry;
DTSavedScopePtr savedScope;
UINT32 currentIndex;
} *RealDTEntryIterator;
/* Property Iterator*/
typedef struct OpaqueDTPropertyIterator {
RealDTEntry entry;
DeviceTreeNodeProperty *currentProperty;
UINT32 currentIndex;
} *RealDTPropertyIterator;
/*
-------------------------------------------------------------------------------
Device Tree Calls
-------------------------------------------------------------------------------
*/
/* Used to initalize the device tree functions. */
/* base is the base address of the flatened device tree */
VOID DTInit(VOID *base);
/*
-------------------------------------------------------------------------------
Entry Handling
-------------------------------------------------------------------------------
*/
/* Compare two Entry's for equality. */
extern INTN DTEntryIsEqual(CONST DTEntry ref1, CONST DTEntry ref2);
/*
-------------------------------------------------------------------------------
LookUp Entry by Name
-------------------------------------------------------------------------------
*/
/*
DTFindEntry:
Find the device tree entry that contains propName=propValue.
It currently searches the entire
tree. This function should eventually go in DeviceTree.c.
Returns: kSuccess = entry was found. Entry is in entryH.
kError = entry was not found
*/
extern INTN DTFindEntry(const CHAR8 *propName, const CHAR8 *propValue, DTEntry *entryH);
/*
Lookup Entry
Locates an entry given a specified subroot (searchPoint) and path name. If the
searchPoint pointer is NULL, the path name is assumed to be an absolute path
name rooted to the root of the device tree.
*/
extern INTN DTLookupEntry(const DTEntry searchPoint, const CHAR8 *pathName, DTEntry *foundEntry);
/*
-------------------------------------------------------------------------------
Entry Iteration
-------------------------------------------------------------------------------
*/
/*
An Entry Iterator maintains three variables that are of interest to clients.
First is an "OutermostScope" which defines the outer boundry of the iteration.
This is defined by the starting entry and includes that entry plus all of it's
embedded entries. Second is a "currentScope" which is the entry the iterator is
currently in. And third is a "currentPosition" which is the last entry returned
during an iteration.
Create Entry Iterator
Create the iterator structure. The outermostScope and currentScope of the iterator
are set to "startEntry". If "startEntry" = NULL, the outermostScope and
currentScope are set to the root entry. The currentPosition for the iterator is
set to "nil".
*/
extern INTN DTCreateEntryIterator(const DTEntry startEntry, DTEntryIterator *iterator);
/* Dispose Entry Iterator*/
extern INTN DTDisposeEntryIterator(DTEntryIterator iterator);
/*
Enter Child Entry
Move an Entry Iterator into the scope of a specified child entry. The
currentScope of the iterator is set to the entry specified in "childEntry". If
"childEntry" is nil, the currentScope is set to the entry specified by the
currentPosition of the iterator.
*/
extern INTN DTEnterEntry(DTEntryIterator iterator, DTEntry childEntry);
/*
Exit to Parent Entry
Move an Entry Iterator out of the current entry back into the scope of it's parent
entry. The currentPosition of the iterator is reset to the current entry (the
previous currentScope), so the next iteration call will continue where it left off.
This position is returned in parameter "currentPosition".
*/
extern INTN DTExitEntry(DTEntryIterator iterator, DTEntry *currentPosition);
/*
Iterate Entries
Iterate and return entries contained within the entry defined by the current
scope of the iterator. Entries are returned one at a time. When
INTN== kIterationDone, all entries have been exhausted, and the
value of nextEntry will be Nil.
*/
extern INTN DTIterateEntries(DTEntryIterator iterator, DTEntry *nextEntry);
/*
Restart Entry Iteration
Restart an iteration within the current scope. The iterator is reset such that
iteration of the contents of the currentScope entry can be restarted. The
outermostScope and currentScope of the iterator are unchanged. The currentPosition
for the iterator is set to "nil".
*/
extern INTN DTRestartEntryIteration(DTEntryIterator iterator);
/*
-------------------------------------------------------------------------------
Get Property Values
-------------------------------------------------------------------------------
*/
/*
Get the value of the specified property for the specified entry.
Get Property
*/
extern INTN DTGetProperty(const DTEntry entry, const CHAR8 *propertyName, void **propertyValue, UINT32 *propertySize);
/*
-------------------------------------------------------------------------------
Iterating Properties
-------------------------------------------------------------------------------
*/
/*
Create Property Iterator
Create the property iterator structure. The target entry is defined by entry.
*/
extern INTN DTCreatePropertyIterator(const DTEntry entry,
DTPropertyIterator *iterator);
/*
dmazar: version without mem alloc which can be used during or after ExitBootServices.
caller should not call DTDisposePropertyIterator when using this version.
*/
extern INTN DTCreatePropertyIteratorNoAlloc(CONST DTEntry entry, DTPropertyIterator iterator);
/* Dispose Property Iterator*/
extern INTN DTDisposePropertyIterator(DTPropertyIterator iterator);
/*
Iterate Properites
Iterate and return properties for given entry.
WhenINTN== kIterationDone, all properties have been exhausted.
*/
extern INTN DTIterateProperties(DTPropertyIterator iterator,
CHAR8 **foundProperty);
/*
Restart Property Iteration
Used to re-iterate over a list of properties. The Property Iterator is
reset to the beginning of the list of properties for an entry.
*/
extern INTN DTRestartPropertyIteration(DTPropertyIterator iterator);
#endif /* _PEXPERT_DEVICE_TREE_H_ */

View File

@ -43,6 +43,9 @@
#include "Platform.h" #include "Platform.h"
#ifdef __cplusplus
extern "C" {
#endif
#if defined(_MSC_VER) #if defined(_MSC_VER)
# define ALIGN_64 __declspec(align(8)) # define ALIGN_64 __declspec(align(8))
@ -181,6 +184,10 @@ EG_IMAGE * egDecodePNG(IN UINT8 *FileData, IN UINTN FileDataLength, IN BOOLEAN W
//VOID egEncodeBMP(IN EG_IMAGE *Image, OUT UINT8 **FileData, OUT UINTN *FileDataLength); //VOID egEncodeBMP(IN EG_IMAGE *Image, OUT UINT8 **FileData, OUT UINTN *FileDataLength);
#ifdef __cplusplus
}
#endif
#endif /* __LIBEG_LIBEGINT_H__ */ #endif /* __LIBEG_LIBEGINT_H__ */

File diff suppressed because it is too large Load Diff

View File

@ -3771,7 +3771,7 @@ VOID GraphicsMenuStyle(IN REFIT_MENU_SCREEN *Screen, IN SCROLL_STATE *State, IN
/** /**
* Draw entries for GUI. * Draw entries for GUI.
*/ */
static VOID DrawMainMenuEntry(REFIT_MENU_ENTRY *Entry, BOOLEAN selected, INTN XPos, INTN YPos) VOID DrawMainMenuEntry(REFIT_MENU_ENTRY *Entry, BOOLEAN selected, INTN XPos, INTN YPos)
{ {
INTN Scale = GlobalConfig.MainEntriesSize >> 3; //usually it is 128>>3 == 16. if 256>>3 == 32 INTN Scale = GlobalConfig.MainEntriesSize >> 3; //usually it is 128>>3 == 16. if 256>>3 == 32
@ -3832,7 +3832,7 @@ static VOID DrawMainMenuEntry(REFIT_MENU_ENTRY *Entry, BOOLEAN selected, INTN XP
Entry->Place.Height = MainImage->Height; Entry->Place.Height = MainImage->Height;
} }
static VOID FillRectAreaOfScreen(IN INTN XPos, IN INTN YPos, IN INTN Width, IN INTN Height, IN EG_PIXEL *Color, IN UINT8 XAlign) VOID FillRectAreaOfScreen(IN INTN XPos, IN INTN YPos, IN INTN Width, IN INTN Height, IN EG_PIXEL *Color, IN UINT8 XAlign)
{ {
EG_IMAGE *TmpBuffer = NULL; EG_IMAGE *TmpBuffer = NULL;
INTN X = XPos - (Width >> XAlign); INTN X = XPos - (Width >> XAlign);
@ -3853,7 +3853,7 @@ static VOID FillRectAreaOfScreen(IN INTN XPos, IN INTN YPos, IN INTN Width, IN I
egFreeImage(TmpBuffer); egFreeImage(TmpBuffer);
} }
static VOID DrawMainMenuLabel(IN CHAR16 *Text, IN INTN XPos, IN INTN YPos, IN REFIT_MENU_SCREEN *Screen, IN SCROLL_STATE *State) VOID DrawMainMenuLabel(IN CHAR16 *Text, IN INTN XPos, IN INTN YPos, IN REFIT_MENU_SCREEN *Screen, IN SCROLL_STATE *State)
{ {
INTN TextWidth; INTN TextWidth;
INTN BadgeDim = (INTN)(BADGE_DIMENSION * GlobalConfig.Scale); INTN BadgeDim = (INTN)(BADGE_DIMENSION * GlobalConfig.Scale);