Jump to content

Clover General discussion


ErmaC
30,171 posts in this topic

Recommended Posts

52 minutes ago, ccphuc2016 said:

where link download Clover r4399 ? thank install for macos Catalila 10.15 beta 1

All the official releases are here: https://sourceforge.net/projects/cloverefiboot/files/Installer/

 

However, versions older than 4938 (so, official release 4945) are not compatible with MacOS Catalina.

Edited by arsradu
  • Like 2
Link to comment
Share on other sites

44 minutes ago, artur_pt said:

hello Slice

 

last commit update to Catalina Icon

 

something is wrong

 

only thing I see is icons with apfs in Catalina

 

thanks

thanks for the test, I will check

Link to comment
Share on other sites

23 hours ago, Slice said:

What you mean "doesnt work"? CPU-type is cosmetic only. The computer will work with any random value.

i know its just cosmetic but would love it to report i9 instead of xeon w (as i currently have it set) or instead of manually setting it in AppleSystemInfo.Framework

Link to comment
Share on other sites

macOS Sierra 10.12.6(16G29) is no longer supported after updating Clover to 4938.

 

Clover 4938 uses Catalina kext inject patches to patch Sierra. You can find it in debug mode of Clover.

photo_2019-06-08_16-06-26.jpg

photo_2019-06-08_16-07-08.jpg

Link to comment
Share on other sites

3 hours ago, Mison said:

macOS Sierra 10.12.6(16G29) is no longer supported after updating Clover to 4938.

 

Clover 4938 uses Catalina kext inject patches to patch Sierra. You can find it in debug mode of Clover.

photo_2019-06-08_16-06-26.jpg

photo_2019-06-08_16-07-08.jpg

 

True, but I already fixed that with r4949. Try a later revision.

 

Edited by Pene
Link to comment
Share on other sites

Hi @vector sigma, Clover build failed after r4955 commit. Thanks.

 

Last login: Sat Jun  8 18:02:51 on ttys001
MacBookPro:~ badruzeus$ cd ~/src/UDK2018/
MacBookPro:UDK2018 badruzeus$ svn co svn://svn.code.sf.net/p/cloverefiboot/code/ Clover
U    Clover/rEFIt_UEFI/Platform/platformdata.c
Checked out revision 4955.
MacBookPro:UDK2018 badruzeus$ cd Clover
MacBookPro:Clover badruzeus$ ./ebuild.sh --ext-co -fr
TOOLCHAIN_DIR: /Users/badruzeus/src/UDK2018/Clover/../../opt/local
MTOC_PREFIX: /usr/local/bin/
NASM_PREFIX: /opt/local/bin/
NASM_VER: 2.14.03
Initializing workspace
Loading previous configuration from /Users/badruzeus/src/UDK2018/Conf/BuildEnv.sh
WORKSPACE: /Users/badruzeus/src/UDK2018
EDK_TOOLS_PATH: /Users/badruzeus/src/UDK2018/BaseTools
CONF_PATH: /Users/badruzeus/src/UDK2018/Conf

Running edk2 build for CloverX64 using the command:
build  -D NO_GRUB_DRIVERS -D USE_LOW_EBDA -D HAVE_LEGACY_EMURUNTIMEDXE -p Clover/Clover.dsc  -a X64 -b RELEASE -t XCODE8 -n 5 

Build environment: Darwin-17.7.0-x86_64-i386-64bit
Build start time: 18:25:16, Jun.08 2019

WORKSPACE        = /Users/badruzeus/src/UDK2018
ECP_SOURCE       = /Users/badruzeus/src/UDK2018/EdkCompatibilityPkg
EDK_SOURCE       = /Users/badruzeus/src/UDK2018/EdkCompatibilityPkg
EFI_SOURCE       = /Users/badruzeus/src/UDK2018/EdkCompatibilityPkg
EDK_TOOLS_PATH   = /Users/badruzeus/src/UDK2018/BaseTools
CONF_PATH        = /Users/badruzeus/src/UDK2018/Conf


Architecture(s)  = X64
Build target     = RELEASE
Toolchain        = XCODE8

Active Platform          = /Users/badruzeus/src/UDK2018/Clover/Clover.dsc
Flash Image Definition   = /Users/badruzeus/src/UDK2018/Clover/Clover.fdf

