Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
OpenCorePKG_MOD
提交
45804a28
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,发现更多精彩内容 >>
提交
45804a28
编写于
6月 12, 2021
作者:
V
vit9696
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
OcAppleKernelLib: Fixed SetApfsTrimTimeout on macOS 12
上级
060e0fc8
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
45 addition
and
4 deletion
+45
-4
Changelog.md
Changelog.md
+1
-0
Include/Acidanthera/Library/OcAppleKernelLib.h
Include/Acidanthera/Library/OcAppleKernelLib.h
+2
-0
Library/OcAppleKernelLib/CommonPatches.c
Library/OcAppleKernelLib/CommonPatches.c
+42
-4
未找到文件。
Changelog.md
浏览文件 @
45804a28
...
...
@@ -7,6 +7,7 @@ OpenCore Changelog
-
Fixed
`PowerTimeoutKernelPanic`
on macOS 12
-
Fixed transparency click detection on OpenCanopy boot entries
-
Added PCI device info dumping to
`SysReport`
-
Fixed
`SetApfsTrimTimeout`
on macOS 12
#### v0.7.0
-
Fixed NVRAM reset on firmware with write-protected
`BootOptionSupport`
...
...
Include/Acidanthera/Library/OcAppleKernelLib.h
浏览文件 @
45804a28
...
...
@@ -125,6 +125,7 @@ typedef enum KERNEL_CACHE_TYPE_ {
#define KERNEL_VERSION_MOJAVE_MIN KERNEL_VERSION (18, 0, 0)
#define KERNEL_VERSION_CATALINA_MIN KERNEL_VERSION (19, 0, 0)
#define KERNEL_VERSION_BIG_SUR_MIN KERNEL_VERSION (20, 0, 0)
#define KERNEL_VERSION_MONTEREY_MIN KERNEL_VERSION (21, 0, 0)
//
// Maximum kernel versions for each release.
...
...
@@ -141,6 +142,7 @@ typedef enum KERNEL_CACHE_TYPE_ {
#define KERNEL_VERSION_HIGH_SIERRA_MAX (KERNEL_VERSION_MOJAVE_MIN - 1)
#define KERNEL_VERSION_MOJAVE_MAX (KERNEL_VERSION_CATALINA_MIN - 1)
#define KERNEL_VERSION_CATALINA_MAX (KERNEL_VERSION_BIG_SUR_MIN - 1)
#define KERNEL_VERSION_BIG_SUR_MAX (KERNEL_VERSION_MONTEREY_MIN - 1)
//
// Prelinked context used for kernel modification.
...
...
Library/OcAppleKernelLib/CommonPatches.c
浏览文件 @
45804a28
...
...
@@ -1970,6 +1970,34 @@ mApfsTimeoutPatch = {
.
Limit
=
0
};
STATIC
UINT8
mApfsTimeoutV2Find
[]
=
{
0x40
,
0x42
,
0x0F
,
0x00
};
STATIC
UINT8
mApfsTimeoutV2Replace
[]
=
{
0x00
,
0x02
,
0x00
,
0x00
};
STATIC
PATCHER_GENERIC_PATCH
mApfsTimeoutV2Patch
=
{
.
Comment
=
DEBUG_POINTER
(
"ApfsTimeout V2"
),
.
Base
=
"_spaceman_scan_free_blocks"
,
.
Find
=
mApfsTimeoutV2Find
,
.
Mask
=
NULL
,
.
Replace
=
mApfsTimeoutV2Replace
,
.
ReplaceMask
=
NULL
,
.
Size
=
sizeof
(
mApfsTimeoutV2Find
),
.
Count
=
2
,
.
Skip
=
0
,
.
Limit
=
4096
};
VOID
PatchSetApfsTimeout
(
IN
UINT32
Timeout
...
...
@@ -1978,6 +2006,7 @@ PatchSetApfsTimeout (
// FIXME: This is really ugly, make quirks take a context param.
DEBUG
((
DEBUG_INFO
,
"OCAK: Registering %u APFS timeout
\n
"
,
Timeout
));
CopyMem
(
&
mApfsTimeoutReplace
[
2
],
&
Timeout
,
sizeof
(
Timeout
));
CopyMem
(
&
mApfsTimeoutV2Replace
[
0
],
&
Timeout
,
sizeof
(
Timeout
));
}
STATIC
...
...
@@ -1998,11 +2027,20 @@ PatchSetApfsTrimTimeout (
return
EFI_NOT_FOUND
;
}
Status
=
PatcherApplyGenericPatch
(
Patcher
,
&
mApfsTimeoutPatch
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_INFO
,
"OCAK: Failed to apply patch SetApfsTrimTimeout - %r
\n
"
,
Status
));
if
(
KernelVersion
>=
KERNEL_VERSION_MONTEREY_MIN
)
{
Status
=
PatcherApplyGenericPatch
(
Patcher
,
&
mApfsTimeoutV2Patch
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_INFO
,
"OCAK: Failed to apply patch SetApfsTrimTimeoutV2 - %r
\n
"
,
Status
));
}
else
{
DEBUG
((
DEBUG_INFO
,
"OCAK: Patch success SetApfsTrimTimeoutV2
\n
"
));
}
}
else
{
DEBUG
((
DEBUG_INFO
,
"OCAK: Patch success SetApfsTrimTimeout
\n
"
));
Status
=
PatcherApplyGenericPatch
(
Patcher
,
&
mApfsTimeoutPatch
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_INFO
,
"OCAK: Failed to apply patch SetApfsTrimTimeout - %r
\n
"
,
Status
));
}
else
{
DEBUG
((
DEBUG_INFO
,
"OCAK: Patch success SetApfsTrimTimeout
\n
"
));
}
}
return
Status
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录