Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
OpenCorePKG_MOD
提交
ae1d0746
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,发现更多精彩内容 >>
提交
ae1d0746
编写于
8月 01, 2022
作者:
P
PMheart
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ocvalidate: Add checks for `LoadEarly`
closes
https://github.com/acidanthera/bugtracker/issues/2099
上级
bd002bbc
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
39 addition
and
11 deletion
+39
-11
Docs/Sample.plist
Docs/Sample.plist
+1
-1
Docs/SampleCustom.plist
Docs/SampleCustom.plist
+1
-1
Utilities/ocvalidate/README.md
Utilities/ocvalidate/README.md
+2
-0
Utilities/ocvalidate/ValidateUefi.c
Utilities/ocvalidate/ValidateUefi.c
+35
-9
未找到文件。
Docs/Sample.plist
浏览文件 @
ae1d0746
...
...
@@ -1421,7 +1421,7 @@
<key>
Enabled
</key>
<false/>
<key>
LoadEarly
</key>
<
fals
e/>
<
tru
e/>
<key>
Path
</key>
<string>
OpenVariableRuntimeDxe.efi
</string>
</dict>
...
...
Docs/SampleCustom.plist
浏览文件 @
ae1d0746
...
...
@@ -1789,7 +1789,7 @@
<key>
Enabled
</key>
<false/>
<key>
LoadEarly
</key>
<
fals
e/>
<
tru
e/>
<key>
Path
</key>
<string>
OpenVariableRuntimeDxe.efi
</string>
</dict>
...
...
Utilities/ocvalidate/README.md
浏览文件 @
ae1d0746
...
...
@@ -125,6 +125,8 @@ Utility to validate whether a `config.plist` matches requirements and convention
-
`OpenUsbKbDxe.efi`
and
`Ps2KeyboardDxe.efi`
should never co-exist.
-
When HFS+ filesystem driver or
`AudioDxe.efi`
is in use,
`ConnectDrivers`
should be enabled altogether.
-
When
`OpenCanopy.efi`
is in use,
`PickerMode`
in
`Misc->Boot`
should be set to
`External`
.
-
When
`OpenVariableRuntimeDxe.efi`
is in use, its
`LoadEarly`
option must be set to
`TRUE`
.
-
When
`OpenVariableRuntimeDxe.efi`
is NOT in use,
`LoadEarly`
for any driver must be set to
`FALSE`
.
#### Input
-
KeySupportMode: Only
`Auto`
,
`V1`
,
`V2`
, or
`AMI`
are accepted.
-
When
`PointerSupport`
is enabled, the value of
`PointerSupportMode`
should only be
`ASUS`
.
...
...
Utilities/ocvalidate/ValidateUefi.c
浏览文件 @
ae1d0746
...
...
@@ -296,6 +296,7 @@ CheckUefiDrivers (
{
UINT32
ErrorCount
;
UINT32
Index
;
UINT32
Index2
;
OC_UEFI_DRIVER_ENTRY
*
DriverEntry
;
CONST
CHAR8
*
Comment
;
CONST
CHAR8
*
Driver
;
...
...
@@ -312,18 +313,20 @@ CheckUefiDrivers (
BOOLEAN
IsRequestBootVarRoutingEnabled
;
BOOLEAN
IsKeySupportEnabled
;
BOOLEAN
IsConnectDriversEnabled
;
BOOLEAN
HasOpenVariableRuntimeDxeEfiDriver
;
ErrorCount
=
0
;
HasOpenRuntimeEfiDriver
=
FALSE
;
HasOpenUsbKbDxeEfiDriver
=
FALSE
;
IndexOpenUsbKbDxeEfiDriver
=
0
;
HasPs2KeyboardDxeEfiDriver
=
FALSE
;
IndexPs2KeyboardDxeEfiDriver
=
0
;
HasHfsEfiDriver
=
FALSE
;
IndexHfsEfiDriver
=
0
;
HasAudioDxeEfiDriver
=
FALSE
;
IndexAudioDxeEfiDriver
=
0
;
HasOpenRuntimeEfiDriver
=
FALSE
;
HasOpenUsbKbDxeEfiDriver
=
FALSE
;
IndexOpenUsbKbDxeEfiDriver
=
0
;
HasPs2KeyboardDxeEfiDriver
=
FALSE
;
IndexPs2KeyboardDxeEfiDriver
=
0
;
HasHfsEfiDriver
=
FALSE
;
IndexHfsEfiDriver
=
0
;
HasAudioDxeEfiDriver
=
FALSE
;
IndexAudioDxeEfiDriver
=
0
;
HasOpenVariableRuntimeDxeEfiDriver
=
FALSE
;
for
(
Index
=
0
;
Index
<
Config
->
Uefi
.
Drivers
.
Count
;
++
Index
)
{
DriverEntry
=
Config
->
Uefi
.
Drivers
.
Values
[
Index
];
Comment
=
OC_BLOB_GET
(
&
DriverEntry
->
Comment
);
...
...
@@ -388,6 +391,29 @@ CheckUefiDrivers (
HasAudioDxeEfiDriver
=
TRUE
;
IndexAudioDxeEfiDriver
=
Index
;
}
if
(
AsciiStrCmp
(
Driver
,
"OpenVariableRuntimeDxe.efi"
)
==
0
)
{
HasOpenVariableRuntimeDxeEfiDriver
=
TRUE
;
if
(
!
DriverEntry
->
LoadEarly
)
{
DEBUG
((
DEBUG_WARN
,
"OpenVariableRuntimeDxe at UEFI->Drivers[%u] must have LoadEarly set to TRUE!
\n
"
,
Index
));
}
}
}
//
// LoadEarly should only be TRUE when OpenVariableRuntimeDxe is used.
//
if
(
!
HasOpenVariableRuntimeDxeEfiDriver
)
{
for
(
Index2
=
0
;
Index2
<
Config
->
Uefi
.
Drivers
.
Count
;
++
Index2
)
{
DriverEntry
=
Config
->
Uefi
.
Drivers
.
Values
[
Index2
];
Driver
=
OC_BLOB_GET
(
&
DriverEntry
->
Path
);
if
(
AsciiStrCmp
(
Driver
,
"OpenVariableRuntimeDxe.efi"
)
!=
0
&&
DriverEntry
->
LoadEarly
)
{
DEBUG
((
DEBUG_WARN
,
"%a at UEFI->Drivers[%u] should have LoadEarly set to FALSE when OpenVariableRuntimeDxe is NOT used!
\n
"
,
Driver
,
Index2
));
++
ErrorCount
;
}
}
}
//
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录