Processing meta-data ............... done!
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseLib/BaseLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BasePrintLib/BasePrintLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiLib/UefiLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/VBoxPeCoffLib/VBoxPeCoffLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/DuetTimerLib/DuetTimerLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/DxeServicesLib/DxeServicesLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/DxeHobLib/DxeHobLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/DxePcdLib/DxePcdLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/GenericBdsLib/GenericBdsLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/OsxBdsPlatformLib/PlatformBds.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/MemLogLibDefault/MemLogLibDefault.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/VideoBiosPatchLib/VideoBiosPatchLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiScsiLib/UefiScsiLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiUsbLib/UefiUsbLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/OsxDxeIpl/DxeIpl.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/OsxDxeCore/DxeMain.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/GraphicsConsoleDxe/GraphicsConsoleDxe.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/OsxSmbiosGenDxe/SmbiosGen.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/OsxEfiLdr/EfiLdr.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/OsxBdsDxe/BdsDxe.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/CpuDxe/Cpu.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/AcpiReset/Reset.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/Metronome/Metronome.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/PcAtChipsetPkg/8254TimerDxe/8254Timer.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/PciRootBridgeDxe/PciRootBridge.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/OsxPciBusNoEnumerationDxe/PciBusNoEnumeration.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/DriverOverride/DriverOverride.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/FileSystems/VBoxFsDxe/VBoxHfs.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/FileSystems/VBoxFsDxe/VBoxExt4.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/FileSystems/FatPkg/EnhancedFatDxe/Fat.inf [X64]
[CC] EfiLoader
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/BiosVideo/BiosVideo.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/LegacyBios/VideoDxe/VideoDxe.inf [X64]
[SLINK] EfiLoader
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/SataControllerDxe/SataControllerDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/AtaAtapi/AtaAtapiPassThru.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/AtaBus/AtaBusDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/DVDBus/ScsiBusDxe.inf [X64]
[DLINK1] EfiLoader
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/DVDDisk/ScsiDiskDxe.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf [X64]
[MTOC] EfiLoader
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/OhciDxe/OhciDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/XhciDxe/XhciDxe.inf [X64]
[CC] BdsEntry
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/UsbBusDxe/UsbBusDxe.inf [X64]
[GENFW] EfiLoader
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/UsbKbDxe/UsbKbDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf [X64]
make: Nothing to be done for `tbuild'.
[SLINK] BdsDxe
Building ... /Users/badruzeus/src/UDK2018/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointerDxe.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/Ps2MouseDxe/Ps2MouseDxe.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/OsxAcpiTableDxe/AcpiTableDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/PartitionDxe/PartitionDxe.inf [X64]
[DLINK1] BdsDxe
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/BiosKeyboard/KeyboardDxe.inf [X64]
[MTOC] BdsDxe
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/LegacyBios/Region2Dxe/LegacyRegion2Dxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/FSInject/FSInject.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/MsgLog/MsgLog.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/SMCHelper/SMCHelper.inf [X64]
make: Nothing to be done for `tbuild'.
[GENFW] BdsDxe
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/FirmwareVolume/FirmwareVolume.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/AppleImageCodec/AppleImageCodec.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/AppleUITheme/AppleUITheme.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/HashServiceFix/HashServiceFix.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/AppleKeyAggregator/AppleKeyAggregator.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/AppleKeyFeeder/AppleKeyFeeder.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/DumpUefiCalls/DumpUefiCalls.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/OsxFatBinaryDrv/OsxFatBinaryDrv.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/EmuVariableUefi/EmuVariableRuntimeDxe.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellLib/UefiShellLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiMemoryLib/UefiMemoryLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/OpensslLib/OpensslLibNull.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/WaveLib/WaveLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/AudioDxe/AudioDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/bdmesg_efi/bdmesg.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/refit.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Application/Shell/Shell.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/OsxAptioFixDrv/OsxAptioFixDrv.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/OsxAptioFixDrv/OsxAptioFix3Drv.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/OsxLowMemFixDrv/OsxLowMemFixDrv.inf [X64]
make: Nothing to be done for `tbuild'.
[CC] OsxLowMemFixDrv
[SLINK] OsxLowMemFixDrv
[CC] OsxAptioFixDrv
[CC] OsxAptioFix3Drv
[DLINK1] OsxLowMemFixDrv
[MTOC] OsxLowMemFixDrv
[SLINK] OsxAptioFixDrv
[SLINK] OsxAptioFix3Drv
[DLINK1] OsxAptioFixDrv
[DLINK1] OsxAptioFix3Drv
[MTOC] OsxAptioFixDrv
[MTOC] OsxAptioFix3Drv
[GENFW] OsxLowMemFixDrv
[GENFW] OsxAptioFixDrv
[GENFW] OsxAptioFix3Drv
[CC] main
[CC] menu
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:223:5: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j680", NULL }, // there are no BIOS REV rBR EPCI
    ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:223:11: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j680", NULL }, // there are no BIOS REV rBR EPCI
          ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:223:17: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'char [5]' [-Werror,-Wint-conversion]
    NULL, NULL, "j680", NULL }, // there are no BIOS REV rBR EPCI
                ^~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:223:25: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j680", NULL }, // there are no BIOS REV rBR EPCI
                        ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:227:5: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j132", NULL }, // there are no BIOS REV rBR EPCI
    ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:227:11: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j132", NULL }, // there are no BIOS REV rBR EPCI
          ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:227:17: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'char [5]' [-Werror,-Wint-conversion]
    NULL, NULL, "j132", NULL }, // there are no BIOS REV rBR EPCI
                ^~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:227:25: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j132", NULL }, // there are no BIOS REV rBR EPCI
                        ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:279:5: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j140k", NULL }, // there are no BIOS REV rBR EPCI
    ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:279:11: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j140k", NULL }, // there are no BIOS REV rBR EPCI
          ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:279:17: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'char [6]' [-Werror,-Wint-conversion]
    NULL, NULL, "j140k", NULL }, // there are no BIOS REV rBR EPCI
                ^~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:279:26: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j140k", NULL }, // there are no BIOS REV rBR EPCI
                         ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:323:5: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j174", NULL }, // there are no BIOS REV rBR EPCI
    ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:323:11: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j174", NULL }, // there are no BIOS REV rBR EPCI
          ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:323:17: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'char [5]' [-Werror,-Wint-conversion]
    NULL, NULL, "j174", NULL }, // there are no BIOS REV rBR EPCI
                ^~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:323:25: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j174", NULL }, // there are no BIOS REV rBR EPCI
                        ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:447:5: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j137", NULL }, // there are no BIOS REV rBR EPCI
    ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:447:11: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j137", NULL }, // there are no BIOS REV rBR EPCI
          ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:447:17: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'char [5]' [-Werror,-Wint-conversion]
    NULL, NULL, "j137", NULL }, // there are no BIOS REV rBR EPCI
                ^~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [/Users/badruzeus/src/UDK2018/Build/Clover/RELEASE_XCODE8/X64/Clover/rEFIt_UEFI/refit/OUTPUT/Platform/platformdata.obj] Error 1


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/badruzeus/src/UDK2018/Build/Clover/RELEASE_XCODE8/X64/Clover/rEFIt_UEFI/refit]


build.py...
 : error F002: Failed to build module
	/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/refit.inf [X64, XCODE8, RELEASE]

- Failed -
Build end time: 18:25:46, Jun.08 2019
Build total time: 00:00:29

MacBookPro:Clover badruzeus$ 

 

  • Sad 1
Link to comment
Share on other sites

1 hour ago, Badruzeus said:

Hi @vector sigma, Clover build failed after r4955 commit. Thanks.

 


Last login: Sat Jun  8 18:02:51 on ttys001
MacBookPro:~ badruzeus$ cd ~/src/UDK2018/
MacBookPro:UDK2018 badruzeus$ svn co svn://svn.code.sf.net/p/cloverefiboot/code/ Clover
U    Clover/rEFIt_UEFI/Platform/platformdata.c
Checked out revision 4955.
MacBookPro:UDK2018 badruzeus$ cd Clover
MacBookPro:Clover badruzeus$ ./ebuild.sh --ext-co -fr
TOOLCHAIN_DIR: /Users/badruzeus/src/UDK2018/Clover/../../opt/local
MTOC_PREFIX: /usr/local/bin/
NASM_PREFIX: /opt/local/bin/
NASM_VER: 2.14.03
Initializing workspace
Loading previous configuration from /Users/badruzeus/src/UDK2018/Conf/BuildEnv.sh
WORKSPACE: /Users/badruzeus/src/UDK2018
EDK_TOOLS_PATH: /Users/badruzeus/src/UDK2018/BaseTools
CONF_PATH: /Users/badruzeus/src/UDK2018/Conf

Running edk2 build for CloverX64 using the command:
build  -D NO_GRUB_DRIVERS -D USE_LOW_EBDA -D HAVE_LEGACY_EMURUNTIMEDXE -p Clover/Clover.dsc  -a X64 -b RELEASE -t XCODE8 -n 5 

Build environment: Darwin-17.7.0-x86_64-i386-64bit
Build start time: 18:25:16, Jun.08 2019

WORKSPACE        = /Users/badruzeus/src/UDK2018
ECP_SOURCE       = /Users/badruzeus/src/UDK2018/EdkCompatibilityPkg
EDK_SOURCE       = /Users/badruzeus/src/UDK2018/EdkCompatibilityPkg
EFI_SOURCE       = /Users/badruzeus/src/UDK2018/EdkCompatibilityPkg
EDK_TOOLS_PATH   = /Users/badruzeus/src/UDK2018/BaseTools
CONF_PATH        = /Users/badruzeus/src/UDK2018/Conf


Architecture(s)  = X64
Build target     = RELEASE
Toolchain        = XCODE8

Active Platform          = /Users/badruzeus/src/UDK2018/Clover/Clover.dsc
Flash Image Definition   = /Users/badruzeus/src/UDK2018/Clover/Clover.fdf

Processing meta-data ............... done!
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseLib/BaseLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BasePrintLib/BasePrintLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiLib/UefiLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/VBoxPeCoffLib/VBoxPeCoffLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/DuetTimerLib/DuetTimerLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/DxeServicesLib/DxeServicesLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/DxeHobLib/DxeHobLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/DxePcdLib/DxePcdLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/GenericBdsLib/GenericBdsLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/OsxBdsPlatformLib/PlatformBds.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/MemLogLibDefault/MemLogLibDefault.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/VideoBiosPatchLib/VideoBiosPatchLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiScsiLib/UefiScsiLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiUsbLib/UefiUsbLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/OsxDxeIpl/DxeIpl.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/OsxDxeCore/DxeMain.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/GraphicsConsoleDxe/GraphicsConsoleDxe.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/OsxSmbiosGenDxe/SmbiosGen.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/OsxEfiLdr/EfiLdr.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/OsxBdsDxe/BdsDxe.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/CpuDxe/Cpu.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/AcpiReset/Reset.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/Metronome/Metronome.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/PcAtChipsetPkg/8254TimerDxe/8254Timer.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/PciRootBridgeDxe/PciRootBridge.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/OsxPciBusNoEnumerationDxe/PciBusNoEnumeration.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/DriverOverride/DriverOverride.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/FileSystems/VBoxFsDxe/VBoxHfs.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/FileSystems/VBoxFsDxe/VBoxExt4.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/FileSystems/FatPkg/EnhancedFatDxe/Fat.inf [X64]
[CC] EfiLoader
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/BiosVideo/BiosVideo.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/LegacyBios/VideoDxe/VideoDxe.inf [X64]
[SLINK] EfiLoader
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/SataControllerDxe/SataControllerDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/AtaAtapi/AtaAtapiPassThru.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/AtaBus/AtaBusDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/DVDBus/ScsiBusDxe.inf [X64]
[DLINK1] EfiLoader
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/DVDDisk/ScsiDiskDxe.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf [X64]
[MTOC] EfiLoader
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/OhciDxe/OhciDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/XhciDxe/XhciDxe.inf [X64]
[CC] BdsEntry
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/UsbBusDxe/UsbBusDxe.inf [X64]
[GENFW] EfiLoader
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/UsbKbDxe/UsbKbDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf [X64]
make: Nothing to be done for `tbuild'.
[SLINK] BdsDxe
Building ... /Users/badruzeus/src/UDK2018/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointerDxe.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/Ps2MouseDxe/Ps2MouseDxe.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/OsxAcpiTableDxe/AcpiTableDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/PartitionDxe/PartitionDxe.inf [X64]
[DLINK1] BdsDxe
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/CloverEFI/BiosKeyboard/KeyboardDxe.inf [X64]
[MTOC] BdsDxe
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/LegacyBios/Region2Dxe/LegacyRegion2Dxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/FSInject/FSInject.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/MsgLog/MsgLog.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/SMCHelper/SMCHelper.inf [X64]
make: Nothing to be done for `tbuild'.
[GENFW] BdsDxe
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/FirmwareVolume/FirmwareVolume.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/AppleImageCodec/AppleImageCodec.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/AppleUITheme/AppleUITheme.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/HashServiceFix/HashServiceFix.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/AppleKeyAggregator/AppleKeyAggregator.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/AppleKeyFeeder/AppleKeyFeeder.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/DumpUefiCalls/DumpUefiCalls.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/OsxFatBinaryDrv/OsxFatBinaryDrv.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/Protocols/EmuVariableUefi/EmuVariableRuntimeDxe.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellLib/UefiShellLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/UefiMemoryLib/UefiMemoryLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/OpensslLib/OpensslLibNull.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/Library/WaveLib/WaveLib.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/Drivers/AudioDxe/AudioDxe.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/bdmesg_efi/bdmesg.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/refit.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/ShellPkg/Application/Shell/Shell.inf [X64]
Building ... /Users/badruzeus/src/UDK2018/Clover/OsxAptioFixDrv/OsxAptioFixDrv.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/OsxAptioFixDrv/OsxAptioFix3Drv.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/src/UDK2018/Clover/OsxLowMemFixDrv/OsxLowMemFixDrv.inf [X64]
make: Nothing to be done for `tbuild'.
[CC] OsxLowMemFixDrv
[SLINK] OsxLowMemFixDrv
[CC] OsxAptioFixDrv
[CC] OsxAptioFix3Drv
[DLINK1] OsxLowMemFixDrv
[MTOC] OsxLowMemFixDrv
[SLINK] OsxAptioFixDrv
[SLINK] OsxAptioFix3Drv
[DLINK1] OsxAptioFixDrv
[DLINK1] OsxAptioFix3Drv
[MTOC] OsxAptioFixDrv
[MTOC] OsxAptioFix3Drv
[GENFW] OsxLowMemFixDrv
[GENFW] OsxAptioFixDrv
[GENFW] OsxAptioFix3Drv
[CC] main
[CC] menu
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:223:5: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j680", NULL }, // there are no BIOS REV rBR EPCI
    ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:223:11: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j680", NULL }, // there are no BIOS REV rBR EPCI
          ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:223:17: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'char [5]' [-Werror,-Wint-conversion]
    NULL, NULL, "j680", NULL }, // there are no BIOS REV rBR EPCI
                ^~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:223:25: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j680", NULL }, // there are no BIOS REV rBR EPCI
                        ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:227:5: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j132", NULL }, // there are no BIOS REV rBR EPCI
    ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:227:11: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j132", NULL }, // there are no BIOS REV rBR EPCI
          ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:227:17: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'char [5]' [-Werror,-Wint-conversion]
    NULL, NULL, "j132", NULL }, // there are no BIOS REV rBR EPCI
                ^~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:227:25: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j132", NULL }, // there are no BIOS REV rBR EPCI
                        ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:279:5: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j140k", NULL }, // there are no BIOS REV rBR EPCI
    ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:279:11: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j140k", NULL }, // there are no BIOS REV rBR EPCI
          ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:279:17: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'char [6]' [-Werror,-Wint-conversion]
    NULL, NULL, "j140k", NULL }, // there are no BIOS REV rBR EPCI
                ^~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:279:26: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j140k", NULL }, // there are no BIOS REV rBR EPCI
                         ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:323:5: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j174", NULL }, // there are no BIOS REV rBR EPCI
    ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:323:11: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j174", NULL }, // there are no BIOS REV rBR EPCI
          ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:323:17: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'char [5]' [-Werror,-Wint-conversion]
    NULL, NULL, "j174", NULL }, // there are no BIOS REV rBR EPCI
                ^~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:323:25: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j174", NULL }, // there are no BIOS REV rBR EPCI
                        ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:447:5: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j137", NULL }, // there are no BIOS REV rBR EPCI
    ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:447:11: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'void *' [-Werror,-Wint-conversion]
    NULL, NULL, "j137", NULL }, // there are no BIOS REV rBR EPCI
          ^~~~
