mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-11-23 11:35:19 +01:00
cpp will be only compilation mode
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
This commit is contained in:
parent
86cb372de2
commit
d836611308
@ -563,7 +563,7 @@
|
||||
|
||||
|
||||
!ifdef DEBUG_ON_SERIAL_PORT
|
||||
rEFIt_UEFI/refit.inf {
|
||||
rEFIt_UEFI/refit_cpp.inf {
|
||||
#
|
||||
# Enable debug output.
|
||||
#
|
||||
@ -576,7 +576,7 @@
|
||||
DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
|
||||
}
|
||||
!else
|
||||
rEFIt_UEFI/refit.inf {
|
||||
rEFIt_UEFI/refit_cpp.inf {
|
||||
<LibraryClasses>
|
||||
BaseMemoryLib|MdePkg/Library/UefiMemoryLib/UefiMemoryLib.inf
|
||||
}
|
||||
|
690
Clover_cpp.dsc
690
Clover_cpp.dsc
@ -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
|
352
Clover_cpp.fdf
352
Clover_cpp.fdf
@ -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)
|
||||
}
|
||||
|
@ -1466,6 +1466,7 @@
|
||||
A5BF392B20D9F18C004340E1 /* nanosvgrast.c in Sources */ = {isa = PBXBuildFile; fileRef = A5BF392920D9F18C004340E1 /* nanosvgrast.c */; };
|
||||
A5BF392C20D9F18C004340E1 /* nanosvg.c in Sources */ = {isa = PBXBuildFile; fileRef = A5BF392A20D9F18C004340E1 /* nanosvg.c */; };
|
||||
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 */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
@ -5917,6 +5918,7 @@
|
||||
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>"; };
|
||||
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 */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@ -6096,6 +6098,7 @@
|
||||
1261519C1A15BBB000903E7B /* main.c */,
|
||||
A5DEBF3223BF685800C41734 /* main.cpp */,
|
||||
1261519D1A15BBB000903E7B /* menu.c */,
|
||||
A5F6FBFB23F9208A003454EC /* menu.cpp */,
|
||||
1261519E1A15BBB000903E7B /* screen.c */,
|
||||
);
|
||||
path = refit;
|
||||
@ -16444,6 +16447,7 @@
|
||||
A5AA04A7237F13C1009CD413 /* ReadMm0.nasm in Sources */,
|
||||
A5AA055B237F13C1009CD413 /* ReadFs.c in Sources */,
|
||||
A5AAFB41237F13B3009CD413 /* Pool.c in Sources */,
|
||||
A5F6FBFC23F9208B003454EC /* menu.cpp in Sources */,
|
||||
A5AA068F237F13C2009CD413 /* DxeExtractGuidedSectionLib.c in Sources */,
|
||||
A5AAFD47237F13B4009CD413 /* ResetUtility.c in Sources */,
|
||||
A5AA06CC237F13C2009CD413 /* SetMem16Wrapper.c in Sources */,
|
||||
|
@ -393,7 +393,7 @@ checkCmdlineArguments() {
|
||||
done
|
||||
|
||||
# Update variables
|
||||
PLATFORMFILE="${PLATFORMFILE:-Clover_cpp.dsc}"
|
||||
PLATFORMFILE="${PLATFORMFILE:-Clover.dsc}"
|
||||
if [ ! -z "${MODULEFILE}" ]; then
|
||||
MODULEFILE=" -m $MODULEFILE"
|
||||
fi
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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_ */
|
@ -43,6 +43,9 @@
|
||||
|
||||
#include "Platform.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
# 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);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __LIBEG_LIBEGINT_H__ */
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3771,7 +3771,7 @@ VOID GraphicsMenuStyle(IN REFIT_MENU_SCREEN *Screen, IN SCROLL_STATE *State, IN
|
||||
/**
|
||||
* 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
|
||||
|
||||
@ -3832,7 +3832,7 @@ static VOID DrawMainMenuEntry(REFIT_MENU_ENTRY *Entry, BOOLEAN selected, INTN XP
|
||||
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;
|
||||
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);
|
||||
}
|
||||
|
||||
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 BadgeDim = (INTN)(BADGE_DIMENSION * GlobalConfig.Scale);
|
||||
|
Loading…
Reference in New Issue
Block a user