This commit is contained in:
SergeySlice 2022-04-21 07:10:43 +03:00
commit 612bc6f677
18 changed files with 209 additions and 95 deletions

View File

@ -19,7 +19,6 @@ jobs:
git fetch --prune --unshallow --tags git fetch --prune --unshallow --tags
echo "CUR_TAG=$(git tag -l | tail -1)" >> $GITHUB_ENV echo "CUR_TAG=$(git tag -l | tail -1)" >> $GITHUB_ENV
echo "GIT_SHA=$(git rev-parse --short HEAD)" >> $GITHUB_ENV echo "GIT_SHA=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
- name: Update CloverHackyColor/OpenCorePkg fork - name: Update CloverHackyColor/OpenCorePkg fork
run: git submodule init && git submodule update run: git submodule init && git submodule update
@ -33,14 +32,12 @@ jobs:
run: | run: |
chmod +x ./buildme chmod +x ./buildme
./buildme "" ci ./buildme "" ci
- name: Prepare Release Packs - name: Prepare Release Packs
run: | run: |
(cd "CloverPackage/CloverV2/EFI/CLOVER/" && zip -q "CLOVERX64.efi.zip" "CLOVERX64.efi" || exit 1) (cd "CloverPackage/CloverV2/EFI/CLOVER/" && zip -q "CLOVERX64.efi.zip" "CLOVERX64.efi" || exit 1)
(cd "CloverPackage/sym/CloverISO-${{ env.CUR_TAG }}" && 7z a Clover-${{ env.CUR_TAG }}-X64.iso.7z *.iso || exit 1) (cd "CloverPackage/sym/CloverISO-${{ env.CUR_TAG }}" && 7z a Clover-${{ env.CUR_TAG }}-X64.iso.7z *.iso || exit 1)
releaseItems=(CloverPackage/sym/CloverISO*/*.7z CloverPackage/sym/Clover.app*.pkg CloverPackage/sym/CloverV2*.zip CloverPackage/CloverV2/EFI/CLOVER/CLOVERX64.efi.zip CloverPackage/sym/Clover_r*.pkg) releaseItems=(CloverPackage/sym/CloverISO*/*.7z CloverPackage/sym/Clover.app*.pkg CloverPackage/sym/CloverV2*.zip CloverPackage/CloverV2/EFI/CLOVER/CLOVERX64.efi.zip CloverPackage/sym/Clover_r*.pkg)
for releaseItem in "${releaseItems[@]}"; do cp -Rf "${releaseItem}" ./ || exit 1; done for releaseItem in "${releaseItems[@]}"; do cp -Rf "${releaseItem}" ./ || exit 1; done
- name: Generate Release Notes - name: Generate Release Notes
run: | run: |
echo "Recent commit descriptions are:" >> ReleaseNotes.md echo "Recent commit descriptions are:" >> ReleaseNotes.md
@ -48,7 +45,6 @@ jobs:
echo '' >> ReleaseNotes.md echo '' >> ReleaseNotes.md
/usr/bin/sed -i "" "s:sym/Clover:Clover:g" CloverPackage/sym/Clover*.md5 /usr/bin/sed -i "" "s:sym/Clover:Clover:g" CloverPackage/sym/Clover*.md5
cat CloverPackage/sym/Clover*.md5 >> ReleaseNotes.md cat CloverPackage/sym/Clover*.md5 >> ReleaseNotes.md
- name: Upload to Artifacts - name: Upload to Artifacts
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2
with: with:
@ -59,7 +55,6 @@ jobs:
CloverV2*.zip CloverV2*.zip
CLOVERX64.efi.zip CLOVERX64.efi.zip
Clover_r*.pkg Clover_r*.pkg
# - name: Upload to Release # - name: Upload to Release
# if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') # if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
# uses: ncipollo/release-action@v1 # uses: ncipollo/release-action@v1

View File

@ -5,7 +5,7 @@ Bootloader for macOS, Windows and Linux in UEFI and in legacy mode
- Boot macOS, Windows, and Linux in UEFI or legacy mode on Mac or PC with UEFI or BIOS firmware - Boot macOS, Windows, and Linux in UEFI or legacy mode on Mac or PC with UEFI or BIOS firmware
- Boot using UEFI firmware directly or CloverEFI UEFI firmware emulation - Boot using UEFI firmware directly or CloverEFI UEFI firmware emulation
- Customizable GUI including themes, icons, fonts, background images, animations, and mouse pointers. - Customizable GUI including themes, icons, fonts, background images, animations, and mouse pointers.
- Theme manager and theme repository at http://sourceforge.net/p/cloverefiboot/themes/ - Theme manager and theme repository at https://github.com/CloverHackyColor/CloverThemes
- Native screen resolution in GUI - Native screen resolution in GUI
- Press Page Up or Page Down to change GUI resolution - Press Page Up or Page Down to change GUI resolution
- Press **F1** for multilingual help, depending on language setting in configuration - Press **F1** for multilingual help, depending on language setting in configuration

View File