/Users/badruzeus/src/UDK2018/MdePkg/Include/Base.h:360:15: note: expanded from macro 'NULL'
#define NULL  ((VOID *) 0)
              ^~~~~~~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:447:17: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'char [5]' [-Werror,-Wint-conversion]
    NULL, NULL, "j137", NULL }, // there are no BIOS REV rBR EPCI
                ^~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [/Users/badruzeus/src/UDK2018/Build/Clover/RELEASE_XCODE8/X64/Clover/rEFIt_UEFI/refit/OUTPUT/Platform/platformdata.obj] Error 1


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/badruzeus/src/UDK2018/Build/Clover/RELEASE_XCODE8/X64/Clover/rEFIt_UEFI/refit]


build.py...
 : error F002: Failed to build module
	/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/refit.inf [X64, XCODE8, RELEASE]

- Failed -
Build end time: 18:25:46, Jun.08 2019
Build total time: 00:00:29

MacBookPro:Clover badruzeus$ 

 

Try replacing with this: platformdata.c.zip

Edited by vector sigma
  • Thanks 1
Link to comment
Share on other sites

3 minutes ago, vector sigma said:

Try replacing with this: platformdata.c.zip

 

Still failed after using this platformdata.c (macOS 10.13.6, Xcode 10,1, UDK2018).

Do I need `cd ~/src/UDK2018/ && make -C BaseTools/Source/C` first?

 

/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:223:11: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'char [5]' [-Werror,-Wint-conversion]
    0, 0, "j680", 0 }, // there are no BIOS REV rBR EPCI
          ^~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:227:11: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'char [5]' [-Werror,-Wint-conversion]
    0, 0, "j132", 0 }, // there are no BIOS REV rBR EPCI
          ^~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:279:11: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'char [6]' [-Werror,-Wint-conversion]
    0, 0, "j140k", 0 }, // there are no BIOS REV rBR EPCI
          ^~~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:323:11: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'char [5]' [-Werror,-Wint-conversion]
    0, 0, "j174", 0 }, // there are no BIOS REV rBR EPCI
          ^~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:447:11: error: incompatible pointer to integer conversion initializing 'UINT8' (aka 'unsigned char') with an expression of type 'char [5]' [-Werror,-Wint-conversion]
    0, 0, "j137", 0 }, // there are no BIOS REV rBR EPCI
          ^~~~~~
/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/Platform/platformdata.c:223:11: error: initializer element is not a compile-time constant
    0, 0, "j680", 0 }, // there are no BIOS REV rBR EPCI
          ^~~~~~
6 errors generated.
make: *** [/Users/badruzeus/src/UDK2018/Build/Clover/RELEASE_XCODE8/X64/Clover/rEFIt_UEFI/refit/OUTPUT/Platform/platformdata.obj] Error 1


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/badruzeus/src/UDK2018/Build/Clover/RELEASE_XCODE8/X64/Clover/rEFIt_UEFI/refit]


build.py...
 : error F002: Failed to build module
	/Users/badruzeus/src/UDK2018/Clover/rEFIt_UEFI/refit.inf [X64, XCODE8, RELEASE]

- Failed -
Build end time: 18:39:49, Jun.08 2019
Build total time: 00:00:23

 

Link to comment
Share on other sites

29 minutes ago, Sherlocks said:

did you consider datahubcpu.c?

No but is not what I asked now, otherwise why ask for a ioreg?.

Later I'will want to try with this that is ready:

//
/// @file rEFIt_UEFI/Platform/DataHubCpu.c
///
/// VirtualBox CPU descriptors
///
/// VirtualBox CPU descriptors also used to set OS X-used NVRAM variables and DataHub data
///

// Copyright(C) 2009-2010 Oracle Corporation
//
// This file is part of VirtualBox Open Source Edition(OSE), as
// available from http://www.virtualbox.org. This file is free software;
// you can redistribute it and/or modify it under the terms of the GNU
// General Public License(GPL) as published by the Free Software
// Foundation, in version 2 as it comes in the "COPYING" file of the
// VirtualBox OSE distribution. VirtualBox OSE is distributed in the
// hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.

//
// CHANGELOG:
//
// 2014/11/20
// Download-Fritz
// Removed commented out code in rev 2963 and 2965
//

#ifndef DEBUG_ALL
#define DEBUG_DH 1
#else
#define DEBUG_DH DEBUG_ALL
#endif

#if DEBUG_DH == 0
#define DBG(...)
#else
#define DBG(...) DebugLog(DEBUG_DH, __VA_ARGS__)
#endif


#include "Platform.h"
//#include "Version.h"

#include <Guid/DataHubRecords.h>

#define EFI_CPU_DATA_MAXIMUM_LENGTH 0x100

// gDataHub
/// A pointer to the DataHubProtocol
EFI_DATA_HUB_PROTOCOL     *gDataHub;

EFI_SUBCLASS_TYPE1_HEADER mCpuDataRecordHeader = {
  EFI_PROCESSOR_SUBCLASS_VERSION,       // Version
  sizeof(EFI_SUBCLASS_TYPE1_HEADER),    // Header Size
  0,                                    // Instance (initialize later)
  EFI_SUBCLASS_INSTANCE_NON_APPLICABLE, // SubInstance
  0                                     // RecordType (initialize later)
};

// gDataHubPlatformGuid
/// The GUID of the DataHubProtocol
EFI_GUID gDataHubPlatformGuid = {
  0x64517cc8, 0x6561, 0x4051, { 0xb0, 0x3c, 0x59, 0x64, 0xb6, 0x0f, 0x4c, 0x7a }
};

extern EFI_GUID gDataHubPlatformGuid;
extern APPLE_SMC_IO_PROTOCOL        *gAppleSmc;

typedef union {
  EFI_CPU_DATA_RECORD *DataRecord;
  UINT8               *Raw;
} EFI_CPU_DATA_RECORD_BUFFER;

// PLATFORM_DATA
/// The struct passed to "LogDataHub" holing key and value to be added
#pragma pack(1)
typedef struct {
  EFI_SUBCLASS_TYPE1_HEADER Hdr;     /// 0x48
  UINT32                    NameLen; /// 0x58 (in bytes)
  UINT32                    ValLen;  /// 0x5c
  UINT8                     Data[1]; /// 0x60 Name Value
} PLATFORM_DATA;
#pragma pack()

// CopyRecord
/// Copy the data provided in arguments into a PLATFORM_DATA buffer
///
/// @param Rec    The buffer the data should be copied into
/// @param Name   The value for the member "name"
/// @param Val    The data the object should have
/// @param ValLen The length of the parameter "Val"
///
/// @return The size of the new PLATFORM_DATA object is returned
UINT32 EFIAPI
CopyRecord(IN        PLATFORM_DATA *Rec,
           IN  CONST CHAR16        *Name,
           IN        VOID          *Val,
           IN        UINT32        ValLen)
{
  CopyMem(&Rec->Hdr, &mCpuDataRecordHeader, sizeof(EFI_SUBCLASS_TYPE1_HEADER));
  Rec->NameLen = (UINT32)StrLen(Name) * sizeof(CHAR16);
  Rec->ValLen  = ValLen;
  CopyMem(Rec->Data,                Name, Rec->NameLen);
  CopyMem(Rec->Data + Rec->NameLen, Val,  ValLen);

  return (sizeof(EFI_SUBCLASS_TYPE1_HEADER) + 8 + Rec->NameLen + Rec->ValLen);
}

// LogDataHub
/// Adds a key-value-pair to the DataHubProtocol
EFI_STATUS EFIAPI
LogDataHub(IN  EFI_GUID *TypeGuid,
           IN  CHAR16   *Name,
           IN  VOID     *Data,
           IN  UINT32   DataSize)
{
  UINT32        RecordSize;
  EFI_STATUS    Status;
  PLATFORM_DATA *PlatformData;

  PlatformData = (PLATFORM_DATA*)AllocatePool(sizeof(PLATFORM_DATA) + DataSize + EFI_CPU_DATA_MAXIMUM_LENGTH);
  if (PlatformData == NULL) {
    return EFI_OUT_OF_RESOURCES;
  }

  RecordSize = CopyRecord(PlatformData, Name, Data, DataSize);
  Status     = gDataHub->LogData(gDataHub,
                                 TypeGuid,                   // DataRecordGuid
                                 &gDataHubPlatformGuid,      // ProducerName (always)
                                 EFI_DATA_RECORD_CLASS_DATA,
                                 PlatformData,
                                 RecordSize);

  FreePool(PlatformData);
  return Status;
}

