47 if ( !BootCompat->Settings.AvoidRuntimeDefrag
48 && !BootCompat->Settings.DiscardHibernateMap
49 && !BootCompat->Settings.AllowRelocationBlock
50 && !BootCompat->Settings.DisableSingleUser
51 && !BootCompat->Settings.ForceBooterSignature)
59 if (BootCompat->ServiceState.AppleHibernateWake) {
60 RUNTIME_DEBUG ((DEBUG_ERROR,
"OCABC: Cannot patch 32-bit kernel in hibernate wake!\n"));
67 ASSERT (BootCompat->ServiceState.OldKernelCallGate == 0);
73 STATIC CONST UINT8 mEntryBytes[] = {
81 if (BootCompat->KernelState.RelocationBlock != 0) {
86 (VOID *)(UINTN)BootCompat->KernelState.RelocationBlock,
87 BootCompat->KernelState.RelocationBlockUsed,
102 RUNTIME_DEBUG ((DEBUG_ERROR,
"OCABC: No 32-bit kernel entry!\n"));
107 KernelEntry[0] = 0xE8;
109 CopyMem (&KernelEntry[1], &Offset,
sizeof (UINT32));
BOOLEAN FindPattern(IN CONST UINT8 *Pattern, IN CONST UINT8 *PatternMask OPTIONAL, IN CONST UINT32 PatternSize, IN CONST UINT8 *Data, IN UINT32 DataSize, IN OUT UINT32 *DataOff)