@ -215,11 +215,11 @@
<entry excluding="MemLogLib.c" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="MemLogLibDefault"/> <entry excluding="MemLogLib.c" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="MemLogLibDefault"/>
<entry excluding="Library/OcMiscLib/ReleaseUsbOwnership.c|Library/OcMiscLib/ProtocolSupport.c|Library/OcMiscLib/Math.c|Library/OcMiscLib/DirectReset.c|Library/OcXmlLib|Library/OcVirtualFsLib|Library/OcUnicodeCollationEngLib|Library/OcTimerLib|Library/OcTemplateLib|Library/OcStringLib|Library/OcStorageLib|Library/OcSmcLib|Library/OcSmbiosLib|Library/OcSerializeLib|Library/OcRtcLib|Library/OcRngLib|Library/OcPngLib|Library/OcPeCoffLib|Library/OcOSInfoLib|Library/OcMemoryLib|Library/OcMacInfoLib|Library/OcMachoLib|Library/OcInputLib|Library/OcHiiDatabaseLib|Library/OcHeciLib|Library/OcHdaDevicesLib|Library/OcHashServicesLib|Library/OcGuardLib|Library/OcFirmwareVolumeLib|Library/OcFirmwarePasswordLib|Library/OcFileLib|Library/OcDriverConnectionLib|Library/OcDeviceTreeLib|Library/OcDevicePropertyLib|Library/OcDevicePathLib|Library/OcDebugLogLibOc2Clover|Library/OcDebugLogLib|Library/OcDataHubLib|Library/OcCryptoLib|Library/OcCpuLib|Library/OcConsoleLib|Library/OcConsoleControlEntryModeLib|Library/OcConfigurationLib|Library/OcCompressionLib|Library/OcCompilerIntrinsicsLib|Library/OcBootServicesTableLib|Library/OcBootManagementLib|Library/OcAudioLib|Library/OcAppleUserInterfaceThemeLib|Library/OcAppleSecureBootLib|Library/OcAppleRamDiskLib|Library/OcAppleKeysLib|Library/OcAppleKeyMapLib|Library/OcAppleKernelLib|Library/OcAppleImg4Lib|Library/OcAppleImageVerificationLib|Library/OcAppleImageConversionLib|Library/OcAppleEventLib|Library/OcAppleDiskImageLib|Library/OcAppleChunklistLib|Library/OcAppleBootPolicyLib|Library/OcApfsLib|Library/OcAfterBootCompatLib|Library/OcAcpiLib|Library/DuetTimerLib|Library/DuetBdsLib|Utilities|User|Tests|Staging|Platform|Patches|OpenCorePkg.xcodeproj|Legacy|Include|Docs|Debug|Application|AppleModels" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="OpenCorePkg"/> <entry excluding="Library/OcMiscLib/PlatformInfo.c|Library/OcMiscLib/ImageRunner.c|Library/OcMiscLib/ConsoleUtils.c|Library/OcWaveLib|Library/OcVariableLib|Library/OcResetSystemLib|Library/OcPeimEntryPoint|Library/OcPeiCoreEntryPoint|Library/OcPeCoffExtLib|Library/OcMp3Lib|Library/OcMainLib|Library/OcFlexArrayLib|Library/OcDxeCoreEntryPoint|Library/OcDriverEntryPoint|Library/OcDeviceMiscLib|Library/OcDebugSerialLib|Library/OcDebugLogLibNull|Library/OcBlitLib|Library/OcApplicationEntryPoint|Library/OcTypingLib|Library/OcMiscLib/ReleaseUsbOwnership.c|Library/OcMiscLib/ProtocolSupport.c|Library/OcMiscLib/Math.c|Library/OcMiscLib/DirectReset.c|Library/OcXmlLib|Library/OcVirtualFsLib|Library/OcUnicodeCollationEngLib|Library/OcTimerLib|Library/OcTemplateLib|Library/OcStringLib|Library/OcStorageLib|Library/OcSmcLib|Library/OcSmbiosLib|Library/OcSerializeLib|Library/OcRtcLib|Library/OcRngLib|Library/OcPngLib|Library/OcPeCoffLib|Library/OcOSInfoLib|Library/OcMemoryLib|Library/OcMacInfoLib|Library/OcMachoLib|Library/OcInputLib|Library/OcHiiDatabaseLib|Library/OcHeciLib|Library/OcHdaDevicesLib|Library/OcHashServicesLib|Library/OcGuardLib|Library/OcFirmwareVolumeLib|Library/OcFirmwarePasswordLib|Library/OcFileLib|Library/OcDriverConnectionLib|Library/OcDeviceTreeLib|Library/OcDevicePropertyLib|Library/OcDevicePathLib|Library/OcDebugLogLibOc2Clover|Library/OcDebugLogLib|Library/OcDataHubLib|Library/OcCryptoLib|Library/OcCpuLib|Library/OcConsoleLib|Library/OcConsoleControlEntryModeLib|Library/OcConfigurationLib|Library/OcCompressionLib|Library/OcCompilerIntrinsicsLib|Library/OcBootServicesTableLib|Library/OcBootManagementLib|Library/OcAudioLib|Library/OcAppleUserInterfaceThemeLib|Library/OcAppleSecureBootLib|Library/OcAppleRamDiskLib|Library/OcAppleKeysLib|Library/OcAppleKeyMapLib|Library/OcAppleKernelLib|Library/OcAppleImg4Lib|Library/OcAppleImageVerificationLib|Library/OcAppleImageConversionLib|Library/OcAppleEventLib|Library/OcAppleDiskImageLib|Library/OcAppleChunklistLib|Library/OcAppleBootPolicyLib|Library/OcApfsLib|Library/OcAfterBootCompatLib|Library/OcAcpiLib|Library/DuetTimerLib|Library/DuetBdsLib|Utilities|User|Tests|Staging|Platform|Patches|OpenCorePkg.xcodeproj|Legacy|Include|Docs|Debug|Application|AppleModels" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="OpenCorePkg"/>
<entry excluding="UefiMock/Globals.cpp|Libs/Autogen/AutoGen.c" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="PosixCompilation"/> <entry excluding="UefiMock/Globals.cpp|Libs/Autogen/AutoGen.c" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="PosixCompilation"/>
<entry excluding="gui/shared_with_menu.cpp|gui/REFIT_MENU_SCREEN.cpp|gui/REFIT_MAINMENU_SCREEN.cpp|gui/menu_items|cpp_unit_test/config-test.cpp|Platform/ConfigPlist|libeg/text.cpp|refit|PlatformIA32|PlatformEFI|Platform/Volumes.cpp|Platform/VersionString.cpp|Platform/usbfix.cpp|Platform/StateGenerator.cpp|Platform/StartupSound.cpp|Platform/spd.cpp|Platform/sound.cpp|Platform/smbios.cpp|Platform/Settings.cpp|Platform/SelfOem.cpp|Platform/Self.cpp|Platform/PlatformDriverOverride.cpp|Platform/platformdata.cpp|Platform/Nvram.cpp|Platform/nvidia.cpp|Platform/Net.cpp|Platform/LegacyBoot.cpp|Platform/LegacyBiosThunk.cpp|Platform/KextList.cpp|Platform/kext_patcher.cpp|Platform/kext_inject.cpp|Platform/kernel_patcher.cpp|Platform/KERNEL_AND_KEXT_PATCHES.cpp|Platform/Injectors.cpp|Platform/Hibernate.cpp|Platform/HdaCodecDump.cpp|Platform/hda.cpp|Platform/guid.cpp|Platform/gma.cpp|Platform/FixBiosDsdt.cpp|Platform/Events.cpp|Platform/Edid.cpp|Platform/DevicePath.cpp|Platform/device_inject.cpp|Platform/DataHubCpu.cpp|Platform/DataHub.cpp|Platform/cpu.cpp|Platform/Console.cpp|Platform/card_vlist.cpp|Platform/BootOptions.cpp|Platform/BdsConnect.cpp|Platform/ati.cpp|Platform/APFS.cpp|Platform/AmlGenerator.cpp|Platform/AcpiPatcher.cpp|libeg/XTheme.cpp|libeg/XPointer.cpp|libeg/XImage.cpp|libeg/XIcon.cpp|libeg/XCinema.cpp|libeg/VectorGraphics.cpp|libeg/scroll_images.cpp|libeg/nanosvgrast.cpp|libeg/nanosvg.cpp|libeg/lodepng.cpp|libeg/load_icns.cpp|libeg/libscreen.cpp|libeg/image.cpp|libeg/egemb_icons.cpp|libeg/egemb_icons_dark.cpp|libeg/egemb_font.cpp|libeg/BmLib.cpp|entry_scan" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="rEFIt_UEFI"/> <entry excluding="Platform/Volume.cpp|Platform/SmbiosFillPatchingValues.cpp|PlatformPOSIX+EFI|Settings/ConfigPlist/Config_Quirks.cpp|Settings/ConfigPlist/Config_GUI.cpp|Settings/ConfigPlist/SMBIOSPlist.cpp|Settings/ConfigPlist/Config_ACPI_DSDT.cpp|Settings/SelfOem.cpp|Settings/Self.cpp|Settings/ConfigManager.cpp|gui/shared_with_menu.cpp|gui/REFIT_MENU_SCREEN.cpp|gui/REFIT_MAINMENU_SCREEN.cpp|gui/menu_items|cpp_unit_test/config-test.cpp|Platform/ConfigPlist|libeg/text.cpp|refit|PlatformIA32|PlatformEFI|Platform/Volumes.cpp|Platform/VersionString.cpp|Platform/usbfix.cpp|Platform/StateGenerator.cpp|Platform/StartupSound.cpp|Platform/spd.cpp|Platform/sound.cpp|Platform/smbios.cpp|Platform/Settings.cpp|Platform/SelfOem.cpp|Platform/Self.cpp|Platform/PlatformDriverOverride.cpp|Platform/platformdata.cpp|Platform/Nvram.cpp|Platform/nvidia.cpp|Platform/Net.cpp|Platform/LegacyBoot.cpp|Platform/LegacyBiosThunk.cpp|Platform/KextList.cpp|Platform/kext_patcher.cpp|Platform/kext_inject.cpp|Platform/kernel_patcher.cpp|Platform/KERNEL_AND_KEXT_PATCHES.cpp|Platform/Injectors.cpp|Platform/Hibernate.cpp|Platform/HdaCodecDump.cpp|Platform/hda.cpp|Platform/guid.cpp|Platform/gma.cpp|Platform/FixBiosDsdt.cpp|Platform/Events.cpp|Platform/Edid.cpp|Platform/DevicePath.cpp|Platform/device_inject.cpp|Platform/DataHubCpu.cpp|Platform/DataHub.cpp|Platform/cpu.cpp|Platform/Console.cpp|Platform/card_vlist.cpp|Platform/BootOptions.cpp|Platform/BdsConnect.cpp|Platform/ati.cpp|Platform/APFS.cpp|Platform/AmlGenerator.cpp|Platform/AcpiPatcher.cpp|libeg/XTheme.cpp|libeg/XPointer.cpp|libeg/XImage.cpp|libeg/XIcon.cpp|libeg/XCinema.cpp|libeg/VectorGraphics.cpp|libeg/scroll_images.cpp|libeg/nanosvgrast.cpp|libeg/nanosvg.cpp|libeg/lodepng.cpp|libeg/load_icns.cpp|libeg/libscreen.cpp|libeg/image.cpp|libeg/egemb_icons.cpp|libeg/egemb_icons_dark.cpp|libeg/egemb_font.cpp|libeg/BmLib.cpp|entry_scan" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="rEFIt_UEFI"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="src"/> <entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="src"/>
@ -441,11 +441,11 @@
<entry excluding="MemLogLib.c" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="MemLogLibDefault"/> <entry excluding="MemLogLib.c" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="MemLogLibDefault"/>
<entry excluding="Library/OcMiscLib/ReleaseUsbOwnership.c|Library/OcMiscLib/ProtocolSupport.c|Library/OcMiscLib/Math.c|Library/OcMiscLib/DirectReset.c|Library/OcXmlLib|Library/OcVirtualFsLib|Library/OcUnicodeCollationEngLib|Library/OcTimerLib|Library/OcTemplateLib|Library/OcStringLib|Library/OcStorageLib|Library/OcSmcLib|Library/OcSmbiosLib|Library/OcSerializeLib|Library/OcRtcLib|Library/OcRngLib|Library/OcPngLib|Library/OcPeCoffLib|Library/OcOSInfoLib|Library/OcMemoryLib|Library/OcMacInfoLib|Library/OcMachoLib|Library/OcInputLib|Library/OcHiiDatabaseLib|Library/OcHeciLib|Library/OcHdaDevicesLib|Library/OcHashServicesLib|Library/OcGuardLib|Library/OcFirmwareVolumeLib|Library/OcFirmwarePasswordLib|Library/OcFileLib|Library/OcDriverConnectionLib|Library/OcDeviceTreeLib|Library/OcDevicePropertyLib|Library/OcDevicePathLib|Library/OcDebugLogLibOc2Clover|Library/OcDebugLogLib|Library/OcDataHubLib|Library/OcCryptoLib|Library/OcCpuLib|Library/OcConsoleLib|Library/OcConsoleControlEntryModeLib|Library/OcConfigurationLib|Library/OcCompressionLib|Library/OcCompilerIntrinsicsLib|Library/OcBootServicesTableLib|Library/OcBootManagementLib|Library/OcAudioLib|Library/OcAppleUserInterfaceThemeLib|Library/OcAppleSecureBootLib|Library/OcAppleRamDiskLib|Library/OcAppleKeysLib|Library/OcAppleKeyMapLib|Library/OcAppleKernelLib|Library/OcAppleImg4Lib|Library/OcAppleImageVerificationLib|Library/OcAppleImageConversionLib|Library/OcAppleEventLib|Library/OcAppleDiskImageLib|Library/OcAppleChunklistLib|Library/OcAppleBootPolicyLib|Library/OcApfsLib|Library/OcAfterBootCompatLib|Library/OcAcpiLib|Library/DuetTimerLib|Library/DuetBdsLib|Utilities|User|Tests|Staging|Platform|Patches|OpenCorePkg.xcodeproj|Legacy|Include|Docs|Debug|Application|AppleModels" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="OpenCorePkg"/> <entry excluding="Library/OcMiscLib/PlatformInfo.c|Library/OcMiscLib/ImageRunner.c|Library/OcMiscLib/ConsoleUtils.c|Library/OcWaveLib|Library/OcVariableLib|Library/OcResetSystemLib|Library/OcPeimEntryPoint|Library/OcPeiCoreEntryPoint|Library/OcPeCoffExtLib|Library/OcMp3Lib|Library/OcMainLib|Library/OcFlexArrayLib|Library/OcDxeCoreEntryPoint|Library/OcDriverEntryPoint|Library/OcDeviceMiscLib|Library/OcDebugSerialLib|Library/OcDebugLogLibNull|Library/OcBlitLib|Library/OcApplicationEntryPoint|Library/OcTypingLib|Library/OcMiscLib/ReleaseUsbOwnership.c|Library/OcMiscLib/ProtocolSupport.c|Library/OcMiscLib/Math.c|Library/OcMiscLib/DirectReset.c|Library/OcXmlLib|Library/OcVirtualFsLib|Library/OcUnicodeCollationEngLib|Library/OcTimerLib|Library/OcTemplateLib|Library/OcStringLib|Library/OcStorageLib|Library/OcSmcLib|Library/OcSmbiosLib|Library/OcSerializeLib|Library/OcRtcLib|Library/OcRngLib|Library/OcPngLib|Library/OcPeCoffLib|Library/OcOSInfoLib|Library/OcMemoryLib|Library/OcMacInfoLib|Library/OcMachoLib|Library/OcInputLib|Library/OcHiiDatabaseLib|Library/OcHeciLib|Library/OcHdaDevicesLib|Library/OcHashServicesLib|Library/OcGuardLib|Library/OcFirmwareVolumeLib|Library/OcFirmwarePasswordLib|Library/OcFileLib|Library/OcDriverConnectionLib|Library/OcDeviceTreeLib|Library/OcDevicePropertyLib|Library/OcDevicePathLib|Library/OcDebugLogLibOc2Clover|Library/OcDebugLogLib|Library/OcDataHubLib|Library/OcCryptoLib|Library/OcCpuLib|Library/OcConsoleLib|Library/OcConsoleControlEntryModeLib|Library/OcConfigurationLib|Library/OcCompressionLib|Library/OcCompilerIntrinsicsLib|Library/OcBootServicesTableLib|Library/OcBootManagementLib|Library/OcAudioLib|Library/OcAppleUserInterfaceThemeLib|Library/OcAppleSecureBootLib|Library/OcAppleRamDiskLib|Library/OcAppleKeysLib|Library/OcAppleKeyMapLib|Library/OcAppleKernelLib|Library/OcAppleImg4Lib|Library/OcAppleImageVerificationLib|Library/OcAppleImageConversionLib|Library/OcAppleEventLib|Library/OcAppleDiskImageLib|Library/OcAppleChunklistLib|Library/OcAppleBootPolicyLib|Library/OcApfsLib|Library/OcAfterBootCompatLib|Library/OcAcpiLib|Library/DuetTimerLib|Library/DuetBdsLib|Utilities|User|Tests|Staging|Platform|Patches|OpenCorePkg.xcodeproj|Legacy|Include|Docs|Debug|Application|AppleModels" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="OpenCorePkg"/>
<entry excluding="UefiMock/Globals.cpp|Libs/Autogen/AutoGen.c" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="PosixCompilation"/> <entry excluding="UefiMock/Globals.cpp|Libs/Autogen/AutoGen.c" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="PosixCompilation"/>
<entry excluding="gui/shared_with_menu.cpp|gui/REFIT_MENU_SCREEN.cpp|gui/REFIT_MAINMENU_SCREEN.cpp|gui/menu_items|cpp_unit_test/config-test.cpp|Platform/ConfigPlist|libeg/text.cpp|refit|PlatformIA32|PlatformEFI|Platform/Volumes.cpp|Platform/VersionString.cpp|Platform/usbfix.cpp|Platform/StateGenerator.cpp|Platform/StartupSound.cpp|Platform/spd.cpp|Platform/sound.cpp|Platform/smbios.cpp|Platform/Settings.cpp|Platform/SelfOem.cpp|Platform/Self.cpp|Platform/PlatformDriverOverride.cpp|Platform/platformdata.cpp|Platform/Nvram.cpp|Platform/nvidia.cpp|Platform/Net.cpp|Platform/LegacyBoot.cpp|Platform/LegacyBiosThunk.cpp|Platform/KextList.cpp|Platform/kext_patcher.cpp|Platform/kext_inject.cpp|Platform/kernel_patcher.cpp|Platform/KERNEL_AND_KEXT_PATCHES.cpp|Platform/Injectors.cpp|Platform/Hibernate.cpp|Platform/HdaCodecDump.cpp|Platform/hda.cpp|Platform/guid.cpp|Platform/gma.cpp|Platform/FixBiosDsdt.cpp|Platform/Events.cpp|Platform/Edid.cpp|Platform/DevicePath.cpp|Platform/device_inject.cpp|Platform/DataHubCpu.cpp|Platform/DataHub.cpp|Platform/cpu.cpp|Platform/Console.cpp|Platform/card_vlist.cpp|Platform/BootOptions.cpp|Platform/BdsConnect.cpp|Platform/ati.cpp|Platform/APFS.cpp|Platform/AmlGenerator.cpp|Platform/AcpiPatcher.cpp|libeg/XTheme.cpp|libeg/XPointer.cpp|libeg/XImage.cpp|libeg/XIcon.cpp|libeg/XCinema.cpp|libeg/VectorGraphics.cpp|libeg/scroll_images.cpp|libeg/nanosvgrast.cpp|libeg/nanosvg.cpp|libeg/lodepng.cpp|libeg/load_icns.cpp|libeg/libscreen.cpp|libeg/image.cpp|libeg/egemb_icons.cpp|libeg/egemb_icons_dark.cpp|libeg/egemb_font.cpp|libeg/BmLib.cpp|entry_scan" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="rEFIt_UEFI"/> <entry excluding="Platform/Volume.cpp|Platform/SmbiosFillPatchingValues.cpp|PlatformPOSIX+EFI|Settings/ConfigPlist/Config_Quirks.cpp|Settings/ConfigPlist/Config_GUI.cpp|Settings/ConfigPlist/SMBIOSPlist.cpp|Settings/ConfigPlist/Config_ACPI_DSDT.cpp|Settings/SelfOem.cpp|Settings/Self.cpp|Settings/ConfigManager.cpp|gui/shared_with_menu.cpp|gui/REFIT_MENU_SCREEN.cpp|gui/REFIT_MAINMENU_SCREEN.cpp|gui/menu_items|cpp_unit_test/config-test.cpp|Platform/ConfigPlist|libeg/text.cpp|refit|PlatformIA32|PlatformEFI|Platform/Volumes.cpp|Platform/VersionString.cpp|Platform/usbfix.cpp|Platform/StateGenerator.cpp|Platform/StartupSound.cpp|Platform/spd.cpp|Platform/sound.cpp|Platform/smbios.cpp|Platform/Settings.cpp|Platform/SelfOem.cpp|Platform/Self.cpp|Platform/PlatformDriverOverride.cpp|Platform/platformdata.cpp|Platform/Nvram.cpp|Platform/nvidia.cpp|Platform/Net.cpp|Platform/LegacyBoot.cpp|Platform/LegacyBiosThunk.cpp|Platform/KextList.cpp|Platform/kext_patcher.cpp|Platform/kext_inject.cpp|Platform/kernel_patcher.cpp|Platform/KERNEL_AND_KEXT_PATCHES.cpp|Platform/Injectors.cpp|Platform/Hibernate.cpp|Platform/HdaCodecDump.cpp|Platform/hda.cpp|Platform/guid.cpp|Platform/gma.cpp|Platform/FixBiosDsdt.cpp|Platform/Events.cpp|Platform/Edid.cpp|Platform/DevicePath.cpp|Platform/device_inject.cpp|Platform/DataHubCpu.cpp|Platform/DataHub.cpp|Platform/cpu.cpp|Platform/Console.cpp|Platform/card_vlist.cpp|Platform/BootOptions.cpp|Platform/BdsConnect.cpp|Platform/ati.cpp|Platform/APFS.cpp|Platform/AmlGenerator.cpp|Platform/AcpiPatcher.cpp|libeg/XTheme.cpp|libeg/XPointer.cpp|libeg/XImage.cpp|libeg/XIcon.cpp|libeg/XCinema.cpp|libeg/VectorGraphics.cpp|libeg/scroll_images.cpp|libeg/nanosvgrast.cpp|libeg/nanosvg.cpp|libeg/lodepng.cpp|libeg/load_icns.cpp|libeg/libscreen.cpp|libeg/image.cpp|libeg/egemb_icons.cpp|libeg/egemb_icons_dark.cpp|libeg/egemb_font.cpp|libeg/BmLib.cpp|entry_scan" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="rEFIt_UEFI"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="src"/> <entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="src"/>
@ -667,11 +667,11 @@
<entry excluding="MemLogLib.c" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="MemLogLibDefault"/> <entry excluding="MemLogLib.c" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="MemLogLibDefault"/>
<entry excluding="Library/OcMiscLib/ReleaseUsbOwnership.c|Library/OcMiscLib/ProtocolSupport.c|Library/OcMiscLib/Math.c|Library/OcMiscLib/DirectReset.c|Library/OcXmlLib|Library/OcVirtualFsLib|Library/OcUnicodeCollationEngLib|Library/OcTimerLib|Library/OcTemplateLib|Library/OcStringLib|Library/OcStorageLib|Library/OcSmcLib|Library/OcSmbiosLib|Library/OcSerializeLib|Library/OcRtcLib|Library/OcRngLib|Library/OcPngLib|Library/OcPeCoffLib|Library/OcOSInfoLib|Library/OcMemoryLib|Library/OcMacInfoLib|Library/OcMachoLib|Library/OcInputLib|Library/OcHiiDatabaseLib|Library/OcHeciLib|Library/OcHdaDevicesLib|Library/OcHashServicesLib|Library/OcGuardLib|Library/OcFirmwareVolumeLib|Library/OcFirmwarePasswordLib|Library/OcFileLib|Library/OcDriverConnectionLib|Library/OcDeviceTreeLib|Library/OcDevicePropertyLib|Library/OcDevicePathLib|Library/OcDebugLogLibOc2Clover|Library/OcDebugLogLib|Library/OcDataHubLib|Library/OcCryptoLib|Library/OcCpuLib|Library/OcConsoleLib|Library/OcConsoleControlEntryModeLib|Library/OcConfigurationLib|Library/OcCompressionLib|Library/OcCompilerIntrinsicsLib|Library/OcBootServicesTableLib|Library/OcBootManagementLib|Library/OcAudioLib|Library/OcAppleUserInterfaceThemeLib|Library/OcAppleSecureBootLib|Library/OcAppleRamDiskLib|Library/OcAppleKeysLib|Library/OcAppleKeyMapLib|Library/OcAppleKernelLib|Library/OcAppleImg4Lib|Library/OcAppleImageVerificationLib|Library/OcAppleImageConversionLib|Library/OcAppleEventLib|Library/OcAppleDiskImageLib|Library/OcAppleChunklistLib|Library/OcAppleBootPolicyLib|Library/OcApfsLib|Library/OcAfterBootCompatLib|Library/OcAcpiLib|Library/DuetTimerLib|Library/DuetBdsLib|Utilities|User|Tests|Staging|Platform|Patches|OpenCorePkg.xcodeproj|Legacy|Include|Docs|Debug|Application|AppleModels" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="OpenCorePkg"/> <entry excluding="Library/OcMiscLib/PlatformInfo.c|Library/OcMiscLib/ImageRunner.c|Library/OcMiscLib/ConsoleUtils.c|Library/OcWaveLib|Library/OcVariableLib|Library/OcResetSystemLib|Library/OcPeimEntryPoint|Library/OcPeiCoreEntryPoint|Library/OcPeCoffExtLib|Library/OcMp3Lib|Library/OcMainLib|Library/OcFlexArrayLib|Library/OcDxeCoreEntryPoint|Library/OcDriverEntryPoint|Library/OcDeviceMiscLib|Library/OcDebugSerialLib|Library/OcDebugLogLibNull|Library/OcBlitLib|Library/OcApplicationEntryPoint|Library/OcTypingLib|Library/OcMiscLib/ReleaseUsbOwnership.c|Library/OcMiscLib/ProtocolSupport.c|Library/OcMiscLib/Math.c|Library/OcMiscLib/DirectReset.c|Library/OcXmlLib|Library/OcVirtualFsLib|Library/OcUnicodeCollationEngLib|Library/OcTimerLib|Library/OcTemplateLib|Library/OcStringLib|Library/OcStorageLib|Library/OcSmcLib|Library/OcSmbiosLib|Library/OcSerializeLib|Library/OcRtcLib|Library/OcRngLib|Library/OcPngLib|Library/OcPeCoffLib|Library/OcOSInfoLib|Library/OcMemoryLib|Library/OcMacInfoLib|Library/OcMachoLib|Library/OcInputLib|Library/OcHiiDatabaseLib|Library/OcHeciLib|Library/OcHdaDevicesLib|Library/OcHashServicesLib|Library/OcGuardLib|Library/OcFirmwareVolumeLib|Library/OcFirmwarePasswordLib|Library/OcFileLib|Library/OcDriverConnectionLib|Library/OcDeviceTreeLib|Library/OcDevicePropertyLib|Library/OcDevicePathLib|Library/OcDebugLogLibOc2Clover|Library/OcDebugLogLib|Library/OcDataHubLib|Library/OcCryptoLib|Library/OcCpuLib|Library/OcConsoleLib|Library/OcConsoleControlEntryModeLib|Library/OcConfigurationLib|Library/OcCompressionLib|Library/OcCompilerIntrinsicsLib|Library/OcBootServicesTableLib|Library/OcBootManagementLib|Library/OcAudioLib|Library/OcAppleUserInterfaceThemeLib|Library/OcAppleSecureBootLib|Library/OcAppleRamDiskLib|Library/OcAppleKeysLib|Library/OcAppleKeyMapLib|Library/OcAppleKernelLib|Library/OcAppleImg4Lib|Library/OcAppleImageVerificationLib|Library/OcAppleImageConversionLib|Library/OcAppleEventLib|Library/OcAppleDiskImageLib|Library/OcAppleChunklistLib|Library/OcAppleBootPolicyLib|Library/OcApfsLib|Library/OcAfterBootCompatLib|Library/OcAcpiLib|Library/DuetTimerLib|Library/DuetBdsLib|Utilities|User|Tests|Staging|Platform|Patches|OpenCorePkg.xcodeproj|Legacy|Include|Docs|Debug|Application|AppleModels" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="OpenCorePkg"/>
<entry excluding="UefiMock/Globals.cpp|Libs/Autogen/AutoGen.c" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="PosixCompilation"/> <entry excluding="UefiMock/Globals.cpp|Libs/Autogen/AutoGen.c" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="PosixCompilation"/>
<entry excluding="cpp_unit_test/config-test.cpp|Platform/ConfigPlist|libeg/text.cpp|refit|Platform/Volumes.cpp|Platform/VersionString.cpp|Platform/usbfix.cpp|Platform/StateGenerator.cpp|Platform/StartupSound.cpp|Platform/spd.cpp|Platform/sound.cpp|Platform/smbios.cpp|Platform/Settings.cpp|Platform/SelfOem.cpp|Platform/Self.cpp|Platform/PlatformDriverOverride.cpp|Platform/platformdata.cpp|Platform/Nvram.cpp|Platform/nvidia.cpp|Platform/Net.cpp|Platform/LegacyBoot.cpp|Platform/LegacyBiosThunk.cpp|Platform/KextList.cpp|Platform/kext_patcher.cpp|Platform/kext_inject.cpp|Platform/kernel_patcher.cpp|Platform/KERNEL_AND_KEXT_PATCHES.cpp|Platform/Injectors.cpp|Platform/Hibernate.cpp|Platform/HdaCodecDump.cpp|Platform/hda.cpp|Platform/guid.cpp|Platform/gma.cpp|Platform/FixBiosDsdt.cpp|Platform/Events.cpp|Platform/Edid.cpp|Platform/DevicePath.cpp|Platform/device_inject.cpp|Platform/DataHubCpu.cpp|Platform/DataHub.cpp|Platform/cpu.cpp|Platform/Console.cpp|Platform/card_vlist.cpp|Platform/BootOptions.cpp|Platform/BdsConnect.cpp|Platform/ati.cpp|Platform/APFS.cpp|Platform/AmlGenerator.cpp|Platform/AcpiPatcher.cpp|libeg/XTheme.cpp|libeg/XPointer.cpp|libeg/XImage.cpp|libeg/XIcon.cpp|libeg/XCinema.cpp|libeg/VectorGraphics.cpp|libeg/scroll_images.cpp|libeg/nanosvgrast.cpp|libeg/nanosvg.cpp|libeg/lodepng.cpp|libeg/load_icns.cpp|libeg/libscreen.cpp|libeg/image.cpp|libeg/egemb_icons.cpp|libeg/egemb_icons_dark.cpp|libeg/egemb_font.cpp|libeg/BmLib.cpp|PlatformIA32|PlatformEFI|gui/shared_with_menu.cpp|gui/REFIT_MENU_SCREEN.cpp|gui/REFIT_MAINMENU_SCREEN.cpp|gui/menu_items|entry_scan" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="rEFIt_UEFI"/> <entry excluding="Platform/Volume.cpp|Platform/SmbiosFillPatchingValues.cpp|PlatformPOSIX+EFI|Settings/ConfigPlist/Config_Quirks.cpp|Settings/ConfigPlist/Config_GUI.cpp|Settings/ConfigPlist/SMBIOSPlist.cpp|Settings/ConfigPlist/Config_ACPI_DSDT.cpp|Settings/SelfOem.cpp|Settings/Self.cpp|Settings/ConfigManager.cpp|cpp_unit_test/config-test.cpp|Platform/ConfigPlist|libeg/text.cpp|refit|Platform/Volumes.cpp|Platform/VersionString.cpp|Platform/usbfix.cpp|Platform/StateGenerator.cpp|Platform/StartupSound.cpp|Platform/spd.cpp|Platform/sound.cpp|Platform/smbios.cpp|Platform/Settings.cpp|Platform/SelfOem.cpp|Platform/Self.cpp|Platform/PlatformDriverOverride.cpp|Platform/platformdata.cpp|Platform/Nvram.cpp|Platform/nvidia.cpp|Platform/Net.cpp|Platform/LegacyBoot.cpp|Platform/LegacyBiosThunk.cpp|Platform/KextList.cpp|Platform/kext_patcher.cpp|Platform/kext_inject.cpp|Platform/kernel_patcher.cpp|Platform/KERNEL_AND_KEXT_PATCHES.cpp|Platform/Injectors.cpp|Platform/Hibernate.cpp|Platform/HdaCodecDump.cpp|Platform/hda.cpp|Platform/guid.cpp|Platform/gma.cpp|Platform/FixBiosDsdt.cpp|Platform/Events.cpp|Platform/Edid.cpp|Platform/DevicePath.cpp|Platform/device_inject.cpp|Platform/DataHubCpu.cpp|Platform/DataHub.cpp|Platform/cpu.cpp|Platform/Console.cpp|Platform/card_vlist.cpp|Platform/BootOptions.cpp|Platform/BdsConnect.cpp|Platform/ati.cpp|Platform/APFS.cpp|Platform/AmlGenerator.cpp|Platform/AcpiPatcher.cpp|libeg/XTheme.cpp|libeg/XPointer.cpp|libeg/XImage.cpp|libeg/XIcon.cpp|libeg/XCinema.cpp|libeg/VectorGraphics.cpp|libeg/scroll_images.cpp|libeg/nanosvgrast.cpp|libeg/nanosvg.cpp|libeg/lodepng.cpp|libeg/load_icns.cpp|libeg/libscreen.cpp|libeg/image.cpp|libeg/egemb_icons.cpp|libeg/egemb_icons_dark.cpp|libeg/egemb_font.cpp|libeg/BmLib.cpp|PlatformIA32|PlatformEFI|gui/shared_with_menu.cpp|gui/REFIT_MENU_SCREEN.cpp|gui/REFIT_MAINMENU_SCREEN.cpp|gui/menu_items|entry_scan" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="rEFIt_UEFI"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="src"/> <entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="src"/>