// SetVariablesForOSX
/// Sets the volatile and non-volatile variables used by OS X
EFI_STATUS EFIAPI
SetVariablesForOSX(LOADER_ENTRY *Entry)
{
  // The variable names used should be made global constants to prevent them being allocated multiple times

  UINT32  Attributes;
  UINT32  Color;
  CHAR8   *None;
  CHAR8   *NvidiaWebValue;

  CHAR16  *KbdPrevLang;
  UINTN   LangLen;
  CHAR8   *VariablePtr;
  VOID    *OldData;
  UINT64  os_version = AsciiOSVersionToUint64(Entry->OSVersion);
  CHAR8   *PlatformLang;

  //
  // firmware Variables
  //

  // As found on a real Mac, the system-id variable solely has the BS flag
  SetNvramVariable(L"system-id",
                   &gEfiAppleNvramGuid,
                   EFI_VARIABLE_BOOTSERVICE_ACCESS,
                   sizeof(gUuid),
                   &gUuid);

  Attributes     = EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS;

  if (gSettings.RtMLB != NULL) {
    if (AsciiStrLen(gSettings.RtMLB) != 17) {
      DBG("** Warning: Your MLB is not suitable for iMessage(must be 17 chars long) !\n");
    }

    SetNvramVariable(L"MLB",
                     &gEfiAppleNvramGuid,
                     Attributes,
                     AsciiStrLen(gSettings.RtMLB),
                     gSettings.RtMLB);
  }

  if (gSettings.RtROM != NULL) {
    SetNvramVariable(L"ROM",
                     &gEfiAppleNvramGuid,
                     Attributes,
                     gSettings.RtROMLen,
                     gSettings.RtROM);
  }

  SetNvramVariable(L"FirmwareFeatures",
                   &gEfiAppleNvramGuid,
                   Attributes,
                   sizeof(gFwFeatures),
                   &gFwFeatures);

  // Download-Fritz: Should be added to SMBIOS or at least to some other config section
  AddNvramVariable(L"FirmwareFeaturesMask",
                   &gEfiAppleNvramGuid,
                   Attributes,
                   sizeof(gFwFeaturesMask),
                   &gFwFeaturesMask);

  // HW_MLB and HW_ROM are also around on some Macs with the same values as MLB and ROM
  AddNvramVariable(L"HW_BID", &gEfiAppleNvramGuid, Attributes, AsciiStrLen(gSettings.BoardNumber), gSettings.BoardNumber);


  //
  // OS X non-volatile Variables
  //

  // note: some gEfiAppleBootGuid vars present in nvram.plist are already set by PutNvramPlistToRtVars()
  // we should think how to handle those vars from nvram.plist and ones set here from gSettings

  if ((gFirmwareClover && gDriversFlags.EmuVariableLoaded) || gSettings.KbdPrevLang) {
    // using AddNvramVariable content instead of calling the function to do LangLen calculation only when necessary
    // Do not mess with prev-lang:kbd on UEFI systems without NVRAM emulation; it's OS X's business
    KbdPrevLang = L"prev-lang:kbd";
    OldData     = GetNvramVariable(KbdPrevLang, &gEfiAppleBootGuid, NULL, NULL);
    if (OldData == NULL) {
      LangLen     = 16;
      VariablePtr = &gSettings.Language[15];
      for (LangLen = 16; ((*VariablePtr == ' ') || (*VariablePtr == 0)) && (LangLen != 0); --LangLen) {
        --VariablePtr;
      }

      gRT->SetVariable(KbdPrevLang, &gEfiAppleBootGuid, Attributes, LangLen, &gSettings.Language);
    } else {
      FreePool(OldData);
    }
  } else {
    Attributes |= EFI_VARIABLE_NON_VOLATILE;
  }

//#define EFI_PLATFORM_LANG_VARIABLE_NAME             L"PlatformLang"
  PlatformLang = GetNvramVariable(EFI_PLATFORM_LANG_VARIABLE_NAME, &gEfiGlobalVariableGuid, NULL, NULL);
  //
  // On some platforms with missing gEfiUnicodeCollation2ProtocolGuid EFI_PLATFORM_LANG_VARIABLE_NAME is set
  // to the value different from "en-...". This is not going to work with our driver UEFI Shell load failures.
  // We did not overwrite EFI_PLATFORM_LANG_VARIABLE_NAME, but it uses some other language.
  //
//  if (!PlatformLang || AsciiStrnCmp (PlatformLang, "en-", 3)) {
  if (!PlatformLang) {
    SetNvramVariable(EFI_PLATFORM_LANG_VARIABLE_NAME, &gEfiGlobalVariableGuid,
                     Attributes,
                     6, "en-US");
  }
  if (PlatformLang) {
    FreePool(PlatformLang);
  }

  None           = "none";
  AddNvramVariable(L"security-mode", &gEfiAppleBootGuid, Attributes, 5, (VOID*)None);

  // we should have two UUID: platform and system
  // NO! Only Platform is the best solution
  if (!gSettings.InjectSystemID) {
    if (gSettings.SmUUIDConfig) {
      SetNvramVariable(L"platform-uuid", &gEfiAppleBootGuid, Attributes, 16, &gUuid);
    } else {
      AddNvramVariable(L"platform-uuid", &gEfiAppleBootGuid, Attributes, 16, &gUuid);
    }
  }

  // Download-Fritz: Do not mess with BacklightLevel; it's OS X's business
  if (gMobile) {
    if (gSettings.BacklightLevelConfig) {
      SetNvramVariable(L"backlight-level", &gEfiAppleBootGuid, Attributes, sizeof(gSettings.BacklightLevel), &gSettings.BacklightLevel);
    } else {
      AddNvramVariable(L"backlight-level", &gEfiAppleBootGuid, Attributes, sizeof(gSettings.BacklightLevel), &gSettings.BacklightLevel);
    }
  }

  if (gSettings.DefaultBackgroundColor == 0x80000000) {
    DeleteNvramVariable(L"DefaultBackgroundColor", &gEfiAppleNvramGuid);
  } else {
    UINT16 ActualDensity = 0xE1;
    UINT16 DensityThreshold = 0x96;
    UINT64 ConfigStatus = 0;
    Color = gSettings.DefaultBackgroundColor;
    AddNvramVariable(L"DefaultBackgroundColor", &gEfiAppleNvramGuid, Attributes, 4, &Color);
    // add some UI variables
    AddNvramVariable(L"ActualDensity", &gEfiAppleBootGuid, Attributes, 2, &ActualDensity);
    AddNvramVariable(L"DensityThreshold", &gEfiAppleBootGuid, Attributes, 2, &DensityThreshold);
    AddNvramVariable(L"gfx-saved-config-restore-status", &gEfiAppleNvramGuid, Attributes, 8, &ConfigStatus);
  }

  if (gSettings.UIScale == 0x80000000) {
    DeleteNvramVariable(L"UIScale", &gEfiAppleNvramGuid);
  } else {
    SetNvramVariable(L"UIScale", &gEfiAppleNvramGuid, Attributes, 1, &gSettings.UIScale);
  }

  if (gSettings.EFILoginHiDPI == 0x80000000) {
    DeleteNvramVariable(L"EFILoginHiDPI", &gEfiAppleBootGuid);
  } else {
    SetNvramVariable(L"EFILoginHiDPI", &gEfiAppleBootGuid, Attributes, 4, &gSettings.EFILoginHiDPI);
  }

  // ->GetVariable(flagstate, gEfiAppleBootGuid, 0/0, 20, 10FE110) = Not Found
  if (gSettings.flagstate[3] == 0x80) {
    DeleteNvramVariable(L"flagstate", &gEfiAppleBootGuid);
  } else {
    SetNvramVariable(L"flagstate", &gEfiAppleBootGuid, Attributes, 32, &gSettings.flagstate);
  }

  // Hack for recovery by Asgorath
  if (gSettings.CsrActiveConfig != 0xFFFF) {
    SetNvramVariable(L"csr-active-config", &gEfiAppleBootGuid, Attributes, sizeof(gSettings.CsrActiveConfig), &gSettings.CsrActiveConfig);
  }
/*
  if (gSettings.BooterConfig != 0) {
    SetNvramVariable(L"bootercfg", &gEfiAppleBootGuid, Attributes, sizeof(gSettings.BooterConfig), &gSettings.BooterConfig);
  }
*/
  INTN CfgStrLen = AsciiStrLen(gSettings.BooterCfgStr);
  if (CfgStrLen > 0) {
    SetNvramVariable(L"bootercfg", &gEfiAppleBootGuid, Attributes, CfgStrLen+1, &gSettings.BooterCfgStr[0]);
  } else {
    DeleteNvramVariable(L"bootercfg", &gEfiAppleBootGuid);
  }
  if (gSettings.NvidiaWeb) {
    NvidiaWebValue = "1";
    SetNvramVariable(L"nvda_drv", &gEfiAppleBootGuid, Attributes, 2, (VOID*)NvidiaWebValue);
  } else {
    DeleteNvramVariable(L"nvda_drv", &gEfiAppleBootGuid);
  }
  
  if (!gDriversFlags.AptioMemFixLoaded) {
    DeleteNvramVariable(L"recovery-boot-mode", &gEfiAppleBootGuid);
  }
  
  // Check for AptioFix2Drv loaded to store efi-boot-device for special boot
    if (gDriversFlags.AptioFix2Loaded || gDriversFlags.AptioFixLoaded ||
        gDriversFlags.AptioFix3Loaded || gDriversFlags.AptioMemFixLoaded)  {
      EFI_STATUS          Status;
      REFIT_VOLUME *Volume = Entry->Volume;
      EFI_DEVICE_PATH_PROTOCOL    *DevicePath = Volume->DevicePath;
      // We need to remember from which device we boot, to make silence boot while special recovery boot
      Status = gRT->SetVariable(L"specialbootdevice", &gEfiAppleBootGuid,
                                EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,
                                GetDevicePathSize(DevicePath), (UINT8 *)DevicePath);
      if (EFI_ERROR(Status)) {
        DBG("can't set  specialbootdevice!\n");
      }
    }

  // Sherlocks: to fix "OSInstall.mpkg appears to be missing or damaged" in 10.13+, we should remove this variables.
  if (Entry->LoaderType == OSTYPE_OSX_INSTALLER) {
    if (os_version > AsciiOSVersionToUint64("10.12")) {
      DeleteNvramVariable(L"install-product-url",  &gEfiAppleBootGuid);
      DeleteNvramVariable(L"previous-system-uuid", &gEfiAppleBootGuid);
    }
  }

  return EFI_SUCCESS;
}

VOID
AddSMCkey(SMC_KEY Key, SMC_DATA_SIZE Size, SMC_KEY_TYPE Type, SMC_DATA *Data)
{
  if (gAppleSmc && (gAppleSmc->Signature == NON_APPLE_SMC_SIGNATURE)) {
    gAppleSmc->SmcAddKey(gAppleSmc,     Key, Size, Type, 0xC0);
    gAppleSmc->SmcWriteValue(gAppleSmc, Key, Size, Data);
  }
}

