Philip Petev Posted January 17, 2017 Share Posted January 17, 2017 UEFI with EmuVariable on my ThinkPad T460 Just a side note: the issue doesn't appear to be EFI driver-related. Tried to use one and the same EFI drivers (incl. this one) with all Clover build, mentioned by me in my previous post. Tested the different Clover builds, using the EFI drivers from r3974 and r3977 (though I suspect they are identical, haven't checked their checksums to be sure of that). The issue appears to be pure bootx64.efi (Clover) - related. Link to comment Share on other sites More sharing options...
dgsga Posted January 17, 2017 Share Posted January 17, 2017 @Slice, I can confirm that Clover 3977 compiled with EDK 23701 works fine on my rig, any revision of EDK above this fails to boot, just stuck at the aptiofix initialisation line. Diff between 23701 and 23702 is as follows, I hope it helps: --- a/trunk/edk2/MdePkg/Library/BaseLib/String.c +++ b/trunk/edk2/MdePkg/Library/BaseLib/String.c @@ -1,7 +1,7 @@ /** @file Unicode and ASCII string primitives. - Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> + Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR> This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -638,7 +638,7 @@ If String has no pad spaces or valid decimal digits, then 0 is returned. If the number represented by String overflows according - to the range defined by UINTN, then ASSERT(). + to the range defined by UINTN, then MAX_UINTN is returned. If PcdMaximumUnicodeStringLength is not zero, and String contains more than PcdMaximumUnicodeStringLength Unicode characters, not including @@ -656,40 +656,8 @@ ) { UINTN Result; - - // - // ASSERT String is less long than PcdMaximumUnicodeStringLength. - // Length tests are performed inside StrLen(). - // - ASSERT (StrSize (String) != 0); - - // - // Ignore the pad spaces (space or tab) - // - while ((*String == L' ') || (*String == L'\t')) { - String++; - } - - // - // Ignore leading Zeros after the spaces - // - while (*String == L'0') { - String++; - } - - Result = 0; - - while (InternalIsDecimalDigitCharacter (*String)) { - // - // If the number represented by String overflows according - // to the range defined by UINTN, then ASSERT(). - // - ASSERT (Result <= ((((UINTN) ~0) - (*String - L'0')) / 10)); - - Result = Result * 10 + (*String - L'0'); - String++; - } - + + StrDecimalToUintnS (String, (CHAR16 **) NULL, &Result); return Result; } @@ -717,7 +685,7 @@ If String has no pad spaces or valid decimal digits, then 0 is returned. If the number represented by String overflows according - to the range defined by UINT64, then ASSERT(). + to the range defined by UINT64, then MAX_UINT64 is returned. If PcdMaximumUnicodeStringLength is not zero, and String contains more than PcdMaximumUnicodeStringLength Unicode characters, not including @@ -736,39 +704,7 @@ { UINT64 Result; - // - // ASSERT String is less long than PcdMaximumUnicodeStringLength. - // Length tests are performed inside StrLen(). - // - ASSERT (StrSize (String) != 0); - - // - // Ignore the pad spaces (space or tab) - // - while ((*String == L' ') || (*String == L'\t')) { - String++; - } - - // - // Ignore leading Zeros after the spaces - // - while (*String == L'0') { - String++; - } - - Result = 0; - - while (InternalIsDecimalDigitCharacter (*String)) { - // - // If the number represented by String overflows according - // to the range defined by UINTN, then ASSERT(). - // - ASSERT (Result <= DivU64x32 (((UINT64) ~0) - (*String - L'0') , 10)); - - Result = MultU64x32 (Result, 10) + (*String - L'0'); - String++; - } - + StrDecimalToUint64S (String, (CHAR16 **) NULL, &Result); return Result; } @@ -796,7 +732,7 @@ If String has no leading pad spaces, leading zeros or valid hexadecimal digits, then zero is returned. If the number represented by String overflows according to the range defined by - UINTN, then ASSERT(). + UINTN, then MAX_UINTN is returned. If PcdMaximumUnicodeStringLength is not zero, and String contains more than PcdMaximumUnicodeStringLength Unicode characters, not including the Null-terminator, @@ -815,49 +751,7 @@ { UINTN Result; - // - // ASSERT String is less long than PcdMaximumUnicodeStringLength. - // Length tests are performed inside StrLen(). - // - ASSERT (StrSize (String) != 0); - - // - // Ignore the pad spaces (space or tab) - // - while ((*String == L' ') || (*String == L'\t')) { - String++; - } - - // - // Ignore leading Zeros after the spaces - // - while (*String == L'0') { - String++; - } - - if (InternalCharToUpper (*String) == L'X') { - if (*(String - 1) != L'0') { - return 0; - } - // - // Skip the 'X' - // - String++; - } - - Result = 0; - - while (InternalIsHexaDecimalDigitCharacter (*String)) { - // - // If the Hex Number represented by String overflows according - // to the range defined by UINTN, then ASSERT(). - // - ASSERT (Result <= ((((UINTN) ~0) - InternalHexCharToUintn (*String)) >> 4)); - - Result = (Result << 4) + InternalHexCharToUintn (*String); - String++; - } - + StrHexToUintnS (String, (CHAR16 **) NULL, &Result); return Result; } @@ -886,7 +780,7 @@ If String has no leading pad spaces, leading zeros or valid hexadecimal digits, then zero is returned. If the number represented by String overflows according to the range defined by - UINT64, then ASSERT(). + UINT64, then MAX_UINT64 is returned. If PcdMaximumUnicodeStringLength is not zero, and String contains more than PcdMaximumUnicodeStringLength Unicode characters, not including the Null-terminator, @@ -905,51 +799,7 @@ { UINT64 Result; - // - // ASSERT String is less long than PcdMaximumUnicodeStringLength. - // Length tests are performed inside StrLen(). - // - ASSERT (StrSize (String) != 0); - - // - // Ignore the pad spaces (space or tab) - // - while ((*String == L' ') || (*String == L'\t')) { - String++; - } - - // - // Ignore leading Zeros after the spaces - // - while (*String == L'0') { - String++; - } - - if (InternalCharToUpper (*String) == L'X') { - ASSERT (*(String - 1) == L'0'); - if (*(String - 1) != L'0') { - return 0; - } - // - // Skip the 'X' - // - String++; - } - - Result = 0; - - while (InternalIsHexaDecimalDigitCharacter (*String)) { - // - // If the Hex Number represented by String overflows according - // to the range defined by UINTN, then ASSERT(). - // - ASSERT (Result <= RShiftU64 (((UINT64) ~0) - InternalHexCharToUintn (*String) , 4)); - - Result = LShiftU64 (Result, 4); - Result = Result + InternalHexCharToUintn (*String); - String++; - } - + StrHexToUint64S (String, (CHAR16 **) NULL, &Result); return Result; } @@ -1681,7 +1531,7 @@ If String has only pad spaces, then 0 is returned. If String has no pad spaces or valid decimal digits, then 0 is returned. If the number represented by String overflows according to the range defined by - UINTN, then ASSERT(). + UINTN, then MAX_UINTN is returned. If String is NULL, then ASSERT(). If PcdMaximumAsciiStringLength is not zero, and String contains more than PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, @@ -1700,38 +1550,7 @@ { UINTN Result; - // - // ASSERT Strings is less long than PcdMaximumAsciiStringLength - // - ASSERT (AsciiStrSize (String) != 0); - - // - // Ignore the pad spaces (space or tab) - // - while ((*String == ' ') || (*String == '\t' )) { - String++; - } - - // - // Ignore leading Zeros after the spaces - // - while (*String == '0') { - String++; - } - - Result = 0; - - while (InternalAsciiIsDecimalDigitCharacter (*String)) { - // - // If the number represented by String overflows according - // to the range defined by UINTN, then ASSERT(). - // - ASSERT (Result <= ((((UINTN) ~0) - (*String - L'0')) / 10)); - - Result = Result * 10 + (*String - '0'); - String++; - } - + AsciiStrDecimalToUintnS (String, (CHAR8 **) NULL, &Result); return Result; } @@ -1755,7 +1574,7 @@ If String has only pad spaces, then 0 is returned. If String has no pad spaces or valid decimal digits, then 0 is returned. If the number represented by String overflows according to the range defined by - UINT64, then ASSERT(). + UINT64, then MAX_UINT64 is returned. If String is NULL, then ASSERT(). If PcdMaximumAsciiStringLength is not zero, and String contains more than PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, @@ -1774,38 +1593,7 @@ { UINT64 Result; - // - // ASSERT Strings is less long than PcdMaximumAsciiStringLength - // - ASSERT (AsciiStrSize (String) != 0); - - // - // Ignore the pad spaces (space or tab) - // - while ((*String == ' ') || (*String == '\t' )) { - String++; - } - - // - // Ignore leading Zeros after the spaces - // - while (*String == '0') { - String++; - } - - Result = 0; - - while (InternalAsciiIsDecimalDigitCharacter (*String)) { - // - // If the number represented by String overflows according - // to the range defined by UINTN, then ASSERT(). - // - ASSERT (Result <= DivU64x32 (((UINT64) ~0) - (*String - L'0') , 10)); - - Result = MultU64x32 (Result, 10) + (*String - '0'); - String++; - } - + AsciiStrDecimalToUint64S (String, (CHAR8 **) NULL, &Result); return Result; } @@ -1832,7 +1620,7 @@ 0 is returned. If the number represented by String overflows according to the range defined by UINTN, - then ASSERT(). + then MAX_UINTN is returned. If String is NULL, then ASSERT(). If PcdMaximumAsciiStringLength is not zero, and String contains more than PcdMaximumAsciiStringLength ASCII characters not including @@ -1851,49 +1639,7 @@ { UINTN Result; - // - // ASSERT Strings is less long than PcdMaximumAsciiStringLength - // - ASSERT (AsciiStrSize (String) != 0); - - // - // Ignore the pad spaces (space or tab) - // - while ((*String == ' ') || (*String == '\t' )) { - String++; - } - - // - // Ignore leading Zeros after the spaces - // - while (*String == '0') { - String++; - } - - if (InternalBaseLibAsciiToUpper (*String) == 'X') { - ASSERT (*(String - 1) == '0'); - if (*(String - 1) != '0') { - return 0; - } - // - // Skip the 'X' - // - String++; - } - - Result = 0; - - while (InternalAsciiIsHexaDecimalDigitCharacter (*String)) { - // - // If the Hex Number represented by String overflows according - // to the range defined by UINTN, then ASSERT(). - // - ASSERT (Result <= ((((UINTN) ~0) - InternalHexCharToUintn (*String)) >> 4)); - - Result = (Result << 4) + InternalAsciiHexCharToUintn (*String); - String++; - } - + AsciiStrHexToUintnS (String, (CHAR8 **) NULL, &Result); return Result; } @@ -1921,7 +1667,7 @@ 0 is returned. If the number represented by String overflows according to the range defined by UINT64, - then ASSERT(). + then MAX_UINT64 is returned. If String is NULL, then ASSERT(). If PcdMaximumAsciiStringLength is not zero, and String contains more than PcdMaximumAsciiStringLength ASCII characters not including @@ -1940,53 +1686,7 @@ { UINT64 Result; - // - // ASSERT Strings is less long than PcdMaximumAsciiStringLength - // - ASSERT (AsciiStrSize (String) != 0); - - // - // Ignore the pad spaces (space or tab) and leading Zeros - // - // - // Ignore the pad spaces (space or tab) - // - while ((*String == ' ') || (*String == '\t' )) { - String++; - } - - // - // Ignore leading Zeros after the spaces - // - while (*String == '0') { - String++; - } - - if (InternalBaseLibAsciiToUpper (*String) == 'X') { - ASSERT (*(String - 1) == '0'); - if (*(String - 1) != '0') { - return 0; - } - // - // Skip the 'X' - // - String++; - } - - Result = 0; - - while (InternalAsciiIsHexaDecimalDigitCharacter (*String)) { - // - // If the Hex Number represented by String overflows according - // to the range defined by UINTN, then ASSERT(). - // - ASSERT (Result <= RShiftU64 (((UINT64) ~0) - InternalHexCharToUintn (*String) , 4)); - - Result = LShiftU64 (Result, 4); - Result = Result + InternalAsciiHexCharToUintn (*String); - String++; - } - + AsciiStrHexToUint64S (String, (CHAR8 **) NULL, &Result); return Result; } --- a/trunk/edk2/MdePkg/Include/Library/BaseLib.h +++ b/trunk/edk2/MdePkg/Include/Library/BaseLib.h @@ -1395,7 +1395,7 @@ If String has no pad spaces or valid decimal digits, then 0 is returned. If the number represented by String overflows according - to the range defined by UINTN, then ASSERT(). + to the range defined by UINTN, then MAX_UINTN is returned. If PcdMaximumUnicodeStringLength is not zero, and String contains more than PcdMaximumUnicodeStringLength Unicode characters not including @@ -1435,7 +1435,7 @@ If String has no pad spaces or valid decimal digits, then 0 is returned. If the number represented by String overflows according - to the range defined by UINT64, then ASSERT(). + to the range defined by UINT64, then MAX_UINT64 is returned. If PcdMaximumUnicodeStringLength is not zero, and String contains more than PcdMaximumUnicodeStringLength Unicode characters not including @@ -1477,7 +1477,7 @@ If String has no leading pad spaces, leading zeros or valid hexadecimal digits, then zero is returned. If the number represented by String overflows according to the range defined by - UINTN, then ASSERT(). + UINTN, then MAX_UINTN is returned. If PcdMaximumUnicodeStringLength is not zero, and String contains more than PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, @@ -1519,7 +1519,7 @@ If String has no leading pad spaces, leading zeros or valid hexadecimal digits, then zero is returned. If the number represented by String overflows according to the range defined by - UINT64, then ASSERT(). + UINT64, then MAX_UINT64 is returned. If PcdMaximumUnicodeStringLength is not zero, and String contains more than PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, @@ -1997,7 +1997,7 @@ If String has only pad spaces, then 0 is returned. If String has no pad spaces or valid decimal digits, then 0 is returned. If the number represented by String overflows according to the range defined by - UINTN, then ASSERT(). + UINTN, then MAX_UINTN is returned. If String is NULL, then ASSERT(). If PcdMaximumAsciiStringLength is not zero, and String contains more than PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, @@ -2034,7 +2034,7 @@ If String has only pad spaces, then 0 is returned. If String has no pad spaces or valid decimal digits, then 0 is returned. If the number represented by String overflows according to the range defined by - UINT64, then ASSERT(). + UINT64, then MAX_UINT64 is returned. If String is NULL, then ASSERT(). If PcdMaximumAsciiStringLength is not zero, and String contains more than PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, @@ -2075,7 +2075,7 @@ 0 is returned. If the number represented by String overflows according to the range defined by UINTN, - then ASSERT(). + then MAX_UINTN is returned. If String is NULL, then ASSERT(). If PcdMaximumAsciiStringLength is not zero, and String contains more than PcdMaximumAsciiStringLength ASCII characters not including @@ -2116,7 +2116,7 @@ 0 is returned. If the number represented by String overflows according to the range defined by UINT64, - then ASSERT(). + then MAX_UINT64 is returned. If String is NULL, then ASSERT(). If PcdMaximumAsciiStringLength is not zero, and String contains more than PcdMaximumAsciiStringLength ASCII characters not including 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted January 17, 2017 Share Posted January 17, 2017 (edited) Weird. I got a update of Micky's Build_Clover.command and he updated edk2 version to r23704. 23704 just works fine on my desktop... And seems nothing obvious changes with r23520. Starting from r23705 commits made regarding "ACPI Table Rev Options.. ". Later some fix on previous commits by them ( > 23705) . Later again other changes, but for me 23704 is ok. 23703 should be almost the same (refinement of debug messages in 23704). 23702, 23701, 23700 all the job is around "safe string" functions, Asserts etc. May be ..culprit is around there... Edited January 17, 2017 by Micky1979 1 Link to comment Share on other sites More sharing options...
PMheart Posted January 17, 2017 Share Posted January 17, 2017 Starting from r23705 commits made regarding "ACPI Table Rev Options.. ". Later some fix on previous commits by them ( > 23705) . Later again other changes, but for me 23704 is ok. 23703 should be almost the same (refinement of debug messages in 23704). 23702, 23701, 23700 all the job is around "safe string" functions, Asserts etc. May be ..culprit is around there... Thanks for clarification. Typically I don't want to update edk2 unless necessary. TBH I don't care what's changed about edk2. 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted January 17, 2017 Share Posted January 17, 2017 Thanks for clarification. no clarification (I can't ) .. observations were 1 Link to comment Share on other sites More sharing options...
PMheart Posted January 17, 2017 Share Posted January 17, 2017 Link to comment Share on other sites More sharing options...
Slice Posted January 18, 2017 Share Posted January 18, 2017 What if we revert changes of 23702? Link to comment Share on other sites More sharing options...
Philip Petev Posted January 18, 2017 Share Posted January 18, 2017 What if we revert changes of 23702?Yes, it should be r23701. r23702 is the first problematic for most of us. Sent from my MI 5s using Tapatalk Link to comment Share on other sites More sharing options...
Micky1979 Posted January 18, 2017 Share Posted January 18, 2017 (edited) Yes, it should be r23701. r23702 is the first problematic for most of us. Sent from my MI 5s using Tapatalk changes updating from 23701 to 23702: MdePkg: checking..available, continuing.. Updating '.': U Include/Library/BaseLib.h U Library/BaseLib/String.c Updated to revision 23702. (like already mentioned by dgsga) Attached some builds of Clover r3977 with different edk2 revs, if someone-else is intrested to help and confirming that the problem starts with r23702: Clover_r3977_edkII_23700.pkg.zip Clover_r3977_edkII_23701.pkg.zip Clover_r3977_edkII_23702.pkg.zip What if we revert changes of 23702? ....testing edk2 r23700 here works well (+/- 10 seconds to the login screen) edk2 r23701 here works well (+/- 10 seconds to the login screen) edk2 r23702 slow boot. Quickly show some dots and here hangs for 10/12 seconds, than boot as usual. Edited January 18, 2017 by Micky1979 1 Link to comment Share on other sites More sharing options...
tluck Posted January 18, 2017 Share Posted January 18, 2017 @micky1979 i tested your builds and then build them myself. same results as you edk2 r23700: Ok edk2 r23701: Ok (same boot time as before)edk2 r23702: very slow boot. after OsxAptio2 - then long hang. 2 Link to comment Share on other sites More sharing options...
Micky1979 Posted January 18, 2017 Share Posted January 18, 2017 Yep, the problem is always there Link to comment Share on other sites More sharing options...
Philip Petev Posted January 18, 2017 Share Posted January 18, 2017 edk2 r23700 here works well (+/- 10 seconds to the login screen)edk2 r23701 here works well (+/- 10 seconds to the login screen) edk2 r23702 slow boot. Quickly show some dots and here hangs for 10/12 seconds, than boot as usual. Same results for me on both my desktop (AMI Aptio) and my laptop (HPQ EFI) with one difference: with r23702 Clover stays at the dots forever on both machines 1 Link to comment Share on other sites More sharing options...
Maniac10 Posted January 18, 2017 Share Posted January 18, 2017 Mine isn't slow with 23702, it just freezes. With 23701 it works just fine. 1 Link to comment Share on other sites More sharing options...
r2tincan Posted January 19, 2017 Share Posted January 19, 2017 Can't boot into clover at all on my x99-E WS with the newest version. (Clover_v2.3k_r3974) I am using an older version on another drive that I've had since Yosemite and it's working fine. Anyone have any idea why? No errors because clover doesn't even load. X99-E WS Xeon 2630v3 Thanks much Link to comment Share on other sites More sharing options...
cecekpawon Posted January 19, 2017 Share Posted January 19, 2017 Capturing screen after OnExitBootServices has called (what come after '+++++' line) with KernelAndKextsPatch debug ON might help Slice to determine where the delay is. Can be bad reading kernelcache plist? AsciiStrHexToUint64 in 'GetPlistHexValue' has new return value? Safestring with "-D DISABLE_NEW_DEPRECATED_INTERFACES" defined in shell patch only. I test Mickeys precompiled 23701 & 23702, they both boot just fine on my machine (uEFI BOOTX64 with HFSPlus, FSInject, OsxAptioFixDrv/OsxAptioFix2Drv drivers). 1 Link to comment Share on other sites More sharing options...
shaggymane Posted January 19, 2017 Share Posted January 19, 2017 I have kernel panic if I use fixairport in clover... it is killerwifi 1535 qualcomm atheros on a alienware 17r4 Link to comment Share on other sites More sharing options...
Slice Posted January 19, 2017 Share Posted January 19, 2017 Who have a problem with 23702 please show your set of KernelAndKextPatches. Is there any empty patch? Link to comment Share on other sites More sharing options...
artur_pt Posted January 19, 2017 Share Posted January 19, 2017 hello Slice this is mine KernelAndKextPatchesAppleRTCAsusAICPUPMDebugForceKextsToLoad\System\Library\Extensions\IOAudioFamily.kextKernelCpuKextsToPatchCommentPatch_Ig-paftform-id 4 LVDSFindBQMAAAIAAAAwAgAAMatchOS10.11.x,10.12.xNameAppleIntelFramebufferCapriReplaceBQMAAAIAAAAwAAAACommentApple Logo 10.12FindAQAAdSU=MatchOS10.12.xNameIOGraphicsFamilyReplaceAQAA6yU=CommentApple LogoFindQYjE6xE=MatchOS10.11.xNameIOGraphicsFamilyReplaceQYjE6zE=Comment Apple Logo Yose / El CapoFindAQAAdRc=MatchOS10.11.xNameIOGraphicsFamilyReplaceAQAA6xc=CommentBT4LE-Handoff-Hotspot FixFindSIXAdFwPt0g=MatchOS10.11.x,10.12.xNameIOBluetoothFamilyReplaceQb4PAAAA61k=CommentBCM94352 5Ghz FixFindQYP8/3QsSA==MatchOS10.11.xNameAirPortBrcm4360ReplaceZscGVVPrKw==CommentYosemite HandoffFindSIX/dEdIiwc=MatchOS10.11.x,10.12.xNameIOBluetoothFamilyReplaceQb4PAAAA60Q=CommentBCM94352 5Ghz Fix SierraFindgflSqgAAdSk=MatchOS10.12.xNameAirPortBrcm4360ReplacegflSqgAAZpA=Number_of_KextsToPatch8 thanks Link to comment Share on other sites More sharing options...
Philip Petev Posted January 19, 2017 Share Posted January 19, 2017 Who have a problem with 23702 please show your set of KernelAndKextPatches. Is there any empty patch? I have no empty patches, but I have disabled ones (my config is based on a generic config for the whole ProBook 4x40s series by RehabMan): <key>KextsToPatch</key> <array> <dict> <key>Comment</key> <string>change 15 port limit to 26 in XHCI kext (100-series)</string> <key>Disabled</key> <true/> <key>Find</key> <data> g72M/v//EA== </data> <key>Name</key> <string>AppleUSBXHCIPCI</string> <key>Replace</key> <data> g72M/v//Gw== </data> </dict> <dict> <key>Comment</key> <string>AppleHDA .xml.zl to .zml.zl</string> <key>Disabled</key> <true/> <key>Find</key> <data> LnhtbC56bA== </data> <key>Name</key> <string>AppleHDA</string> <key>Replace</key> <data> LnptbC56bA== </data> </dict> <dict> <key>Comment</key> <string>Enable TRIM for non-Apple SSDs</string> <key>Disabled</key> <false/> <key>Find</key> <data> AEFQUExFIFNTRAA= </data> <key>Name</key> <string>IOAHCIBlockStorage</string> <key>Replace</key> <data> AAAAAAAAAAAAAAA= </data> </dict> <dict> <key>Comment</key> <string>Boot graphics glitch, 10.12.dp1 (credit denskop)</string> <key>Find</key> <data> AQAAdSU= </data> <key>Name</key> <string>IOGraphicsFamily</string> <key>Replace</key> <data> AQAA6yU= </data> </dict> <dict> <key>Comment</key> <string>Boot graphics glitch, 10.10.x/10.11.x (credit lisai9093, cecekpawon)</string> <key>Find</key> <data> AQAAdRc= </data> <key>Name</key> <string>IOGraphicsFamily</string> <key>Replace</key> <data> AQAA6xc= </data> </dict> <dict> <key>Comment</key> <string>AirPortBrcm4360 whitelist patch (board-id), 10.12.dp1, credit RehabMan</string> <key>Find</key> <data> MdtMO33YdRI= </data> <key>Name</key> <string>AirPortBrcm4360</string> <key>Replace</key> <data> Mdv/w5CQkJA= </data> </dict> <dict> <key>Comment</key> <string>AirPortBrcm4360 whitelist patch (board-id), 10.11.x, credit RehabMan</string> <key>Find</key> <data> MdtMO2XYdRI= </data> <key>Name</key> <string>AirPortBrcm4360</string> <key>Replace</key> <data> Mdv/w5CQkJA= </data> </dict> <dict> <key>Comment</key> <string>AirPortBrcm4360 whitelist patch (board-id), 10.10.5, credit RehabMan</string> <key>Find</key> <data> MdtJiwQkSDtF2HUS </data> <key>Name</key> <string>AirPortBrcm4360</string> <key>Replace</key> <data> Mdv/w5CQkJCQkJCQ </data> </dict> <dict> <key>Comment</key> <string>10.9.5 5Ghz US FCC, svko</string> <key>Find</key> <data> WFQAIBcnIAAA </data> <key>Name</key> <string>AirPortBrcm4360</string> <key>Replace</key> <data> WFQAG2cxlQAJ </data> </dict> <dict> <key>Comment</key> <string>10.10.2+ 5Ghz US FCC, the-darkvoid</string> <key>Find</key> <data> QYP8/3QsSA== </data> <key>Name</key> <string>AirPortBrcm4360</string> <key>Replace</key> <data> ZscGVVPrKw== </data> </dict> <dict> <key>Comment</key> <string>10.10.2+ BT4LE-Handoff-Hotspot, Dokterdok</string> <key>Find</key> <data> SIXAdFwPt0g= </data> <key>Name</key> <string>IOBluetoothFamily</string> <key>Replace</key> <data> Qb4PAAAA61k= </data> </dict> <dict> <key>Comment</key> <string>10.11.dp1+ BT4LE-Handoff-Hotspot, credit RehabMan based on Dokterdok original</string> <key>Find</key> <data> SIX/dEdIiwc= </data> <key>Name</key> <string>IOBluetoothFamily</string> <key>Replace</key> <data> Qb4PAAAA60Q= </data> </dict> <dict> <key>Comment</key> <string>HDMI-audio HD3000, 0x00010000, port 0406</string> <key>Disabled</key> <false/> <key>Find</key> <data> BAYAAAAEAAAJAAAA </data> <key>Name</key> <string>AppleIntelSNBGraphicsFB</string> <key>Replace</key> <data> BAYAAAAIAAAJAAAA </data> </dict> <dict> <key>Comment</key> <string>HDMI-video, 64MB BIOS, HD4000 0x01660004 #1 of 2</string> <key>Find</key> <data> BABmAQEDAQEAAAAC </data> <key>Name</key> <string>AppleIntelFramebufferCapri</string> <key>Replace</key> <data> BABmAQECBAIAAAAE </data> </dict> <dict> <key>Comment</key> <string>HDMI-video, 64MB BIOS, HD4000 0x01660004 #2 of 2 (order dependency, port 0406 patch)</string> <key>Find</key> <data> MAIAAAAAAAABAAAAQAAAAAAAAAABAAAAQAAAAAAAAAAB AAAAQAAAAAAAAAAAAAAA </data> <key>Name</key> <string>AppleIntelFramebufferCapri</string> <key>Replace</key> <data> MAIAAAIFAAAABAAABwQAAAMEAAAABAAAgQAAAAQGAAAA BAAAgQAAAAAAAAAAAgAR </data> </dict> <dict> <key>Comment</key> <string>HDMI-audio HD4000 0x01660003/0004, port 0406 (order dependency HDMI-video 0x01660004 above)</string> <key>Disabled</key> <false/> <key>Find</key> <data> BAYAAAAEAACBAAAA </data> <key>Name</key> <string>AppleIntelFramebufferCapri</string> <key>Replace</key> <data> BAYAAAAIAAAGAAAA </data> </dict> <dict> <key>Comment</key> <string>IDT 76d9 #1 of 4</string> <key>Disabled</key> <true/> <key>Find</key> <data> PYsZ1BE= </data> <key>Name</key> <string>AppleHDA</string> <key>Replace</key> <data> Pdl2HRE= </data> </dict> <dict> <key>Comment</key> <string>IDT 76d9 #2 of 4</string> <key>Disabled</key> <true/> <key>Find</key> <data> PYQZ1BE= </data> <key>Name</key> <string>AppleHDA</string> <key>Replace</key> <data> PQAAAAA= </data> </dict> <dict> <key>Comment</key> <string>IDT 76d9 #3 of 4</string> <key>Disabled</key> <true/> <key>Find</key> <data> PYMZ1BE= </data> <key>Name</key> <string>AppleHDA</string> <key>Replace</key> <data> PQAAAAA= </data> </dict> <dict> <key>Comment</key> <string>IDT 76d9 #4 of 4</string> <key>Disabled</key> <true/> <key>Find</key> <data> PYoZ1BE= </data> <key>Name</key> <string>AppleHDA</string> <key>Replace</key> <data> PQAAAAA= </data> </dict> </array> Link to comment Share on other sites More sharing options...
shaggymane Posted January 19, 2017 Share Posted January 19, 2017 do I need to apply airport fix in order to use the Apple Store? If so I can't use the fix because it causes kernel panic Link to comment Share on other sites More sharing options...
Maniac10 Posted January 20, 2017 Share Posted January 20, 2017 Who have a problem with 23702 please show your set of KernelAndKextPatches. Is there any empty patch? None disabled nor empty, though I do have a copy of KextsToPatch called #KextsToPatch where I moved some patches I can't use with this motherboard. <key>KernelAndKextPatches</key> <dict> <key>#KextsToPatch</key> <array> <dict> <key>Comment</key> <string>USB3 - Patch MSI or pin interrupts 2</string> <key>Find</key> <data> QcdHCAAAQAA= </data> <key>Name</key> <string>AppleUSBXHCI</string> <key>Replace</key> <data> QcdHCAAAAAA= </data> </dict> <dict> <key>Comment</key> <string>USB3 - Patch MSI or pin interrupts 1</string> <key>Find</key> <data> gUkIAABAAA== </data> <key>Name</key> <string>AppleUSBXHCI</string> <key>Replace</key> <data> gUkIAAAAAA== </data> </dict> <dict> <key>Comment</key> <string>USB3 - Disable Intel USB3.0 10.10</string> <key>Find</key> <data> 9oDUAAAAgHU0 </data> <key>Name</key> <string>AppleUSBXHCI</string> <key>Replace</key> <data> 9oDUAAAAgOs0 </data> </dict> <dict> <key>Comment</key> <string>USB3 - Disable XHCI 1.0 check 10.10</string> <key>Find</key> <data> QbzHAgDgPQABAAA= </data> <key>Name</key> <string>AppleUSBXHCI</string> <key>Replace</key> <data> QbzHAgDgPQAAAAA= </data> </dict> <dict> <key>Comment</key> <string>USB3 - Enable PCI power management</string> <key>Find</key> <data> dU1Ii7voAQAA </data> <key>Name</key> <string>AppleUSBXHCI</string> <key>Replace</key> <data> 601Ii7voAQAA </data> </dict> </array> <key>AppleRTC</key> <true/> <key>AsusAICPUPM</key> <true/> <key>KernelPm</key> <false/> <key>KextsToPatch</key> <array> <dict> <key>Comment</key> <string>Fix Orange Disk</string> <key>Find</key> <data> RXh0ZXJuYWw= </data> <key>Name</key> <string>AppleAHCIPort</string> <key>Replace</key> <data> SW50ZXJuYWw= </data> </dict> <dict> <key>Comment</key> <string>Wi-Fi Region to RoW</string> <key>Find</key> <data> D7eH3AQAAA== </data> <key>Name</key> <string>AirPortAtheros40</string> <key>Replace</key> <data> uGoAAACQkA== </data> </dict> </array> </dict> Link to comment Share on other sites More sharing options...
liujianwei Posted January 20, 2017 Share Posted January 20, 2017 <key>KernelAndKextPatches</key> <dict> <key>AppleRTC</key> <true/> </dict> Link to comment Share on other sites More sharing options...
Micky1979 Posted January 20, 2017 Share Posted January 20, 2017 mine: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <dict> <key>MatchBuild</key> <string>158778 16B2555</string> <key>MatchOS</key> <string>10.7.x,10.8.x,10.9.x,10.10.x,10.11.x,10.12.x</string> <key>Comment</key> <string>Enable TRIM for SSD</string> <key>Find</key> <data>AEFQUExFIFNTRAA=</data> <key>Name</key> <string>IOAHCIBlockStorage</string> <key>Replace</key> <data>AAAAAAAAAAAAAAA=</data> </dict> <dict> <key>MatchOS</key> <string>10.7.x,10.8.x,10.9.x,10.10.x,10.11.x,10.12.x</string> <key>Comment</key> <string>remove usb limit</string> <key>Find</key> <data>g72M/v//EA==</data> <key>Name</key> <string>AppleUSBXHCIPCI</string> <key>Replace</key> <data>g72M/v//Fg==</data> </dict> <dict> <key>MatchOS</key> <string>10.7.x,10.8.x,10.9.x,10.10.x,10.11.x</string> <key>Comment</key> <string>Zeroing 11d41983 codec</string> <key>Find</key> <data>gxnUEQ==</data> <key>Name</key> <string>AppleHDA</string> <key>Replace</key> <data>AAAAAA==</data> </dict> <dict> <key>MatchOS</key> <string>10.12.x</string> <key>Comment</key> <string>Zeroing 11d4198a codec (patched by AppleHDA Patcher.app)</string> <key>Find</key> <data>ihnUEQ==</data> <key>Name</key> <string>AppleHDA</string> <key>Replace</key> <data>AAAAAA==</data> </dict> <dict> <key>Comment</key> <string>Zeroing 11d41984 codec (patched by AppleHDA Patcher.app)</string> <key>Find</key> <data>hBnUEQ==</data> <key>Name</key> <string>AppleHDA</string> <key>Replace</key> <data>AAAAAA==</data> </dict> <dict> <key>Comment</key> <string>Patching 11d4198b with 111d76e0 codec (patched by AppleHDA Patcher.app)</string> <key>Find</key> <data>ixnUEQ==</data> <key>Name</key> <string>AppleHDA</string> <key>Replace</key> <data>4HYdEQ==</data> </dict> </array> </plist> BTW commit r23702 introduce the "S" variant of some string functions and they later have done some corrections. the bug form me is in SafeString.c.Maybe we should focus on strings that apparently contains some format string like '#', 'X' etc.?? (wont say something stupid.. but.. looks at Maniac10's config) # Used with o, x or X specifiers the value is preceded with 0, 0x or 0X respectively for values different than zero. Used with e, E and f, it forces the written output to contain a decimal point even if no digits would follow. By default, if no digits follow, no decimal point is written. Used with g or G the result is the same as with e or E but trailing zeros are not removed. @Maniac10 could you try w/o your unused #KextsToPatch? Link to comment Share on other sites More sharing options...
smolderas Posted January 20, 2017 Share Posted January 20, 2017 I've been having in the latest weeks the issue that my BIOS get reset after restarting (gigabyte), although I have AppleRTC set true. I'm booting legacy. Does anyone else have the same issue. I'm now running the latest clover with the latest compatible edk2 version. It is also possible that my mainboard dies... Link to comment Share on other sites More sharing options...
Maniac10 Posted January 20, 2017 Share Posted January 20, 2017 (edited) mine: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <dict> <key>MatchBuild</key> <string>158778 16B2555</string> <key>MatchOS</key> <string>10.7.x,10.8.x,10.9.x,10.10.x,10.11.x,10.12.x</string> <key>Comment</key> <string>Enable TRIM for SSD</string> <key>Find</key> <data>AEFQUExFIFNTRAA=</data> <key>Name</key> <string>IOAHCIBlockStorage</string> <key>Replace</key> <data>AAAAAAAAAAAAAAA=</data> </dict> <dict> <key>MatchOS</key> <string>10.7.x,10.8.x,10.9.x,10.10.x,10.11.x,10.12.x</string> <key>Comment</key> <string>remove usb limit</string> <key>Find</key> <data>g72M/v//EA==</data> <key>Name</key> <string>AppleUSBXHCIPCI</string> <key>Replace</key> <data>g72M/v//Fg==</data> </dict> <dict> <key>MatchOS</key> <string>10.7.x,10.8.x,10.9.x,10.10.x,10.11.x</string> <key>Comment</key> <string>Zeroing 11d41983 codec</string> <key>Find</key> <data>gxnUEQ==</data> <key>Name</key> <string>AppleHDA</string> <key>Replace</key> <data>AAAAAA==</data> </dict> <dict> <key>MatchOS</key> <string>10.12.x</string> <key>Comment</key> <string>Zeroing 11d4198a codec (patched by AppleHDA Patcher.app)</string> <key>Find</key> <data>ihnUEQ==</data> <key>Name</key> <string>AppleHDA</string> <key>Replace</key> <data>AAAAAA==</data> </dict> <dict> <key>Comment</key> <string>Zeroing 11d41984 codec (patched by AppleHDA Patcher.app)</string> <key>Find</key> <data>hBnUEQ==</data> <key>Name</key> <string>AppleHDA</string> <key>Replace</key> <data>AAAAAA==</data> </dict> <dict> <key>Comment</key> <string>Patching 11d4198b with 111d76e0 codec (patched by AppleHDA Patcher.app)</string> <key>Find</key> <data>ixnUEQ==</data> <key>Name</key> <string>AppleHDA</string> <key>Replace</key> <data>4HYdEQ==</data> </dict> </array> </plist> BTW commit r23702 introduce the "S" variant of some string functions and they later have done some corrections. the bug form me is in SafeString.c.Maybe we should focus on strings that apparently contains some format string like '#', 'X' etc.?? (wont say something stupid.. but.. looks at Maniac10's config) # Used with o, x or X specifiers the value is preceded with 0, 0x or 0X respectively for values different than zero. Used with e, E and f, it forces the written output to contain a decimal point even if no digits would follow. By default, if no digits follow, no decimal point is written. Used with g or G the result is the same as with e or E but trailing zeros are not removed. @Maniac10 could you try w/o your unused #KextsToPatch? Sure, I'll try it tonight. EDIT: It didn't boot either. Edited January 21, 2017 by Maniac10 Link to comment Share on other sites More sharing options...
Recommended Posts