View File

@ -0,0 +1,44 @@
#!/bin/bash
SCRIPT_ABS_FILENAME=`LC_ALL=en_US.ISO8859-1 perl -e 'use Cwd "abs_path";print abs_path(shift)' "${BASH_SOURCE[0]}"`
SCRIPT_DIR=`dirname "$SCRIPT_ABS_FILENAME"`
error() {
local sourcefile=$1
local lineno=$2
echo ERROR in $1. Command failed at line $2 : $3
}
#trap 'error "${BASH_SOURCE}" "${LINENO}" "$BASH_COMMAND"' ERR
if [[ $# != 2 ]]
then
echo "Usage $0 key file"
exit 1
fi
#>&2 echo "$1"
#sed "s/$(printf '\r')//g" "$2"
while read -r -a words # iterate over lines of input
do
if [[ ${words[0]} == $1 ]]
then
# found "$1"
if [[ ! -z $value ]]
then
>&2 echo More than one proprty "$1"
exit 1
fi
value="$(eval echo "${words[@]:2}")"
fi
done < <(sed "s/$(printf '\r')//g" "$2")
if [[ ! -z $value ]]
then
echo -n "$value"
exit 0
fi
>&2 echo Cannot find "$1"
exit 1

View File

@ -4,7 +4,6 @@ UNIT_TESTS
UNIT_TESTS_MACOS UNIT_TESTS_MACOS
JCONST=const JCONST=const
___NOT___ENABLE_SECURE_BOOT ___NOT___ENABLE_SECURE_BOOT
_UINTPTR_T
" | awk '$0!=""{ printf " -D%s", $0; }' " | awk '$0!=""{ printf " -D%s", $0; }'

View File

@ -44,10 +44,10 @@ edk2prefix="$1" && shift # path "$edk2prefix" to edk2 directory
component_path="$(dirname "$component")/$(basename "$component" .inf)" component_path="$(dirname "$component")/$(basename "$component" .inf)"
#echo component_path=$component_path #echo component_path=$component_path
edk2project="$("$edk2prefix"/../../../cmd_line_tools/get_unique_property PLATFORM_NAME "$dsc_file")" edk2project="$(get_unique_property PLATFORM_NAME "$dsc_file")"
#echo edk2project=$edk2project #echo edk2project=$edk2project
edk2libname="$("$edk2prefix"/../../../cmd_line_tools/get_unique_property BASE_NAME "$edk2prefix"/"$component").lib" edk2libname="$(get_unique_property BASE_NAME "$edk2prefix"/"$component").lib"
#echo edk2libname="$edk2libname" #echo edk2libname="$edk2libname"
outputname="${libname%.*}" # output name outputname="${libname%.*}" # output name

View File

@ -1,36 +1,70 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project> <project>
<configuration id="cdt.managedbuild.config.gnu.macosx.exe.debug.1043399644.573872575" name="DEBUG_XCODE8_UTF32">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider"> <configuration id="cdt.managedbuild.config.gnu.macosx.exe.debug.1043399644.573872575" name="DEBUG_XCODE8_UTF32">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="62282808119614425" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
</provider>
</extension> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
</configuration>
<configuration id="cdt.managedbuild.config.gnu.macosx.exe.debug.1043399644.1294514338" name="DEBUG-GCC92-UTF16signed"> <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1573091769919635657" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <language-scope id="org.eclipse.cdt.core.g++"/>
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="135643083198160313" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> </provider>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </extension>
</extension>
</configuration> </configuration>
<configuration id="cdt.managedbuild.config.gnu.macosx.exe.debug.1043399644.1294514338.1821388193" name="DEBUG-GCC92-UTF32">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider"> <configuration id="cdt.managedbuild.config.gnu.macosx.exe.debug.1043399644.1294514338" name="DEBUG-GCC92-UTF16signed">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="135643083198160313" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
</provider>
</extension> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
</configuration>
</project> <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1570153767774892138" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
</extension>
</configuration>
<configuration id="cdt.managedbuild.config.gnu.macosx.exe.debug.1043399644.1294514338.1821388193" name="DEBUG-GCC92-UTF32">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1570153767774892138" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
</extension>
</configuration>
</project>

View File

@ -48,10 +48,6 @@
9A27552F2639A1FA0095D456 /* ConfigPlistAbstract.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A27550B2639A1FA0095D456 /* ConfigPlistAbstract.cpp */; }; 9A27552F2639A1FA0095D456 /* ConfigPlistAbstract.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A27550B2639A1FA0095D456 /* ConfigPlistAbstract.cpp */; };
9A2755302639A1FA0095D456 /* ConfigPlistAbstract.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A27550B2639A1FA0095D456 /* ConfigPlistAbstract.cpp */; }; 9A2755302639A1FA0095D456 /* ConfigPlistAbstract.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A27550B2639A1FA0095D456 /* ConfigPlistAbstract.cpp */; };
9A2755312639A1FA0095D456 /* ConfigPlistAbstract.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A27550B2639A1FA0095D456 /* ConfigPlistAbstract.cpp */; }; 9A2755312639A1FA0095D456 /* ConfigPlistAbstract.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A27550B2639A1FA0095D456 /* ConfigPlistAbstract.cpp */; };
9A2755442639CE540095D456 /* platformdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A2755422639CE530095D456 /* platformdata.cpp */; };
9A2755452639CE540095D456 /* platformdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A2755422639CE530095D456 /* platformdata.cpp */; };
9A2755462639CE540095D456 /* platformdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A2755422639CE530095D456 /* platformdata.cpp */; };
9A2755472639CE540095D456 /* platformdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A2755422639CE530095D456 /* platformdata.cpp */; };
9A2A7C7324576CCE00422263 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9223302402FD1000483CBA /* main.cpp */; }; 9A2A7C7324576CCE00422263 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9223302402FD1000483CBA /* main.cpp */; };
9A3D2C57261855D000F0D7A1 /* BootLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A3D2C4B261855D000F0D7A1 /* BootLog.cpp */; }; 9A3D2C57261855D000F0D7A1 /* BootLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A3D2C4B261855D000F0D7A1 /* BootLog.cpp */; };
9A3D2C58261855D000F0D7A1 /* BootLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A3D2C4B261855D000F0D7A1 /* BootLog.cpp */; }; 9A3D2C58261855D000F0D7A1 /* BootLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A3D2C4B261855D000F0D7A1 /* BootLog.cpp */; };
@ -338,8 +334,6 @@
9A2754F22639A1FA0095D456 /* Readme.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Readme.md; sourceTree = "<group>"; }; 9A2754F22639A1FA0095D456 /* Readme.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Readme.md; sourceTree = "<group>"; };
9A2755042639A1FA0095D456 /* ConfigPlistAbstract.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfigPlistAbstract.h; sourceTree = "<group>"; }; 9A2755042639A1FA0095D456 /* ConfigPlistAbstract.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfigPlistAbstract.h; sourceTree = "<group>"; };
9A27550B2639A1FA0095D456 /* ConfigPlistAbstract.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConfigPlistAbstract.cpp; sourceTree = "<group>"; }; 9A27550B2639A1FA0095D456 /* ConfigPlistAbstract.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConfigPlistAbstract.cpp; sourceTree = "<group>"; };
9A2755422639CE530095D456 /* platformdata.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = platformdata.cpp; sourceTree = "<group>"; };
9A2755432639CE540095D456 /* platformdata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = platformdata.h; sourceTree = "<group>"; };
9A2A7C8624576CCE00422263 /* cpp_tests UTF32 c++17 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "cpp_tests UTF32 c++17"; sourceTree = BUILT_PRODUCTS_DIR; }; 9A2A7C8624576CCE00422263 /* cpp_tests UTF32 c++17 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "cpp_tests UTF32 c++17"; sourceTree = BUILT_PRODUCTS_DIR; };
9A3D2C4B261855D000F0D7A1 /* BootLog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BootLog.cpp; sourceTree = "<group>"; }; 9A3D2C4B261855D000F0D7A1 /* BootLog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BootLog.cpp; sourceTree = "<group>"; };
9A3D2C4E261855D000F0D7A1 /* abort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = abort.cpp; sourceTree = "<group>"; }; 9A3D2C4E261855D000F0D7A1 /* abort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = abort.cpp; sourceTree = "<group>"; };
@ -12871,8 +12865,6 @@
9A82FCF026184686006F973B /* Platform */ = { 9A82FCF026184686006F973B /* Platform */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9A2755422639CE530095D456 /* platformdata.cpp */,
9A2755432639CE540095D456 /* platformdata.h */,
9A77BA9C26333138000FFF8A /* guid.cpp */, 9A77BA9C26333138000FFF8A /* guid.cpp */,
9A77BA9D26333138000FFF8A /* guid.h */, 9A77BA9D26333138000FFF8A /* guid.h */,
9A071C2326196C7C0007CC44 /* Utils.cpp */, 9A071C2326196C7C0007CC44 /* Utils.cpp */,
@ -13405,7 +13397,6 @@
9A071C392619FDA70007CC44 /* XmlLiteDictTypes.cpp in Sources */, 9A071C392619FDA70007CC44 /* XmlLiteDictTypes.cpp in Sources */,
9A87877326186302000B9362 /* PrintLib.c in Sources */, 9A87877326186302000B9362 /* PrintLib.c in Sources */,
9A82FEAA26184688006F973B /* plist.cpp in Sources */, 9A82FEAA26184688006F973B /* plist.cpp in Sources */,
9A2755462639CE540095D456 /* platformdata.cpp in Sources */,
9A071C1926196C4B0007CC44 /* XmlLiteCompositeTypes.cpp in Sources */, 9A071C1926196C4B0007CC44 /* XmlLiteCompositeTypes.cpp in Sources */,
9A82FE3626184688006F973B /* printf_lite-test.cpp in Sources */, 9A82FE3626184688006F973B /* printf_lite-test.cpp in Sources */,
9A82FE7E26184688006F973B /* find_replace_mask_OC_tests.cpp in Sources */, 9A82FE7E26184688006F973B /* find_replace_mask_OC_tests.cpp in Sources */,
@ -13479,7 +13470,6 @@
9A071C3A2619FDA70007CC44 /* XmlLiteDictTypes.cpp in Sources */, 9A071C3A2619FDA70007CC44 /* XmlLiteDictTypes.cpp in Sources */,
9A87877526186302000B9362 /* PrintLib.c in Sources */, 9A87877526186302000B9362 /* PrintLib.c in Sources */,
9A82FEAC26184688006F973B /* plist.cpp in Sources */, 9A82FEAC26184688006F973B /* plist.cpp in Sources */,
9A2755472639CE540095D456 /* platformdata.cpp in Sources */,
9A071C1A26196C4B0007CC44 /* XmlLiteCompositeTypes.cpp in Sources */, 9A071C1A26196C4B0007CC44 /* XmlLiteCompositeTypes.cpp in Sources */,
9A82FE3826184688006F973B /* printf_lite-test.cpp in Sources */, 9A82FE3826184688006F973B /* printf_lite-test.cpp in Sources */,
9A82FE8026184688006F973B /* find_replace_mask_OC_tests.cpp in Sources */, 9A82FE8026184688006F973B /* find_replace_mask_OC_tests.cpp in Sources */,
@ -13553,7 +13543,6 @@
9A071C382619FDA70007CC44 /* XmlLiteDictTypes.cpp in Sources */, 9A071C382619FDA70007CC44 /* XmlLiteDictTypes.cpp in Sources */,
9A87877426186302000B9362 /* PrintLib.c in Sources */, 9A87877426186302000B9362 /* PrintLib.c in Sources */,
9A82FEAB26184688006F973B /* plist.cpp in Sources */, 9A82FEAB26184688006F973B /* plist.cpp in Sources */,
9A2755452639CE540095D456 /* platformdata.cpp in Sources */,
9A071C1826196C4B0007CC44 /* XmlLiteCompositeTypes.cpp in Sources */, 9A071C1826196C4B0007CC44 /* XmlLiteCompositeTypes.cpp in Sources */,
9A82FE3726184688006F973B /* printf_lite-test.cpp in Sources */, 9A82FE3726184688006F973B /* printf_lite-test.cpp in Sources */,
9A82FE7F26184688006F973B /* find_replace_mask_OC_tests.cpp in Sources */, 9A82FE7F26184688006F973B /* find_replace_mask_OC_tests.cpp in Sources */,
@ -13627,7 +13616,6 @@
9A071C372619FDA70007CC44 /* XmlLiteDictTypes.cpp in Sources */, 9A071C372619FDA70007CC44 /* XmlLiteDictTypes.cpp in Sources */,
9A82FE7D26184688006F973B /* find_replace_mask_OC_tests.cpp in Sources */, 9A82FE7D26184688006F973B /* find_replace_mask_OC_tests.cpp in Sources */,
9A8200A126184688006F973B /* shared_ptr.cpp in Sources */, 9A8200A126184688006F973B /* shared_ptr.cpp in Sources */,
9A2755442639CE540095D456 /* platformdata.cpp in Sources */,
9A071C1726196C4B0007CC44 /* XmlLiteCompositeTypes.cpp in Sources */, 9A071C1726196C4B0007CC44 /* XmlLiteCompositeTypes.cpp in Sources */,
9A87876626186302000B9362 /* xcode_utf_fixed.cpp in Sources */, 9A87876626186302000B9362 /* xcode_utf_fixed.cpp in Sources */,
9A82FE7926184688006F973B /* strlen_test.cpp in Sources */, 9A82FE7926184688006F973B /* strlen_test.cpp in Sources */,

View File

@ -13,7 +13,7 @@
#include "../../../rEFIt_UEFI/cpp_unit_test/all_tests.h" #include "../../../rEFIt_UEFI/cpp_unit_test/all_tests.h"
#include "../../../rEFIt_UEFI/cpp_foundation/XToolsCommon.h" #include "../../../rEFIt_UEFI/cpp_foundation/XToolsCommon.h"
#include "../../../rEFIt_UEFI/Platform/platformdata.h" //#include "../../../rEFIt_UEFI/Platform/platformdata.h"
//class Boolean //class Boolean
//{ //{

View File

@ -27,7 +27,7 @@ set -u # exit with error if unbound variables
# GCC toolchain source version # GCC toolchain source version
# here we can change source versions of tools # here we can change source versions of tools
# #
export BINUTILS_VERSION=${BINUTILS_VERSION:-binutils-2.37} export BINUTILS_VERSION=${BINUTILS_VERSION:-binutils-2.38}
export GCC_VERSION=${GCC_VERSION:-11.2.0} export GCC_VERSION=${GCC_VERSION:-11.2.0}
# Version of libraries are from ./contrib/download_prerequisites in gcc source directory # Version of libraries are from ./contrib/download_prerequisites in gcc source directory

View File

@ -502,11 +502,15 @@ void PatchAllTables()
if ( gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtTgt.isEmpty() ) { if ( gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtTgt.isEmpty() ) {
Len = FixAny((UINT8*)NewTable, Len, Len = FixAny((UINT8*)NewTable, Len,
gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtFind, gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtFind,
gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtReplace); gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtReplace,
gSettings.ACPI.DSDT.DSDTPatchArray[i].Skip);
//DBG(" OK\n"); //DBG(" OK\n");
}else{ }else{
//DBG("Patching: renaming in bridge\n"); //DBG("Patching: renaming in bridge\n");
Len = FixRenameByBridge2((UINT8*)NewTable, Len, gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtTgt, gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtFind, gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtReplace); Len = FixRenameByBridge2((UINT8*)NewTable, Len, gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtTgt,
gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtFind,
gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtReplace,
gSettings.ACPI.DSDT.DSDTPatchArray[i].Skip);
} }
} }
} }