// SetupDataForOSX
/// Sets the DataHub data used by OS X
VOID EFIAPI
SetupDataForOSX(BOOLEAN Hibernate)
{
  EFI_STATUS Status;

  UINT32     DevPathSupportedVal;
  UINT64     FrontSideBus;
  UINT64     CpuSpeed;
  UINT64     TscFrequency;
  UINT64     ARTFrequency;
  CHAR16*    ProductName;
  CHAR16*    SerialNumber;
  UINTN      Revision;
  UINT16     Zero = 0;
  BOOLEAN    isRevLess = (gSettings.REV[0] == 0 &&
                          gSettings.REV[1] == 0 &&
                          gSettings.REV[2] == 0 &&
                          gSettings.REV[3] == 0 &&
                          gSettings.REV[4] == 0 &&
                          gSettings.REV[5] == 0);

  Revision = StrDecimalToUintn(gFirmwareRevision);

  // fool proof
  FrontSideBus = gCPUStructure.FSBFrequency;
  if ((FrontSideBus < (50 * Mega)) || (FrontSideBus > (1000 * Mega))) {
    DBG("Wrong FrontSideBus=%d, set to 100MHz\n", FrontSideBus);
    FrontSideBus = 100 * Mega;
  }

  if (gSettings.QEMU) {
    FrontSideBus = gCPUStructure.TSCFrequency;
    switch (gCPUStructure.Model) {
      case CPU_MODEL_DOTHAN:
      case CPU_MODEL_YONAH:
      case CPU_MODEL_MEROM:
      case CPU_MODEL_PENRYN:
        FrontSideBus = DivU64x32(FrontSideBus, 4);
        break;
      default:
        break;
    }
    DBG("Using QEMU FrontSideBus=%ull\n", FrontSideBus);
  }

  // Save values into gSettings for the genconfig aim
  gSettings.BusSpeed   = (UINT32)DivU64x32(FrontSideBus, kilo);

  CpuSpeed = gCPUStructure.CPUFrequency;
  gSettings.CpuFreqMHz = (UINT32)DivU64x32(CpuSpeed,     Mega);

  // Locate DataHub Protocol
  Status = gBS->LocateProtocol(&gEfiDataHubProtocolGuid, NULL, (VOID**)&gDataHub);
  if (!EFI_ERROR(Status)) {
    ProductName         = AllocateZeroPool(128);
    AsciiStrToUnicodeStrS(gSettings.ProductName, ProductName, 64);

    SerialNumber        = AllocateZeroPool(128);
    AsciiStrToUnicodeStrS(gSettings.SerialNr,    SerialNumber, 64);

    LogDataHub(&gEfiProcessorSubClassGuid, L"FSBFrequency",     &FrontSideBus,        sizeof(UINT64));

    if (gCPUStructure.ARTFrequency && gSettings.UseARTFreq) {
      ARTFrequency = gCPUStructure.ARTFrequency;
      LogDataHub(&gEfiProcessorSubClassGuid, L"ARTFrequency",   &ARTFrequency,        sizeof(UINT64));
    }

    TscFrequency        = 0; //gCPUStructure.TSCFrequency;
    LogDataHub(&gEfiProcessorSubClassGuid, L"InitialTSC",       &TscFrequency,        sizeof(UINT64));
    LogDataHub(&gEfiProcessorSubClassGuid, L"CPUFrequency",     &CpuSpeed,            sizeof(UINT64));

    //gSettings.BoardNumber
    LogDataHub(&gEfiMiscSubClassGuid,      L"board-id",         &gSettings.BoardNumber,   (UINT32)iStrLen(gSettings.BoardNumber, 64) + 1);
    TscFrequency++;
    LogDataHub(&gEfiProcessorSubClassGuid, L"board-rev",       &TscFrequency,        1);

    DevPathSupportedVal = 1;
    LogDataHub(&gEfiMiscSubClassGuid,      L"DevicePathsSupported", &DevPathSupportedVal, sizeof(UINT32));
    LogDataHub(&gEfiMiscSubClassGuid,      L"Model",                ProductName,         (UINT32)StrSize(ProductName));
    LogDataHub(&gEfiMiscSubClassGuid,      L"SystemSerialNumber",   SerialNumber,        (UINT32)StrSize(SerialNumber));

    if (gSettings.InjectSystemID) {
      LogDataHub(&gEfiMiscSubClassGuid, L"system-id", &gUuid, sizeof(EFI_GUID));
    }

    LogDataHub(&gEfiProcessorSubClassGuid, L"clovergui-revision", &Revision, sizeof(UINT32));

    // collect info about real hardware
    LogDataHub(&gEfiMiscSubClassGuid, L"OEMVendor",  &gSettings.OEMVendor,  (UINT32)iStrLen(gSettings.OEMVendor,  64) + 1);
    LogDataHub(&gEfiMiscSubClassGuid, L"OEMProduct", &gSettings.OEMProduct, (UINT32)iStrLen(gSettings.OEMProduct, 64) + 1);
    LogDataHub(&gEfiMiscSubClassGuid, L"OEMBoard",   &gSettings.OEMBoard,   (UINT32)iStrLen(gSettings.OEMBoard,   64) + 1);

    // SMC helper
    if (!isRevLess) {
      LogDataHub(&gEfiMiscSubClassGuid, L"RBr",  &gSettings.RBr,    8);
      LogDataHub(&gEfiMiscSubClassGuid, L"EPCI", &gSettings.EPCI,   4);
      LogDataHub(&gEfiMiscSubClassGuid, L"REV",  &gSettings.REV,    6);
    }
    LogDataHub(&gEfiMiscSubClassGuid, L"RPlt", &gSettings.RPlt,   8);
    LogDataHub(&gEfiMiscSubClassGuid, L"BEMB", &gSettings.Mobile, 1);

    // all current settings
    LogDataHub(&gEfiMiscSubClassGuid, L"Settings", &gSettings, sizeof(gSettings));
  }
  if (!gAppleSmc) {
    return;
  }
  if (!isRevLess) {
    AddSMCkey(SMC_MAKE_KEY('R','B','r',' '), 8, SmcKeyTypeCh8, (SMC_DATA *)&gSettings.RBr);
    AddSMCkey(SMC_MAKE_KEY('E','P','C','I'), 4, SmcKeyTypeUint32, (SMC_DATA *)&gSettings.EPCI);
    AddSMCkey(SMC_MAKE_KEY('R','E','V',' '), 6, SmcKeyTypeCh8, (SMC_DATA *)&gSettings.REV);
  }
  AddSMCkey(SMC_MAKE_KEY('R','P','l','t'), 8, SmcKeyTypeCh8, (SMC_DATA *)&gSettings.RPlt);
  AddSMCkey(SMC_MAKE_KEY('B','E','M','B'), 1, SmcKeyTypeFlag, (SMC_DATA *)&gSettings.Mobile);
  //laptop battery keys will be better to import from nvram.plist or read from ACPI(?)
  //they are needed for FileVault2 who want to draw battery status
  AddSMCkey(SMC_MAKE_KEY('B','A','T','P'), 1, SmcKeyTypeFlag, (SMC_DATA *)&Zero); //isBatteryPowered
  AddSMCkey(SMC_MAKE_KEY('B','N','u','m'), 1, SmcKeyTypeUint8, (SMC_DATA *)&gSettings.Mobile); // Num Batteries
  if (gSettings.Mobile) {
    AddSMCkey(SMC_MAKE_KEY('B','B','I','N'), 1, SmcKeyTypeUint8, (SMC_DATA *)&gSettings.Mobile); //Battery inserted
  }
  AddSMCkey(SMC_MAKE_KEY('M','S','T','c'), 1, SmcKeyTypeUint8, (SMC_DATA *)&Zero); // CPU Plimit
  AddSMCkey(SMC_MAKE_KEY('M','S','A','c'), 2, SmcKeyTypeUint16, (SMC_DATA *)&Zero);// GPU Plimit
//  AddSMCkey(SMC_MAKE_KEY('M','S','L','D'), 1, SmcKeyTypeUint8, (SMC_DATA *)&Zero);   //isLidClosed
  Zero = Hibernate?((ResumeFromCoreStorage||GlobalConfig.HibernationFixup)?25:29):0;

  AddSMCkey(SMC_MAKE_KEY('M','S','W','r'), 1, SmcKeyTypeUint8, (SMC_DATA *)&Zero);
  Zero = 1;
  AddSMCkey(SMC_MAKE_KEY('M','S','F','W'), 2, SmcKeyTypeUint8, (SMC_DATA *)&Zero);
  Zero = 0x300;
  AddSMCkey(SMC_MAKE_KEY('M','S','P','S'), 2, SmcKeyTypeUint16, (SMC_DATA *)&Zero);
}

But If you want to try the final solution this is what: BOOTX64.efi.zip CLOVERX64.efi.zip

Link to comment
Share on other sites

12 minutes ago, vector sigma said:

No but is not what I asked now, otherwise why ask for a ioreg?.

Later I'will want to try with this that is ready:


//
/// @file rEFIt_UEFI/Platform/DataHubCpu.c
///
/// VirtualBox CPU descriptors
///
/// VirtualBox CPU descriptors also used to set OS X-used NVRAM variables and DataHub data
///

// Copyright(C) 2009-2010 Oracle Corporation
//
// This file is part of VirtualBox Open Source Edition(OSE), as
// available from http://www.virtualbox.org. This file is free software;
// you can redistribute it and/or modify it under the terms of the GNU
// General Public License(GPL) as published by the Free Software
// Foundation, in version 2 as it comes in the "COPYING" file of the
// VirtualBox OSE distribution. VirtualBox OSE is distributed in the
// hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.

//
// CHANGELOG:
//
// 2014/11/20
// Download-Fritz
// Removed commented out code in rev 2963 and 2965
//

#ifndef DEBUG_ALL
#define DEBUG_DH 1
#else
#define DEBUG_DH DEBUG_ALL
#endif

#if DEBUG_DH == 0
#define DBG(...)
#else
#define DBG(...) DebugLog(DEBUG_DH, __VA_ARGS__)
#endif


#include "Platform.h"
//#include "Version.h"

#include <Guid/DataHubRecords.h>

#define EFI_CPU_DATA_MAXIMUM_LENGTH 0x100

// gDataHub
/// A pointer to the DataHubProtocol
EFI_DATA_HUB_PROTOCOL     *gDataHub;

EFI_SUBCLASS_TYPE1_HEADER mCpuDataRecordHeader = {
  EFI_PROCESSOR_SUBCLASS_VERSION,       // Version
  sizeof(EFI_SUBCLASS_TYPE1_HEADER),    // Header Size
  0,                                    // Instance (initialize later)
  EFI_SUBCLASS_INSTANCE_NON_APPLICABLE, // SubInstance
  0                                     // RecordType (initialize later)
};

// gDataHubPlatformGuid
/// The GUID of the DataHubProtocol
EFI_GUID gDataHubPlatformGuid = {
  0x64517cc8, 0x6561, 0x4051, { 0xb0, 0x3c, 0x59, 0x64, 0xb6, 0x0f, 0x4c, 0x7a }
};

