Update KernelXCPM for 10.15.4

This commit is contained in:
Sherlocks 2020-03-30 23:11:18 +09:00
parent f7254f53e6
commit 6d19576520

View File

@ -982,10 +982,14 @@ BOOLEAN HaswellEXCPM(VOID *kernelData, LOADER_ENTRY *Entry, BOOLEAN use_xcpm_idl
STATIC UINT8 repl[] = { 0x89, 0xD8, 0x04, 0xC1, 0x3C, 0x22 };
applyKernPatch(kern, find, sizeof(find), repl, comment);
// PMheart: attempt to add 10.15 compatibility
} else if (os_version < AsciiOSVersionToUint64("10.16")) {
} else if (os_version < AsciiOSVersionToUint64("10.15.4")) {
STATIC UINT8 find[] = { 0x8D, 0x43, 0xC4, 0x3C, 0x22 };
STATIC UINT8 repl[] = { 0x8D, 0x43, 0xC1, 0x3C, 0x22 };
applyKernPatch(kern, find, sizeof(find), repl, comment);
} else if (os_version < AsciiOSVersionToUint64("10.16")) {
STATIC UINT8 find[] = { 0x80, 0xC3, 0xC4, 0x80, 0xFB, 0x42 };
STATIC UINT8 repl[] = { 0x80, 0xC3, 0xC1, 0x80, 0xFB, 0x42 };
applyKernPatch(kern, find, sizeof(find), repl, comment);
}
DBG("Searching _xcpm_pkg_scope_msr ...\n");
@ -1142,10 +1146,14 @@ BOOLEAN HaswellLowEndXCPM(VOID *kernelData, LOADER_ENTRY *Entry, BOOLEAN use_xcp
STATIC UINT8 repl[] = { 0x89, 0xD8, 0x04, 0xC6, 0x3C, 0x22 };
applyKernPatch(kern, find, sizeof(find), repl, comment);
// PMheart: attempt to add 10.15 compatibility
} else if (os_version < AsciiOSVersionToUint64("10.16")) {
} else if (os_version < AsciiOSVersionToUint64("10.15.4")) {
STATIC UINT8 find[] = { 0x8D, 0x43, 0xC4, 0x3C, 0x22 };
STATIC UINT8 repl[] = { 0x8D, 0x43, 0xC6, 0x3C, 0x22 };
applyKernPatch(kern, find, sizeof(find), repl, comment);
} else if (os_version < AsciiOSVersionToUint64("10.16")) {
STATIC UINT8 find[] = { 0x80, 0xC3, 0xC4, 0x80, 0xFB, 0x42 };
STATIC UINT8 repl[] = { 0x80, 0xC3, 0xC6, 0x80, 0xFB, 0x42 };
applyKernPatch(kern, find, sizeof(find), repl, comment);
}
comment = "_cpuid_set_info_rdmsr";
@ -1234,10 +1242,14 @@ BOOLEAN KernelIvyBridgeXCPM(VOID *kernelData, LOADER_ENTRY *Entry, BOOLEAN use_x
STATIC UINT8 repl[] = { 0x89, 0xD8, 0x04, 0xC6, 0x3C, 0x22 };
applyKernPatch(kern, find, sizeof(find), repl, comment);
// PMheart: attempt to add 10.15 compatibility
} else if (os_version < AsciiOSVersionToUint64("10.16")) {
} else if (os_version < AsciiOSVersionToUint64("10.15.4")) {
STATIC UINT8 find[] = { 0x8D, 0x43, 0xC4, 0x3C, 0x22 };
STATIC UINT8 repl[] = { 0x8D, 0x43, 0xC6, 0x3C, 0x22 };
applyKernPatch(kern, find, sizeof(find), repl, comment);
} else if (os_version < AsciiOSVersionToUint64("10.16")) {
STATIC UINT8 find[] = { 0x80, 0xC3, 0xC4, 0x80, 0xFB, 0x42 };
STATIC UINT8 repl[] = { 0x80, 0xC3, 0xC6, 0x80, 0xFB, 0x42 };
applyKernPatch(kern, find, sizeof(find), repl, comment);
}
DBG("KernelIvyBridgeXCPM() <===\n");
@ -1382,10 +1394,14 @@ BOOLEAN KernelIvyE5XCPM(VOID *kernelData, LOADER_ENTRY *Entry, BOOLEAN use_xcpm_
STATIC UINT8 repl[] = { 0x89, 0xD8, 0x04, 0xC1, 0x3C, 0x22 };
applyKernPatch(kern, find, sizeof(find), repl, comment);
// PMheart: attempt to add 10.15 compatibility
} else if (os_version < AsciiOSVersionToUint64("10.16")) {
} else if (os_version < AsciiOSVersionToUint64("10.15.4")) {
STATIC UINT8 find[] = { 0x8D, 0x43, 0xC4, 0x3C, 0x22 };
STATIC UINT8 repl[] = { 0x8D, 0x43, 0xC1, 0x3C, 0x22 };
applyKernPatch(kern, find, sizeof(find), repl, comment);
} else if (os_version < AsciiOSVersionToUint64("10.16")) {
STATIC UINT8 find[] = { 0x80, 0xC3, 0xC4, 0x80, 0xFB, 0x42 };
STATIC UINT8 repl[] = { 0x80, 0xC3, 0xC1, 0x80, 0xFB, 0x42 };
applyKernPatch(kern, find, sizeof(find), repl, comment);
}
DBG("KernelIvyE5XCPM() <===\n");