Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
OpenCorePKG_MOD
提交
baff5ff5
O
OpenCorePKG_MOD
项目概览
btwise
/
OpenCorePKG_MOD
通知
26
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
OpenCorePKG_MOD
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
baff5ff5
编写于
9月 29, 2022
作者:
P
PMheart
提交者:
GitHub
9月 29, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
OcAppleKernelLib: Add patching status indicator (#386)
上级
c171a4ef
变更
2
展开全部
显示空白变更内容
内联
并排
Showing
2 changed file
with
146 addition
and
122 deletion
+146
-122
Library/OcAppleKernelLib/CommonPatches.c
Library/OcAppleKernelLib/CommonPatches.c
+128
-104
Library/OcAppleKernelLib/CpuidPatches.c
Library/OcAppleKernelLib/CpuidPatches.c
+18
-18
未找到文件。
Library/OcAppleKernelLib/CommonPatches.c
浏览文件 @
baff5ff5
此差异已折叠。
点击以展开。
Library/OcAppleKernelLib/CpuidPatches.c
浏览文件 @
baff5ff5
...
...
@@ -188,7 +188,7 @@ PatchKernelCpuIdLegacy (
//
Status
=
PatcherGetSymbolAddress
(
Patcher
,
IsTiger
?
"_cpuid_get_info"
:
"_cpuid_set_info"
,
(
UINT8
**
)
&
Record
);
if
(
EFI_ERROR
(
Status
)
||
(
Record
>=
Last
))
{
DEBUG
((
DEBUG_WARN
,
"OCAK: Failed to locate _cpuid_%a_info (%p) - %r
\n
"
,
IsTiger
?
"get"
:
"set"
,
Record
,
Status
));
DEBUG
((
DEBUG_WARN
,
"OCAK:
[FAIL]
Failed to locate _cpuid_%a_info (%p) - %r
\n
"
,
IsTiger
?
"get"
:
"set"
,
Record
,
Status
));
return
EFI_NOT_FOUND
;
}
...
...
@@ -245,7 +245,7 @@ PatchKernelCpuIdLegacy (
//
Status
=
PatcherGetSymbolAddress
(
Patcher
,
IsLion
?
"_bzero"
:
"_blkclr"
,
(
UINT8
**
)
&
BlockClearFunc
);
if
(
EFI_ERROR
(
Status
)
||
(
Record
>=
Last
))
{
DEBUG
((
DEBUG_WARN
,
"OCAK: Failed to locate %a (%p) - %r
\n
"
,
IsLion
?
"_bzero"
:
"_blkclr"
,
Record
,
Status
));
DEBUG
((
DEBUG_WARN
,
"OCAK:
[FAIL]
Failed to locate %a (%p) - %r
\n
"
,
IsLion
?
"_bzero"
:
"_blkclr"
,
Record
,
Status
));
return
EFI_NOT_FOUND
;
}
...
...
@@ -537,7 +537,7 @@ PatchKernelCpuIdLegacy (
if
(
IsTigerOld
)
{
Status
=
PatcherGetSymbolAddress
(
Patcher
,
"_tsc_init"
,
(
UINT8
**
)
&
Record
);
if
(
EFI_ERROR
(
Status
)
||
(
Record
>=
Last
))
{
DEBUG
((
DEBUG_WARN
,
"OCAK: Failed to locate _tsc_init (%p) - %r
\n
"
,
Record
,
Status
));
DEBUG
((
DEBUG_WARN
,
"OCAK:
[FAIL]
Failed to locate _tsc_init (%p) - %r
\n
"
,
Record
,
Status
));
return
EFI_NOT_FOUND
;
}
...
...
@@ -771,7 +771,7 @@ PatchKernelCpuIdLegacy (
//
*
StartPointer
++
=
0xC3
;
DEBUG
((
DEBUG_INFO
,
"OCAK: Legacy CPUID patch completed @ %p
\n
"
,
StartPointer
-
Start
));
DEBUG
((
DEBUG_INFO
,
"OCAK:
[OK]
Legacy CPUID patch completed @ %p
\n
"
,
StartPointer
-
Start
));
return
EFI_SUCCESS
;
}
...
...
@@ -825,7 +825,7 @@ PatchKernelCpuId (
{
Status
=
PatchKernelCpuIdLegacy
(
Patcher
,
KernelVersion
,
CpuInfo
,
Data
,
DataMask
,
Start
,
Last
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_WARN
,
"OCAK: Failed to patch legacy CPUID - %r
\n
"
,
Status
));
DEBUG
((
DEBUG_WARN
,
"OCAK:
[FAIL]
Failed to patch legacy CPUID - %r
\n
"
,
Status
));
}
return
Status
;
...
...
@@ -833,7 +833,7 @@ PatchKernelCpuId (
Status
=
PatcherGetSymbolAddress
(
Patcher
,
"_cpuid_set_info"
,
(
UINT8
**
)
&
CpuidSetInfo
);
if
(
EFI_ERROR
(
Status
)
||
(
CpuidSetInfo
>=
Last
))
{
DEBUG
((
DEBUG_WARN
,
"OCAK: Failed to locate _cpuid_set_info (%p) - %r
\n
"
,
CpuidSetInfo
,
Status
));
DEBUG
((
DEBUG_WARN
,
"OCAK:
[FAIL]
Failed to locate _cpuid_set_info (%p) - %r
\n
"
,
CpuidSetInfo
,
Status
));
return
EFI_NOT_FOUND
;
}
...
...
@@ -909,7 +909,7 @@ PatchKernelCpuId (
0x90
);
DEBUG
((
DEBUG_INFO
,
"OCAK: Patch success CPUID release
\n
"
));
DEBUG
((
DEBUG_INFO
,
"OCAK:
[OK]
Patch success CPUID release
\n
"
));
return
EFI_SUCCESS
;
}
}
...
...
@@ -919,7 +919,7 @@ PatchKernelCpuId (
//
Status
=
PatcherGetSymbolAddress
(
Patcher
,
"_cpuid_set_cpufamily"
,
(
UINT8
**
)
&
Record
);
if
(
EFI_ERROR
(
Status
)
||
(
Record
>=
Last
))
{
DEBUG
((
DEBUG_WARN
,
"OCAK: Failed to locate _cpuid_set_cpufamily (%p) - %r
\n
"
,
Record
,
Status
));
DEBUG
((
DEBUG_WARN
,
"OCAK:
[FAIL]
Failed to locate _cpuid_set_cpufamily (%p) - %r
\n
"
,
Record
,
Status
));
return
EFI_NOT_FOUND
;
}
...
...
@@ -941,11 +941,11 @@ PatchKernelCpuId (
FnPatch
->
AppleFamily1
=
FnPatch
->
AppleFamily2
=
OcCpuModelToAppleFamily
(
Eax
);
DEBUG
((
DEBUG_INFO
,
"OCAK: Patch success CPUID debug
\n
"
));
DEBUG
((
DEBUG_INFO
,
"OCAK:
[OK]
Patch success CPUID debug
\n
"
));
return
EFI_SUCCESS
;
}
DEBUG
((
DEBUG_WARN
,
"OCAK: Failed to find either CPUID patch (%u)
\n
"
,
FoundSize
));
DEBUG
((
DEBUG_WARN
,
"OCAK:
[FAIL]
Failed to find either CPUID patch (%u)
\n
"
,
FoundSize
));
return
EFI_UNSUPPORTED
;
}
...
...
@@ -1256,7 +1256,7 @@ PatchProvideCurrentCpuInfoMSR35h (
// Anyone can test/contribute as needed.
//
if
(
KernelVersion
<
KERNEL_VERSION_MOJAVE_MIN
)
{
DEBUG
((
DEBUG_INFO
,
"OCAK: Ignoring CPU INFO for AMP below macOS 10.14
\n
"
));
DEBUG
((
DEBUG_INFO
,
"OCAK:
[OK]
Ignoring CPU INFO for AMP below macOS 10.14
\n
"
));
return
EFI_SUCCESS
;
}
...
...
@@ -1411,7 +1411,7 @@ PatchProvideCurrentCpuInfo (
Status
|=
PatcherGetSymbolValue
(
Patcher
,
"_bus2tsc"
,
&
Bus2TscSymAddr
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_WARN
,
"OCAK: Failed to locate one or more TSC symbols - %r
\n
"
,
Status
));
DEBUG
((
DEBUG_WARN
,
"OCAK:
[FAIL]
Failed to locate one or more TSC symbols - %r
\n
"
,
Status
));
return
EFI_NOT_FOUND
;
}
...
...
@@ -1596,7 +1596,7 @@ PatchProvideCurrentCpuInfo (
if
(
IsTigerCacheUnsupported
)
{
Status
=
PatcherGetSymbolAddress
(
Patcher
,
"_cpuid_info"
,
(
UINT8
**
)
&
Record
);
if
(
EFI_ERROR
(
Status
)
||
(
Record
>=
Last
))
{
DEBUG
((
DEBUG_WARN
,
"OCAK: Failed to locate _cpuid_info (%p) - %r
\n
"
,
Record
,
Status
));
DEBUG
((
DEBUG_WARN
,
"OCAK:
[FAIL]
Failed to locate _cpuid_info (%p) - %r
\n
"
,
Record
,
Status
));
return
EFI_NOT_FOUND
;
}
...
...
@@ -1714,7 +1714,7 @@ PatchProvideCurrentCpuInfo (
//
// XNU would panic here.
//
DEBUG
((
DEBUG_WARN
,
"OCAK: Unable to determine CPU cache line size
\n
"
));
DEBUG
((
DEBUG_WARN
,
"OCAK:
[FAIL]
Unable to determine CPU cache line size
\n
"
));
return
EFI_UNSUPPORTED
;
}
...
...
@@ -1773,10 +1773,10 @@ PatchProvideCurrentCpuInfo (
&
mProvideCurrentCpuInfoZeroMsrThreadCoreCountPatch
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_INFO
,
"OCAK: Failed to find CPU MSR 0x35 default value patch - %r
\n
"
,
Status
));
DEBUG
((
DEBUG_INFO
,
"OCAK:
[FAIL]
Failed to find CPU MSR 0x35 default value patch - %r
\n
"
,
Status
));
}
}
else
{
DEBUG
((
DEBUG_INFO
,
"OCAK: Skipping CPU MSR 0x35 default value patch on %u
\n
"
,
KernelVersion
));
DEBUG
((
DEBUG_INFO
,
"OCAK:
[OK]
Skipping CPU MSR 0x35 default value patch on %u
\n
"
,
KernelVersion
));
}
//
...
...
@@ -1788,10 +1788,10 @@ PatchProvideCurrentCpuInfo (
&
mProvideCurrentCpuInfoTopologyValidationPatch
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_INFO
,
"OCAK: Failed to find CPU topology validation patch - %r
\n
"
,
Status
));
DEBUG
((
DEBUG_INFO
,
"OCAK:
[FAIL]
Failed to find CPU topology validation patch - %r
\n
"
,
Status
));
}
}
else
{
DEBUG
((
DEBUG_INFO
,
"OCAK: Skipping CPU topology validation patch on %u
\n
"
,
KernelVersion
));
DEBUG
((
DEBUG_INFO
,
"OCAK:
[OK]
Skipping CPU topology validation patch on %u
\n
"
,
KernelVersion
));
}
return
EFI_SUCCESS
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录