extern EFI_GUID gDataHubPlatformGuid;
extern APPLE_SMC_IO_PROTOCOL        *gAppleSmc;

typedef union {
  EFI_CPU_DATA_RECORD *DataRecord;
  UINT8               *Raw;
} EFI_CPU_DATA_RECORD_BUFFER;

// PLATFORM_DATA
/// The struct passed to "LogDataHub" holing key and value to be added
#pragma pack(1)
typedef struct {
  EFI_SUBCLASS_TYPE1_HEADER Hdr;     /// 0x48
  UINT32                    NameLen; /// 0x58 (in bytes)
  UINT32                    ValLen;  /// 0x5c
  UINT8                     Data[1]; /// 0x60 Name Value
} PLATFORM_DATA;
#pragma pack()

// CopyRecord
/// Copy the data provided in arguments into a PLATFORM_DATA buffer
///
/// @param Rec    The buffer the data should be copied into
/// @param Name   The value for the member "name"
/// @param Val    The data the object should have
/// @param ValLen The length of the parameter "Val"
///
/// @return The size of the new PLATFORM_DATA object is returned
UINT32 EFIAPI
CopyRecord(IN        PLATFORM_DATA *Rec,
           IN  CONST CHAR16        *Name,
           IN        VOID          *Val,
           IN        UINT32        ValLen)
{
  CopyMem(&Rec->Hdr, &mCpuDataRecordHeader, sizeof(EFI_SUBCLASS_TYPE1_HEADER));
  Rec->NameLen = (UINT32)StrLen(Name) * sizeof(CHAR16);
  Rec->ValLen  = ValLen;
  CopyMem(Rec->Data,                Name, Rec->NameLen);
  CopyMem(Rec->Data + Rec->NameLen, Val,  ValLen);

  return (sizeof(EFI_SUBCLASS_TYPE1_HEADER) + 8 + Rec->NameLen + Rec->ValLen);
}

// LogDataHub
/// Adds a key-value-pair to the DataHubProtocol
EFI_STATUS EFIAPI
LogDataHub(IN  EFI_GUID *TypeGuid,
           IN  CHAR16   *Name,
           IN  VOID     *Data,
           IN  UINT32   DataSize)
{
  UINT32        RecordSize;
  EFI_STATUS    Status;
  PLATFORM_DATA *PlatformData;

  PlatformData = (PLATFORM_DATA*)AllocatePool(sizeof(PLATFORM_DATA) + DataSize + EFI_CPU_DATA_MAXIMUM_LENGTH);
  if (PlatformData == NULL) {
    return EFI_OUT_OF_RESOURCES;
  }

  RecordSize = CopyRecord(PlatformData, Name, Data, DataSize);
  Status     = gDataHub->LogData(gDataHub,
                                 TypeGuid,                   // DataRecordGuid
                                 &gDataHubPlatformGuid,      // ProducerName (always)
                                 EFI_DATA_RECORD_CLASS_DATA,
                                 PlatformData,
                                 RecordSize);

  FreePool(PlatformData);
  return Status;
}

// SetVariablesForOSX
/// Sets the volatile and non-volatile variables used by OS X
EFI_STATUS EFIAPI
SetVariablesForOSX(LOADER_ENTRY *Entry)
{
  // The variable names used should be made global constants to prevent them being allocated multiple times

  UINT32  Attributes;
  UINT32  Color;
  CHAR8   *None;
  CHAR8   *NvidiaWebValue;

  CHAR16  *KbdPrevLang;
  UINTN   LangLen;
  CHAR8   *VariablePtr;
  VOID    *OldData;
  UINT64  os_version = AsciiOSVersionToUint64(Entry->OSVersion);
  CHAR8   *PlatformLang;

  //
  // firmware Variables
  //

  // As found on a real Mac, the system-id variable solely has the BS flag
  SetNvramVariable(L"system-id",
                   &gEfiAppleNvramGuid,
                   EFI_VARIABLE_BOOTSERVICE_ACCESS,
                   sizeof(gUuid),
                   &gUuid);

  Attributes     = EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS;

  if (gSettings.RtMLB != NULL) {
    if (AsciiStrLen(gSettings.RtMLB) != 17) {
      DBG("** Warning: Your MLB is not suitable for iMessage(must be 17 chars long) !\n");
    }

    SetNvramVariable(L"MLB",
                     &gEfiAppleNvramGuid,
                     Attributes,
                     AsciiStrLen(gSettings.RtMLB),
                     gSettings.RtMLB);
  }

  if (gSettings.RtROM != NULL) {
    SetNvramVariable(L"ROM",
                     &gEfiAppleNvramGuid,
                     Attributes,
                     gSettings.RtROMLen,
                     gSettings.RtROM);
  }

  SetNvramVariable(L"FirmwareFeatures",
                   &gEfiAppleNvramGuid,
                   Attributes,
                   sizeof(gFwFeatures),
                   &gFwFeatures);

  // Download-Fritz: Should be added to SMBIOS or at least to some other config section
  AddNvramVariable(L"FirmwareFeaturesMask",
                   &gEfiAppleNvramGuid,
                   Attributes,
                   sizeof(gFwFeaturesMask),
                   &gFwFeaturesMask);

  // HW_MLB and HW_ROM are also around on some Macs with the same values as MLB and ROM
  AddNvramVariable(L"HW_BID", &gEfiAppleNvramGuid, Attributes, AsciiStrLen(gSettings.BoardNumber), gSettings.BoardNumber);


  //
  // OS X non-volatile Variables
  //

  // note: some gEfiAppleBootGuid vars present in nvram.plist are already set by PutNvramPlistToRtVars()
  // we should think how to handle those vars from nvram.plist and ones set here from gSettings

  if ((gFirmwareClover && gDriversFlags.EmuVariableLoaded) || gSettings.KbdPrevLang) {
    // using AddNvramVariable content instead of calling the function to do LangLen calculation only when necessary
    // Do not mess with prev-lang:kbd on UEFI systems without NVRAM emulation; it's OS X's business
    KbdPrevLang = L"prev-lang:kbd";
    OldData     = GetNvramVariable(KbdPrevLang, &gEfiAppleBootGuid, NULL, NULL);
    if (OldData == NULL) {
      LangLen     = 16;
      VariablePtr = &gSettings.Language[15];
      for (LangLen = 16; ((*VariablePtr == ' ') || (*VariablePtr == 0)) && (LangLen != 0); --LangLen) {
        --VariablePtr;
      }

      gRT->SetVariable(KbdPrevLang, &gEfiAppleBootGuid, Attributes, LangLen, &gSettings.Language);
    } else {
      FreePool(OldData);
    }
  } else {
    Attributes |= EFI_VARIABLE_NON_VOLATILE;
  }

//#define EFI_PLATFORM_LANG_VARIABLE_NAME             L"PlatformLang"
  PlatformLang = GetNvramVariable(EFI_PLATFORM_LANG_VARIABLE_NAME, &gEfiGlobalVariableGuid, NULL, NULL);
  //
  // On some platforms with missing gEfiUnicodeCollation2ProtocolGuid EFI_PLATFORM_LANG_VARIABLE_NAME is set
  // to the value different from "en-...". This is not going to work with our driver UEFI Shell load failures.
  // We did not overwrite EFI_PLATFORM_LANG_VARIABLE_NAME, but it uses some other language.
  //
//  if (!PlatformLang || AsciiStrnCmp (PlatformLang, "en-", 3)) {
  if (!PlatformLang) {
    SetNvramVariable(EFI_PLATFORM_LANG_VARIABLE_NAME, &gEfiGlobalVariableGuid,
                     Attributes,
                     6, "en-US");
  }
  if (PlatformLang) {
    FreePool(PlatformLang);
  }

  None           = "none";
  AddNvramVariable(L"security-mode", &gEfiAppleBootGuid, Attributes, 5, (VOID*)None);

  // we should have two UUID: platform and system
  // NO! Only Platform is the best solution
  if (!gSettings.InjectSystemID) {
    if (gSettings.SmUUIDConfig) {
      SetNvramVariable(L"platform-uuid", &gEfiAppleBootGuid, Attributes, 16, &gUuid);
    } else {
      AddNvramVariable(L"platform-uuid", &gEfiAppleBootGuid, Attributes, 16, &gUuid);
    }
  }

  // Download-Fritz: Do not mess with BacklightLevel; it's OS X's business
  if (gMobile) {
    if (gSettings.BacklightLevelConfig) {
      SetNvramVariable(L"backlight-level", &gEfiAppleBootGuid, Attributes, sizeof(gSettings.BacklightLevel), &gSettings.BacklightLevel);
    } else {
      AddNvramVariable(L"backlight-level", &gEfiAppleBootGuid, Attributes, sizeof(gSettings.BacklightLevel), &gSettings.BacklightLevel);
    }
  }

  if (gSettings.DefaultBackgroundColor == 0x80000000) {
    DeleteNvramVariable(L"DefaultBackgroundColor", &gEfiAppleNvramGuid);
  } else {
    UINT16 ActualDensity = 0xE1;
    UINT16 DensityThreshold = 0x96;
    UINT64 ConfigStatus = 0;
    Color = gSettings.DefaultBackgroundColor;
    AddNvramVariable(L"DefaultBackgroundColor", &gEfiAppleNvramGuid, Attributes, 4, &Color);
    // add some UI variables
    AddNvramVariable(L"ActualDensity", &gEfiAppleBootGuid, Attributes, 2, &ActualDensity);
    AddNvramVariable(L"DensityThreshold", &gEfiAppleBootGuid, Attributes, 2, &DensityThreshold);
    AddNvramVariable(L"gfx-saved-config-restore-status", &gEfiAppleNvramGuid, Attributes, 8, &ConfigStatus);
  }

  if (gSettings.UIScale == 0x80000000) {
    DeleteNvramVariable(L"UIScale", &gEfiAppleNvramGuid);
  } else {
    SetNvramVariable(L"UIScale", &gEfiAppleNvramGuid, Attributes, 1, &gSettings.UIScale);
  }

  if (gSettings.EFILoginHiDPI == 0x80000000) {
    DeleteNvramVariable(L"EFILoginHiDPI", &gEfiAppleBootGuid);
  } else {
    SetNvramVariable(L"EFILoginHiDPI", &gEfiAppleBootGuid, Attributes, 4, &gSettings.EFILoginHiDPI);
  }

  // ->GetVariable(flagstate, gEfiAppleBootGuid, 0/0, 20, 10FE110) = Not Found
  if (gSettings.flagstate[3] == 0x80) {
    DeleteNvramVariable(L"flagstate", &gEfiAppleBootGuid);
  } else {
    SetNvramVariable(L"flagstate", &gEfiAppleBootGuid, Attributes, 32, &gSettings.flagstate);
  }

  // Hack for recovery by Asgorath
  if (gSettings.CsrActiveConfig != 0xFFFF) {
    SetNvramVariable(L"csr-active-config", &gEfiAppleBootGuid, Attributes, sizeof(gSettings.CsrActiveConfig), &gSettings.CsrActiveConfig);
  }
/*
  if (gSettings.BooterConfig != 0) {
    SetNvramVariable(L"bootercfg", &gEfiAppleBootGuid, Attributes, sizeof(gSettings.BooterConfig), &gSettings.BooterConfig);
  }
*/
  INTN CfgStrLen = AsciiStrLen(gSettings.BooterCfgStr);
  if (CfgStrLen > 0) {
    SetNvramVariable(L"bootercfg", &gEfiAppleBootGuid, Attributes, CfgStrLen+1, &gSettings.BooterCfgStr[0]);
  } else {
    DeleteNvramVariable(L"bootercfg", &gEfiAppleBootGuid);
  }
  if (gSettings.NvidiaWeb) {
    NvidiaWebValue = "1";
    SetNvramVariable(L"nvda_drv", &gEfiAppleBootGuid, Attributes, 2, (VOID*)NvidiaWebValue);
  } else {
    DeleteNvramVariable(L"nvda_drv", &gEfiAppleBootGuid);
  }
  
  if (!gDriversFlags.AptioMemFixLoaded) {
    DeleteNvramVariable(L"recovery-boot-mode", &gEfiAppleBootGuid);
  }
  
  // Check for AptioFix2Drv loaded to store efi-boot-device for special boot
    if (gDriversFlags.AptioFix2Loaded || gDriversFlags.AptioFixLoaded ||
        gDriversFlags.AptioFix3Loaded || gDriversFlags.AptioMemFixLoaded)  {
      EFI_STATUS          Status;
      REFIT_VOLUME *Volume = Entry->Volume;
      EFI_DEVICE_PATH_PROTOCOL    *DevicePath = Volume->DevicePath;
      // We need to remember from which device we boot, to make silence boot while special recovery boot
      Status = gRT->SetVariable(L"specialbootdevice", &gEfiAppleBootGuid,
                                EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,
                                GetDevicePathSize(DevicePath), (UINT8 *)DevicePath);
      if (EFI_ERROR(Status)) {
        DBG("can't set  specialbootdevice!\n");
      }
    }

  // Sherlocks: to fix "OSInstall.mpkg appears to be missing or damaged" in 10.13+, we should remove this variables.
  if (Entry->LoaderType == OSTYPE_OSX_INSTALLER) {
    if (os_version > AsciiOSVersionToUint64("10.12")) {
      DeleteNvramVariable(L"install-product-url",  &gEfiAppleBootGuid);
      DeleteNvramVariable(L"previous-system-uuid", &gEfiAppleBootGuid);
    }
  }

  return EFI_SUCCESS;
}