View File

@ -1773,9 +1773,9 @@ UINT32 FixADP1 (UINT8* dsdt, UINT32 len)
return len; return len;
} }
UINT32 FixAny (UINT8* dsdt, UINT32 len, const XBuffer<UINT8>& ToFind, const XBuffer<UINT8>& ToReplace) UINT32 FixAny (UINT8* dsdt, UINT32 len, const XBuffer<UINT8> ToFind, const XBuffer<UINT8>& ToReplace, uint64_t Skip)
{ {
size_t sizeoffset; INT32 sizeoffset = 0; // Initialization just to silence warning.
INT32 adr; INT32 adr;
UINT32 i; UINT32 i;
XBool found = false; XBool found = false;
@ -1788,11 +1788,21 @@ UINT32 FixAny (UINT8* dsdt, UINT32 len, const XBuffer<UINT8>& ToFind, const XBuf
MsgLog(" the patch is too large!\n"); MsgLog(" the patch is too large!\n");
return len; return len;
} }
sizeoffset = ToReplace.size() - ToFind.size(); if (
if ( sizeoffset > MAX_INT32 ) { (ToReplace.size() >= ToFind.size() && ToReplace.size() - ToFind.size() > MAX_INT32) ||
DBG(" invalid patches (sizeoffset > MAX_INT32)!\n"); (ToReplace.size() < ToFind.size() && ToFind.size() - ToReplace.size() > MAX_INT32) ) {
MsgLog(" invalid patch (sizeoffset > MAX_INT32)!\n");
return len; return len;
} }
if ( ToReplace.size() >= ToFind.size() ) {
sizeoffset = (INT32)(ToReplace.size() - ToFind.size()); // Safe cast because of earlier check
}
if ( ToFind.size() > ToReplace.size() ) {
// I know that, on little endian machine, substracting 2 unsigned and assign it in a signed var would work.
// But it's good practice to not rely on the architecture.
sizeoffset = (INT32)(ToFind.size() - ToReplace.size()); // Safe cast because of earlier check
sizeoffset = -sizeoffset;
}
for (i = 20; i < len; ) { for (i = 20; i < len; ) {
adr = FindBin(dsdt + i, len - i, ToFind); adr = FindBin(dsdt + i, len - i, ToFind);
if (adr < 0) { if (adr < 0) {
@ -1811,42 +1821,53 @@ UINT32 FixAny (UINT8* dsdt, UINT32 len, const XBuffer<UINT8>& ToFind, const XBuf
// MsgLog(" (%X)", adr); // MsgLog(" (%X)", adr);
found = true; found = true;
len = move_data(adr + i, dsdt, len, (INT32)sizeoffset); // safe cast, sizeoffset < MAX_INT32 if ( Skip == 0 )
CopyMem(dsdt + adr + i, ToReplace.data(), ToReplace.size()); {
len = CorrectOuterMethod(dsdt, len, adr + i - 2, (INT32)sizeoffset); // safe cast, sizeoffset < MAX_INT32 len = move_data(adr + i, dsdt, len, sizeoffset);
len = CorrectOuters(dsdt, len, adr + i - 3, (INT32)sizeoffset); // safe cast, sizeoffset < MAX_INT32 CopyMem(dsdt + adr + i, ToReplace.data(), ToReplace.size());
i += (UINT32)(adr + ToReplace.size()); // if there is no bug before, it should be safe cast. len = CorrectOuterMethod(dsdt, len, adr + i - 2, sizeoffset);
len = CorrectOuters(dsdt, len, adr + i - 3, sizeoffset);
i += (UINT32)(adr + ToReplace.size()); // if there is no bug before, it should be safe cast.
}else{
MsgLog("Skip i=%d ",i);
i += (UINT32)(adr + ToFind.size()); // if there is no bug before, it should be safe cast.
Skip--;
}
} }
MsgLog(" ]\n"); //should not be here MsgLog(" ]\n"); //should not be here
return len; return len;
} }
//new method. by goodwin_c //new method. by goodwin_c
UINT32 FixRenameByBridge2 (UINT8* dsdt, UINT32 len, const XBuffer<UINT8>& TgtBrgName, const XBuffer<UINT8>& ToFind, const XBuffer<UINT8>& ToReplace) UINT32 FixRenameByBridge2(UINT8* dsdt, UINT32 len, const XBuffer<UINT8>& TgtBrgName, const XBuffer<UINT8>& ToFind, const XBuffer<UINT8>& ToReplace, uint64_t Skip)
{ {
INT32 adr; INT32 adr;
XBool found = false; XBool found = false;
UINT32 i, k;
UINT32 BrdADR = 0, BridgeSize; UINT32 BrdADR = 0, BridgeSize;
if ( ToFind.isEmpty() || ToReplace.isEmpty() ) { if ( ToFind.isEmpty() || ToReplace.isEmpty() ) {
DBG(" invalid patches!\n"); MsgLog(" invalid patch!\n");
return len; return len;
} }
if (ToFind.size() != ToReplace.size()) { if (ToFind.size() != ToReplace.size()) {
DBG(" find/replace different size!\n"); MsgLog(" find/replace different size!\n");
return len; return len;
} }
DBG(" pattern %02hhX%02hhX%02hhX%02hhX,", ToFind[0], ToFind[1], ToFind[2], ToFind[3]); MsgLog(" pattern %02hhX%02hhX%02hhX%02hhX,", ToFind[0], ToFind[1], ToFind[2], ToFind[3]);
if ( TgtBrgName.notEmpty() ) {
MsgLog("TgtBridge ");
for (size_t i=0 ; i<TgtBrgName.size() ; ++i) MsgLog("%02hhX", TgtBrgName[i]);
MsgLog(", ");
}
if ((ToFind.size() + sizeof(EFI_ACPI_DESCRIPTION_HEADER)) > len) { if ((ToFind.size() + sizeof(EFI_ACPI_DESCRIPTION_HEADER)) > len) {
DBG(" the patch is too large!\n"); DBG(" the patch is too large!\n");
return len; return len;
} }
DBG("Start ByBridge Rename Fix\n"); DBG("Start ByBridge Rename Fix\n");
for (i=0x20; len >= 10 && i < len - 10; i++) { for (UINT32 i=0x20; len >= 10 && i < len - 10; i++) {
if (CmpDev(dsdt, i, TgtBrgName)) { if (CmpDev(dsdt, i, TgtBrgName)) {
BrdADR = devFind(dsdt, i); BrdADR = devFind(dsdt, i);
if (!BrdADR) { if (!BrdADR) {
@ -1856,7 +1877,7 @@ UINT32 FixRenameByBridge2 (UINT8* dsdt, UINT32 len, const XBuffer<UINT8>& TgtBrg
if(!BridgeSize) continue; if(!BridgeSize) continue;
if(BridgeSize <= ToFind.size()) continue; if(BridgeSize <= ToFind.size()) continue;
k = 0; UINT32 k = 0;
found = false; found = false;
while (k <= 100) { while (k <= 100) {
adr = FindBin(dsdt + BrdADR, BridgeSize, ToFind); adr = FindBin(dsdt + BrdADR, BridgeSize, ToFind);
@ -1876,7 +1897,12 @@ UINT32 FixRenameByBridge2 (UINT8* dsdt, UINT32 len, const XBuffer<UINT8>& TgtBrg
DBG(" (%X)", adr); DBG(" (%X)", adr);
found = true; found = true;
if ( ToReplace.notEmpty() ) { if ( ToReplace.notEmpty() ) {
if ( Skip == 0 ) {
CopyMem(dsdt + BrdADR + adr, ToReplace.data(), ToReplace.size()); CopyMem(dsdt + BrdADR + adr, ToReplace.data(), ToReplace.size());
} else {
MsgLog("Skip adr=%d ",adr);
Skip--;
}
} }
k++; k++;
} }
@ -5388,14 +5414,16 @@ void FixBiosDsdt(UINT8* temp, EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE* fadt, c
if (gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtTgt.isEmpty()) { if (gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtTgt.isEmpty()) {
DsdtLen = FixAny(temp, DsdtLen, DsdtLen = FixAny(temp, DsdtLen,
gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtFind, gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtFind,
gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtReplace); gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtReplace,
gSettings.ACPI.DSDT.DSDTPatchArray[i].Skip);
}else{ }else{
// DBG("Patching: renaming in bridge\n"); // DBG("Patching: renaming in bridge\n");
DsdtLen = FixRenameByBridge2(temp, DsdtLen, DsdtLen = FixRenameByBridge2(temp, DsdtLen,
gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtTgt, gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtTgt,
gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtFind, gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtFind,
gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtReplace); gSettings.ACPI.DSDT.DSDTPatchArray[i].PatchDsdtReplace,
gSettings.ACPI.DSDT.DSDTPatchArray[i].Skip);
} }
} else { } else {

View File

@ -50,8 +50,8 @@ FindBin (
INT32 FindBin (UINT8 *dsdt, size_t len, const XBuffer<UINT8>& bin); INT32 FindBin (UINT8 *dsdt, size_t len, const XBuffer<UINT8>& bin);
UINT32 FixAny (UINT8* dsdt, UINT32 len, const XBuffer<UINT8>& ToFind, const XBuffer<UINT8>& ToReplace); UINT32 FixAny (UINT8* dsdt, UINT32 len, const XBuffer<UINT8> ToFind, const XBuffer<UINT8>& ToReplace, uint64_t Skip);
UINT32 FixRenameByBridge2 (UINT8* dsdt, UINT32 len, const XBuffer<UINT8>& TgtBrgName, const XBuffer<UINT8>& ToFind, const XBuffer<UINT8>& ToReplace); UINT32 FixRenameByBridge2 (UINT8* dsdt, UINT32 len, const XBuffer<UINT8>& TgtBrgName, const XBuffer<UINT8>& ToFind, const XBuffer<UINT8>& ToReplace, uint64_t Skip);
#endif /* PLATFORM_FIXBIOSDSDT_H_ */ #endif /* PLATFORM_FIXBIOSDSDT_H_ */

View File

@ -836,6 +836,7 @@ public:
XBuffer<UINT8> PatchDsdtReplace = XBuffer<UINT8>(); XBuffer<UINT8> PatchDsdtReplace = XBuffer<UINT8>();
XBuffer<UINT8> PatchDsdtTgt = XBuffer<UINT8>(); XBuffer<UINT8> PatchDsdtTgt = XBuffer<UINT8>();
INPUT_ITEM PatchDsdtMenuItem = INPUT_ITEM(); // Not read from config.plist. Should be moved out. INPUT_ITEM PatchDsdtMenuItem = INPUT_ITEM(); // Not read from config.plist. Should be moved out.
uint64_t Skip = 0;
#if __cplusplus > 201703L #if __cplusplus > 201703L
XBool operator == (const DSDT_Patch&) const = default; XBool operator == (const DSDT_Patch&) const = default;
@ -848,6 +849,7 @@ public:
if ( !(PatchDsdtReplace == other.PatchDsdtReplace) ) return false; if ( !(PatchDsdtReplace == other.PatchDsdtReplace) ) return false;
if ( !(PatchDsdtTgt == other.PatchDsdtTgt) ) return false; if ( !(PatchDsdtTgt == other.PatchDsdtTgt) ) return false;
if ( !(PatchDsdtMenuItem == other.PatchDsdtMenuItem) ) return false; if ( !(PatchDsdtMenuItem == other.PatchDsdtMenuItem) ) return false;
if ( !(Skip == other.Skip) ) return false;
return true; return true;
} }
void takeValueFrom(const ConfigPlistClass::ACPI_Class::DSDT_Class::ACPI_DSDT_Patch_Class& other) void takeValueFrom(const ConfigPlistClass::ACPI_Class::DSDT_Class::ACPI_DSDT_Patch_Class& other)
@ -858,6 +860,7 @@ public:
PatchDsdtReplace = other.dgetPatchDsdtReplace(); PatchDsdtReplace = other.dgetPatchDsdtReplace();
PatchDsdtTgt = other.dgetPatchDsdtTgt(); PatchDsdtTgt = other.dgetPatchDsdtTgt();
PatchDsdtMenuItem.BValue = !other.dgetDisabled(); PatchDsdtMenuItem.BValue = !other.dgetDisabled();
Skip = other.dgetSkip();
} }
}; };

View File

@ -348,6 +348,7 @@ uint64_t GetExtFwFeaturesMask(MacModel Model)
XBool GetMobile(MacModel Model) XBool GetMobile(MacModel Model)
{ {
XBool returnValue;
// Mobile: the battery tab in Energy Saver // Mobile: the battery tab in Energy Saver
switch ( Model ) switch ( Model )
{ {
@ -418,7 +419,8 @@ XBool GetMobile(MacModel Model)
case MacBookAir81: case MacBookAir81:
case MacBookAir82: case MacBookAir82:
case MacBookAir91: case MacBookAir91:
return true; returnValue = true;
break;
case MacMini11: case MacMini11:
case MacMini21: case MacMini21:
case MacMini31: case MacMini31:
@ -430,7 +432,8 @@ XBool GetMobile(MacModel Model)
case MacMini62: case MacMini62:
case MacMini71: case MacMini71:
case MacMini81: case MacMini81:
return false; returnValue = false;
break;
case iMac41: case iMac41:
case iMac42: case iMac42:
case iMac51: case iMac51:
@ -464,7 +467,8 @@ XBool GetMobile(MacModel Model)
case iMac201: case iMac201:
case iMac202: case iMac202:
case iMacPro11: case iMacPro11:
return false; returnValue = false;
break;
case MacPro11: case MacPro11:
case MacPro21: case MacPro21:
case MacPro31: case MacPro31:
@ -472,17 +476,22 @@ XBool GetMobile(MacModel Model)
case MacPro51: case MacPro51:
case MacPro61: case MacPro61:
case MacPro71: case MacPro71:
return false; returnValue = false;
break;
case Xserve11: case Xserve11:
case Xserve21: case Xserve21:
case Xserve31: case Xserve31:
return false; returnValue = false;
break;
case MaxMacModel: // currently a copy of iMac132 case MaxMacModel: // currently a copy of iMac132
return false; returnValue = false;
break;
default: // bug, unknown Apple model default: // bug, unknown Apple model
log_technical_bug("%s : cannot find model %d\n", __PRETTY_FUNCTION__, Model); log_technical_bug("%s : cannot find model %d\n", __PRETTY_FUNCTION__, Model);
return false; returnValue = false;
} }
//DBG("GetMobile returns %d\n", (bool)returnValue);
return returnValue;
} }
// PlatformFeature // PlatformFeature

View File

@ -673,6 +673,7 @@ XBool getMobileFromSmbios()
return false; return false;
} }
mHandle3 = SmbiosTable.Type3->Hdr.Handle; mHandle3 = SmbiosTable.Type3->Hdr.Handle;
//DBG("getMobileFromSmbios (SmbiosTable.Type3->Type=%d) %d\n", SmbiosTable.Type3->Type, ((SmbiosTable.Type3->Type) >= 8) && (SmbiosTable.Type3->Type != 0x0D));
return ((SmbiosTable.Type3->Type) >= 8) && (SmbiosTable.Type3->Type != 0x0D); //iMac is desktop! return ((SmbiosTable.Type3->Type) >= 8) && (SmbiosTable.Type3->Type != 0x0D); //iMac is desktop!
} }

View File

@ -163,13 +163,15 @@ if ( xmlPath.contains("ACPI/DSDT/Patches[15]"_XS8) ) {
XmlData Find = XmlData(); XmlData Find = XmlData();
XmlData Replace = XmlData(); XmlData Replace = XmlData();
TgtBridgeClass TgtBridge = TgtBridgeClass(); TgtBridgeClass TgtBridge = TgtBridgeClass();
XmlUInt64 Skip = XmlUInt64();
XmlDictField m_fields[5] = { XmlDictField m_fields[6] = {
{"Comment", Comment}, {"Comment", Comment},
{"Disabled", Disabled}, {"Disabled", Disabled},
{"Find", Find}, {"Find", Find},
{"Replace", Replace}, {"Replace", Replace},
{"TgtBridge", TgtBridge}, {"TgtBridge", TgtBridge},
{"Skip", Skip},
}; };
virtual void getFields(XmlDictField** fields, size_t* nb) override { *fields = m_fields; *nb = sizeof(m_fields)/sizeof(m_fields[0]); }; virtual void getFields(XmlDictField** fields, size_t* nb) override { *fields = m_fields; *nb = sizeof(m_fields)/sizeof(m_fields[0]); };
@ -180,6 +182,7 @@ if ( xmlPath.contains("ACPI/DSDT/Patches[15]"_XS8) ) {
const XBuffer<UINT8>& dgetPatchDsdtFind() const { return Find.isDefined() ? Find.value() : XBuffer<UINT8>::NullXBuffer; }; const XBuffer<UINT8>& dgetPatchDsdtFind() const { return Find.isDefined() ? Find.value() : XBuffer<UINT8>::NullXBuffer; };
const XBuffer<UINT8>& dgetPatchDsdtReplace() const { return Replace.isDefined() ? Replace.value() : XBuffer<UINT8>::NullXBuffer; }; const XBuffer<UINT8>& dgetPatchDsdtReplace() const { return Replace.isDefined() ? Replace.value() : XBuffer<UINT8>::NullXBuffer; };
const XBuffer<UINT8>& dgetPatchDsdtTgt() const { return TgtBridge.isDefined() ? TgtBridge.value() : XBuffer<UINT8>::NullXBuffer; }; const XBuffer<UINT8>& dgetPatchDsdtTgt() const { return TgtBridge.isDefined() ? TgtBridge.value() : XBuffer<UINT8>::NullXBuffer; };
const decltype(Skip)::ValueType& dgetSkip() const { return Skip.isDefined() ? Skip.value() : Skip.nullValue; };
}; };
protected: protected:

View File

@ -320,13 +320,19 @@ XBool XmlData::parseFromXmlLite(XmlLiteParser* xmlLiteParser, const XString8& xm
#ifdef JIEF_DEBUG #ifdef JIEF_DEBUG
if ( xmlPath.startWithOrEqualToIC("/KernelAndKextPatches/KernelToPatch[0]/Find") ) { if ( xmlPath.startWithOrEqualToIC("/KernelAndKextPatches/KernelToPatch[0]/Find") ) {
int i=0; (void)i; NOP;
} }
#endif #endif
XmlParserPosition pos = xmlLiteParser->getPosition(); XmlParserPosition pos = xmlLiteParser->getPosition();
RETURN_IF_FALSE( xmlLiteParser->getSimpleTag(&tag, &tagLength, &value, &valueLength, NULL, generateErrors) ); RETURN_IF_FALSE( xmlLiteParser->getSimpleTag(&tag, &tagLength, &value, &valueLength, NULL, generateErrors) );
if ( strnIsEqual(tag, tagLength, "string") ) { if ( strnIsEqual(tag, tagLength, "string") ) {
for ( size_t i=0 ; i<valueLength ; ++i ) {
if ( !IS_HEX(value[i]) && !IS_DIGIT(value[i]) ) {
xmlLiteParser->addError(generateErrors, S8Printf("Expecting hex digits following key '%s' at line %d.", xmlPath.c_str(), pos.getLine()));
return false;
}
}
size_t allocatedSize = valueLength/2; // number of hex digits size_t allocatedSize = valueLength/2; // number of hex digits
uint8_t *Data = (uint8_t*)malloc(allocatedSize); uint8_t *Data = (uint8_t*)malloc(allocatedSize);
size_t hexLen = hex2bin(value, valueLength, Data, allocatedSize); size_t hexLen = hex2bin(value, valueLength, Data, allocatedSize);