VOID
AddSMCkey(SMC_KEY Key, SMC_DATA_SIZE Size, SMC_KEY_TYPE Type, SMC_DATA *Data)
{
  if (gAppleSmc && (gAppleSmc->Signature == NON_APPLE_SMC_SIGNATURE)) {
    gAppleSmc->SmcAddKey(gAppleSmc,     Key, Size, Type, 0xC0);
    gAppleSmc->SmcWriteValue(gAppleSmc, Key, Size, Data);
  }
}

// SetupDataForOSX
/// Sets the DataHub data used by OS X
VOID EFIAPI
SetupDataForOSX(BOOLEAN Hibernate)
{
  EFI_STATUS Status;

  UINT32     DevPathSupportedVal;
  UINT64     FrontSideBus;
  UINT64     CpuSpeed;
  UINT64     TscFrequency;
  UINT64     ARTFrequency;
  CHAR16*    ProductName;
  CHAR16*    SerialNumber;
  UINTN      Revision;
  UINT16     Zero = 0;
  BOOLEAN    isRevLess = (gSettings.REV[0] == 0 &&
                          gSettings.REV[1] == 0 &&
                          gSettings.REV[2] == 0 &&
                          gSettings.REV[3] == 0 &&
                          gSettings.REV[4] == 0 &&
                          gSettings.REV[5] == 0);

  Revision = StrDecimalToUintn(gFirmwareRevision);

  // fool proof
  FrontSideBus = gCPUStructure.FSBFrequency;
  if ((FrontSideBus < (50 * Mega)) || (FrontSideBus > (1000 * Mega))) {
    DBG("Wrong FrontSideBus=%d, set to 100MHz\n", FrontSideBus);
    FrontSideBus = 100 * Mega;
  }

  if (gSettings.QEMU) {
    FrontSideBus = gCPUStructure.TSCFrequency;
    switch (gCPUStructure.Model) {
      case CPU_MODEL_DOTHAN:
      case CPU_MODEL_YONAH:
      case CPU_MODEL_MEROM:
      case CPU_MODEL_PENRYN:
        FrontSideBus = DivU64x32(FrontSideBus, 4);
        break;
      default:
        break;
    }
    DBG("Using QEMU FrontSideBus=%ull\n", FrontSideBus);
  }

  // Save values into gSettings for the genconfig aim
  gSettings.BusSpeed   = (UINT32)DivU64x32(FrontSideBus, kilo);

  CpuSpeed = gCPUStructure.CPUFrequency;
  gSettings.CpuFreqMHz = (UINT32)DivU64x32(CpuSpeed,     Mega);

  // Locate DataHub Protocol
  Status = gBS->LocateProtocol(&gEfiDataHubProtocolGuid, NULL, (VOID**)&gDataHub);
  if (!EFI_ERROR(Status)) {
    ProductName         = AllocateZeroPool(128);
    AsciiStrToUnicodeStrS(gSettings.ProductName, ProductName, 64);

    SerialNumber        = AllocateZeroPool(128);
    AsciiStrToUnicodeStrS(gSettings.SerialNr,    SerialNumber, 64);

    LogDataHub(&gEfiProcessorSubClassGuid, L"FSBFrequency",     &FrontSideBus,        sizeof(UINT64));

    if (gCPUStructure.ARTFrequency && gSettings.UseARTFreq) {
      ARTFrequency = gCPUStructure.ARTFrequency;
      LogDataHub(&gEfiProcessorSubClassGuid, L"ARTFrequency",   &ARTFrequency,        sizeof(UINT64));
    }

    TscFrequency        = 0; //gCPUStructure.TSCFrequency;
    LogDataHub(&gEfiProcessorSubClassGuid, L"InitialTSC",       &TscFrequency,        sizeof(UINT64));
    LogDataHub(&gEfiProcessorSubClassGuid, L"CPUFrequency",     &CpuSpeed,            sizeof(UINT64));

    //gSettings.BoardNumber
    LogDataHub(&gEfiMiscSubClassGuid,      L"board-id",         &gSettings.BoardNumber,   (UINT32)iStrLen(gSettings.BoardNumber, 64) + 1);
    TscFrequency++;
    LogDataHub(&gEfiProcessorSubClassGuid, L"board-rev",       &TscFrequency,        1);

    DevPathSupportedVal = 1;
    LogDataHub(&gEfiMiscSubClassGuid,      L"DevicePathsSupported", &DevPathSupportedVal, sizeof(UINT32));
    LogDataHub(&gEfiMiscSubClassGuid,      L"Model",                ProductName,         (UINT32)StrSize(ProductName));
    LogDataHub(&gEfiMiscSubClassGuid,      L"SystemSerialNumber",   SerialNumber,        (UINT32)StrSize(SerialNumber));

    if (gSettings.InjectSystemID) {
      LogDataHub(&gEfiMiscSubClassGuid, L"system-id", &gUuid, sizeof(EFI_GUID));
    }

    LogDataHub(&gEfiProcessorSubClassGuid, L"clovergui-revision", &Revision, sizeof(UINT32));

    // collect info about real hardware
    LogDataHub(&gEfiMiscSubClassGuid, L"OEMVendor",  &gSettings.OEMVendor,  (UINT32)iStrLen(gSettings.OEMVendor,  64) + 1);
    LogDataHub(&gEfiMiscSubClassGuid, L"OEMProduct", &gSettings.OEMProduct, (UINT32)iStrLen(gSettings.OEMProduct, 64) + 1);
    LogDataHub(&gEfiMiscSubClassGuid, L"OEMBoard",   &gSettings.OEMBoard,   (UINT32)iStrLen(gSettings.OEMBoard,   64) + 1);

    // SMC helper
    if (!isRevLess) {
      LogDataHub(&gEfiMiscSubClassGuid, L"RBr",  &gSettings.RBr,    8);
      LogDataHub(&gEfiMiscSubClassGuid, L"EPCI", &gSettings.EPCI,   4);
      LogDataHub(&gEfiMiscSubClassGuid, L"REV",  &gSettings.REV,    6);
    }
    LogDataHub(&gEfiMiscSubClassGuid, L"RPlt", &gSettings.RPlt,   8);
    LogDataHub(&gEfiMiscSubClassGuid, L"BEMB", &gSettings.Mobile, 1);

    // all current settings
    LogDataHub(&gEfiMiscSubClassGuid, L"Settings", &gSettings, sizeof(gSettings));
  }
  if (!gAppleSmc) {
    return;
  }
  if (!isRevLess) {
    AddSMCkey(SMC_MAKE_KEY('R','B','r',' '), 8, SmcKeyTypeCh8, (SMC_DATA *)&gSettings.RBr);
    AddSMCkey(SMC_MAKE_KEY('E','P','C','I'), 4, SmcKeyTypeUint32, (SMC_DATA *)&gSettings.EPCI);
    AddSMCkey(SMC_MAKE_KEY('R','E','V',' '), 6, SmcKeyTypeCh8, (SMC_DATA *)&gSettings.REV);
  }
  AddSMCkey(SMC_MAKE_KEY('R','P','l','t'), 8, SmcKeyTypeCh8, (SMC_DATA *)&gSettings.RPlt);
  AddSMCkey(SMC_MAKE_KEY('B','E','M','B'), 1, SmcKeyTypeFlag, (SMC_DATA *)&gSettings.Mobile);
  //laptop battery keys will be better to import from nvram.plist or read from ACPI(?)
  //they are needed for FileVault2 who want to draw battery status
  AddSMCkey(SMC_MAKE_KEY('B','A','T','P'), 1, SmcKeyTypeFlag, (SMC_DATA *)&Zero); //isBatteryPowered
  AddSMCkey(SMC_MAKE_KEY('B','N','u','m'), 1, SmcKeyTypeUint8, (SMC_DATA *)&gSettings.Mobile); // Num Batteries
  if (gSettings.Mobile) {
    AddSMCkey(SMC_MAKE_KEY('B','B','I','N'), 1, SmcKeyTypeUint8, (SMC_DATA *)&gSettings.Mobile); //Battery inserted
  }
  AddSMCkey(SMC_MAKE_KEY('M','S','T','c'), 1, SmcKeyTypeUint8, (SMC_DATA *)&Zero); // CPU Plimit
  AddSMCkey(SMC_MAKE_KEY('M','S','A','c'), 2, SmcKeyTypeUint16, (SMC_DATA *)&Zero);// GPU Plimit
//  AddSMCkey(SMC_MAKE_KEY('M','S','L','D'), 1, SmcKeyTypeUint8, (SMC_DATA *)&Zero);   //isLidClosed
  Zero = Hibernate?((ResumeFromCoreStorage||GlobalConfig.HibernationFixup)?25:29):0;

  AddSMCkey(SMC_MAKE_KEY('M','S','W','r'), 1, SmcKeyTypeUint8, (SMC_DATA *)&Zero);
  Zero = 1;
  AddSMCkey(SMC_MAKE_KEY('M','S','F','W'), 2, SmcKeyTypeUint8, (SMC_DATA *)&Zero);
  Zero = 0x300;
  AddSMCkey(SMC_MAKE_KEY('M','S','P','S'), 2, SmcKeyTypeUint16, (SMC_DATA *)&Zero);
}

But If you want to try the final solution this is what: BOOTX64.efi.zip CLOVERX64.efi.zip

 

@vector sigma

nice working :)

1184563247_2019-06-0811_04_31.png.3698aeb17a2ea34f6c6115d6781b0927.png

 

here is nvram. i used cleanup nvram with f11 in gui. then got clean nvram.plist

4:262  0:001  === [ PutNvramPlistToRtVars ] =============================
4:262  0:000   Adding Key: EFILoginHiDPI: Size = 4, Data: 00 00 00 00 
4:262  0:000   Skipping EmuVariableUefiPresent
4:262  0:000   Adding Key: backlight-level: Size = 2, Data: FF FF 
4:262  0:000   Adding Key: bluetoothActiveControllerInfo: Size = 16, Data: 7A E0 89 04 00 00 00 00 50 14 AC D1 B8 E2 A4 D0 
4:262  0:000   Adding Key: csr-active-config: Size = 4, Data: 77 00 00 00 
4:262  0:000   Adding Key: fakesmc-key-#KEY-ui32: Size = 4, Data: 00 00 00 00 
4:262  0:000   Adding Key: fakesmc-key-$Adr-ui32: Size = 4, Data: 00 00 03 00 
4:262  0:000   Adding Key: fakesmc-key-$Num-ui8: Size = 1, Data: 01 
4:262  0:000   Adding Key: fakesmc-key-BATP-flag: Size = 1, Data: 00 
4:262  0:000   Adding Key: fakesmc-key-BBIN-ui8: Size = 1, Data: 01 
4:262  0:000   Adding Key: fakesmc-key-BEMB-flag: Size = 1, Data: 01 
4:262  0:000   Adding Key: fakesmc-key-BNum-ui8: Size = 1, Data: 01 
4:262  0:000   Adding Key: fakesmc-key-MSAc-ui16: Size = 2, Data: 00 00 
4:262  0:000   Adding Key: fakesmc-key-MSFW-ui8: Size = 2, Data: 01 00 
4:262  0:000   Adding Key: fakesmc-key-MSPS-ui16: Size = 2, Data: 00 03 
4:262  0:000   Adding Key: fakesmc-key-MSTc-ui8: Size = 1, Data: 00 
4:262  0:000   Adding Key: fakesmc-key-MSWr-ui8: Size = 1, Data: 00 
4:262  0:000   Adding Key: fakesmc-key-RMde-char: Size = 1, Data: 41 
4:262  0:000   Adding Key: fakesmc-key-RPlt-ch8*: Size = 8, Data: 6A 31 33 32 00 00 00 00 
4:262  0:000   Adding Key: flagstate: Size = 32, Data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
4:262  0:000   Adding Key: prev-lang:kbd: Size = 4, Data: 6B 6F 3A 30 
4:262  0:000   Adding Key: security-mode: String: Size = 4, Val = 'none'
4:262  0:000   Adding Key: specialbootdevice: Size = 110, Data: 02 01 0C 00 D0 41 03 0A 00 00 00 00 01 01 06 00 00 17 03 12 0A 00 01 00 00 00 00 00 04 01 2A 00 02 00 00 00 00 48 06 00 00 00 00 00 00 28 2A 08 00 00 00 00 B6 8E A5 86 32 34 71 44 BB 10 B9 DE E2 00 F6 66 02 02 04 03 24 00 F7 FC 74 BE 7C 0B F3 49 91 47 01 F4 04 2E 68 42 A7 C7 61 31 C7 3E 31 40 8D 2E 22 98 21 1E E8 E3 7F FF 04 00 

 

ioreg.zip

  • Like 1
Link to comment
Share on other sites

28 minutes ago, Sherlocks said:

great. thank you so much for support new smc3 and update both clover and fakesmc.:thumbsup_anim:

What about:

// SetupDataForOSX
/// Sets the DataHub data used by OS X
VOID EFIAPI
SetupDataForOSX(BOOLEAN Hibernate)
{
  EFI_STATUS Status;

  UINT32     DevPathSupportedVal;
  UINT64     FrontSideBus;
  UINT64     CpuSpeed;
  UINT64     TscFrequency;
  UINT64     ARTFrequency;
  CHAR16*    ProductName;
  CHAR16*    SerialNumber;
  UINTN      Revision;
  UINT16     Zero = 0;
  BOOLEAN    isRevLess = (gSettings.REV[0] == 0 &&
                          gSettings.REV[1] == 0 &&
                          gSettings.REV[2] == 0 &&
                          gSettings.REV[3] == 0 &&
                          gSettings.REV[4] == 0 &&
                          gSettings.REV[5] == 0);
  
  if (AsciiStrStr(gSettings.BootArgs, "-withREV") != NULL) {
    isRevLess = false;
  } else if (AsciiStrStr(gSettings.BootArgs, "-noREV") != NULL) {
    isRevLess = true;
  }

and use the same arguments used by FakeSMC??

Link to comment
Share on other sites

14 minutes ago, vector sigma said:

What about:


// SetupDataForOSX
/// Sets the DataHub data used by OS X
VOID EFIAPI
SetupDataForOSX(BOOLEAN Hibernate)
{
  EFI_STATUS Status;

  UINT32     DevPathSupportedVal;
  UINT64     FrontSideBus;
  UINT64     CpuSpeed;
  UINT64     TscFrequency;
  UINT64     ARTFrequency;
  CHAR16*    ProductName;
  CHAR16*    SerialNumber;
  UINTN      Revision;
  UINT16     Zero = 0;
  BOOLEAN    isRevLess = (gSettings.REV[0] == 0 &&
                          gSettings.REV[1] == 0 &&
                          gSettings.REV[2] == 0 &&
                          gSettings.REV[3] == 0 &&
                          gSettings.REV[4] == 0 &&
                          gSettings.REV[5] == 0);
  
  if (AsciiStrStr(gSettings.BootArgs, "-withREV") != NULL) {
    isRevLess = false;
  } else if (AsciiStrStr(gSettings.BootArgs, "-noREV") != NULL) {
    isRevLess = true;
  }

and use the same arguments used by FakeSMC??

 

good boot-arg. can we consider that no need update fakesmc that is not relate new model without boot-arg?

from check clover's any values, does fakesmc have determination to add isRevLess as free?

the recent models of apple has t2 and smc3 except imac19.x.
we just think imac19.x have t2 and smc3. but it's not correct.
in future, there are possibility that not include smc3 version in macbook11,1 or macbookpro16,1 or etc.

therefore, if we add smbios data in clover's platformdata of the future model, can we consider freely more from smc3 according to clover in fakesmc?

ofc, default value has all(rev/pbr/epci)

it's just my think. sorry for my bad english.

Edited by Sherlocks
  • Like 1
Link to comment
Share on other sites

1 minute ago, Sherlocks said:

good boot-arg. can we consider that no need update fakesmc that is not relate new model without boot-arg?

from check clover's any values, does fakesmc have determination to add isRevLess as free?

the recent models of apple has t2 and smc3 except imac19.x.
we just think imac19.x have t2 and smc3. but it's not correct.
in future, there are possibility that not include smc3 version in macbook11,1 or macbookpro16,1 or etc.

therefore, if we add smbios data in clover's platformdata of the future model, can we consider freely more from smc3 according to clover in fakesmc?

it's just my think. sorry for my bad english.

FakeSMC is not used only by Clover, so it has to know which models needs REV or not. In fact REV (and a lot of keys) can be injected by it's Info.plist. 

Only users that will have older Clover or FakeSMC (the actual revisions, from now on) can decide to override this behaviour with boot-args, with or without having an updated platformdata for newer models.

  • Like 1
Link to comment
Share on other sites

3 minutes ago, vector sigma said:

FakeSMC is not used only by Clover, so it has to know which models needs REV or not. In fact REV (and a lot of keys) can be injected by it's Info.plist. 

Only users that will have older Clover or FakeSMC (the actual revisions, from now on) can decide to override this behaviour with boot-args, with or without having an updated platformdata for newer models.

 

FakeSMC is not used only by Clover

- i forgot it. so seems it's best now.

  • Like 1
Link to comment
Share on other sites

Anyway why Apple done that? I've received notification from the System when the revision was bad.... something tells me that this can have some evolution.. who knows..

or was something else?:unsure:

Edited by vector sigma
  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...