Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
OpenCorePKG_MOD
提交
44ec67ee
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,发现更多精彩内容 >>
提交
44ec67ee
编写于
1月 07, 2021
作者:
P
PMheart
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ocvalidate: Add checks for OpenCanopy and PickerMode
上级
4d8b7aa8
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
34 addition
and
4 deletion
+34
-4
Utilities/ocvalidate/README.md
Utilities/ocvalidate/README.md
+2
-1
Utilities/ocvalidate/ValidateMisc.c
Utilities/ocvalidate/ValidateMisc.c
+14
-3
Utilities/ocvalidate/ValidateUEFI.c
Utilities/ocvalidate/ValidateUEFI.c
+18
-0
未找到文件。
Utilities/ocvalidate/README.md
浏览文件 @
44ec67ee
...
@@ -64,7 +64,7 @@ Utility to validate whether a `config.plist` matches requirements and convention
...
@@ -64,7 +64,7 @@ Utility to validate whether a `config.plist` matches requirements and convention
### Misc
### Misc
#### Boot
#### Boot
-
HibernateMode: Only
`None`
,
`Auto`
,
`RTC`
, or
`NVRAM`
are accepted.
-
HibernateMode: Only
`None`
,
`Auto`
,
`RTC`
, or
`NVRAM`
are accepted.
-
PickerMode: Only
`Builtin`
,
`External`
, or
`Apple`
are accepted.
-
PickerMode: Only
`Builtin`
,
`External`
, or
`Apple`
are accepted.
When set to
`External`
,
`OpenCanopy.efi`
should be loaded in
`UEFI->Drivers`
.
-
`PickerAudioAssist`
requires
`AudioSupport`
in
`UEFI->Audio`
to be enabled.
-
`PickerAudioAssist`
requires
`AudioSupport`
in
`UEFI->Audio`
to be enabled.
#### Security
#### Security
-
AuthRestart: If enabled,
`VirtualSMC.kext`
should be present in
`Kernel->Add`
.
-
AuthRestart: If enabled,
`VirtualSMC.kext`
should be present in
`Kernel->Add`
.
...
@@ -95,6 +95,7 @@ Utility to validate whether a `config.plist` matches requirements and convention
...
@@ -95,6 +95,7 @@ Utility to validate whether a `config.plist` matches requirements and convention
-
When
`Ps2KeyboardDxe.efi`
is in use,
`KeySupport`
in
`UEFI->Input`
should always be enabled altogether.
-
When
`Ps2KeyboardDxe.efi`
is in use,
`KeySupport`
in
`UEFI->Input`
should always be enabled altogether.
-
`OpenUsbKbDxe.efi`
and
`Ps2KeyboardDxe.efi`
should never co-exist.
-
`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 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`
.
#### Input
#### Input
-
KeySupportMode: Only
`Auto`
,
`V1`
,
`V2`
, or
`AMI`
are accepted.
-
KeySupportMode: Only
`Auto`
,
`V1`
,
`V2`
, or
`AMI`
are accepted.
-
When
`PointerSupport`
is enabled, the value of
`PointerSupportMode`
should only be
`ASUS`
.
-
When
`PointerSupport`
is enabled, the value of
`PointerSupportMode`
should only be
`ASUS`
.
...
...
Utilities/ocvalidate/ValidateMisc.c
浏览文件 @
44ec67ee
...
@@ -152,6 +152,9 @@ CheckMiscBoot (
...
@@ -152,6 +152,9 @@ CheckMiscBoot (
UINT32
ConsoleAttributes
;
UINT32
ConsoleAttributes
;
CONST
CHAR8
*
HibernateMode
;
CONST
CHAR8
*
HibernateMode
;
UINT32
PickerAttributes
;
UINT32
PickerAttributes
;
UINT32
Index
;
CONST
CHAR8
*
Driver
;
BOOLEAN
HasOpenCanopyEfiDriver
;
CONST
CHAR8
*
PickerMode
;
CONST
CHAR8
*
PickerMode
;
CONST
CHAR8
*
PickerVariant
;
CONST
CHAR8
*
PickerVariant
;
BOOLEAN
IsPickerAudioAssistEnabled
;
BOOLEAN
IsPickerAudioAssistEnabled
;
...
@@ -182,15 +185,23 @@ CheckMiscBoot (
...
@@ -182,15 +185,23 @@ CheckMiscBoot (
++
ErrorCount
;
++
ErrorCount
;
}
}
//
HasOpenCanopyEfiDriver
=
FALSE
;
// FIXME: Is OpenCanopy.efi mandatory if set to External? Or is this just a suggestion?
for
(
Index
=
0
;
Index
<
UserUefi
->
Drivers
.
Count
;
++
Index
)
{
//
Driver
=
OC_BLOB_GET
(
UserUefi
->
Drivers
.
Values
[
Index
]);
if
(
AsciiStrCmp
(
Driver
,
"OpenCanopy.efi"
)
==
0
)
{
HasOpenCanopyEfiDriver
=
TRUE
;
}
}
PickerMode
=
OC_BLOB_GET
(
&
UserMisc
->
Boot
.
PickerMode
);
PickerMode
=
OC_BLOB_GET
(
&
UserMisc
->
Boot
.
PickerMode
);
if
(
AsciiStrCmp
(
PickerMode
,
"Builtin"
)
!=
0
if
(
AsciiStrCmp
(
PickerMode
,
"Builtin"
)
!=
0
&&
AsciiStrCmp
(
PickerMode
,
"External"
)
!=
0
&&
AsciiStrCmp
(
PickerMode
,
"External"
)
!=
0
&&
AsciiStrCmp
(
PickerMode
,
"Apple"
)
!=
0
)
{
&&
AsciiStrCmp
(
PickerMode
,
"Apple"
)
!=
0
)
{
DEBUG
((
DEBUG_WARN
,
"Misc->Boot->PickerMode is borked (Can only be Builtin, External, or Apple)!
\n
"
));
DEBUG
((
DEBUG_WARN
,
"Misc->Boot->PickerMode is borked (Can only be Builtin, External, or Apple)!
\n
"
));
++
ErrorCount
;
++
ErrorCount
;
}
else
if
(
AsciiStrCmp
(
PickerMode
,
"External"
)
==
0
&&
!
HasOpenCanopyEfiDriver
)
{
DEBUG
((
DEBUG_WARN
,
"Misc->Boot->PickerMode is set to External, but OpenCanopy is not loaded at UEFI->Drivers!
\n
"
));
++
ErrorCount
;
}
}
PickerVariant
=
OC_BLOB_GET
(
&
UserMisc
->
Boot
.
PickerVariant
);
PickerVariant
=
OC_BLOB_GET
(
&
UserMisc
->
Boot
.
PickerVariant
);
...
...
Utilities/ocvalidate/ValidateUEFI.c
浏览文件 @
44ec67ee
...
@@ -179,6 +179,7 @@ CheckUEFIDrivers (
...
@@ -179,6 +179,7 @@ CheckUEFIDrivers (
{
{
UINT32
ErrorCount
;
UINT32
ErrorCount
;
OC_UEFI_CONFIG
*
UserUefi
;
OC_UEFI_CONFIG
*
UserUefi
;
OC_MISC_CONFIG
*
UserMisc
;
UINT32
Index
;
UINT32
Index
;
CONST
CHAR8
*
Driver
;
CONST
CHAR8
*
Driver
;
BOOLEAN
HasOpenRuntimeEfiDriver
;
BOOLEAN
HasOpenRuntimeEfiDriver
;
...
@@ -190,12 +191,16 @@ CheckUEFIDrivers (
...
@@ -190,12 +191,16 @@ CheckUEFIDrivers (
UINT32
IndexHfsEfiDriver
;
UINT32
IndexHfsEfiDriver
;
BOOLEAN
HasAudioDxeEfiDriver
;
BOOLEAN
HasAudioDxeEfiDriver
;
UINT32
IndexAudioDxeEfiDriver
;
UINT32
IndexAudioDxeEfiDriver
;
BOOLEAN
HasOpenCanopyEfiDriver
;
UINT32
IndexOpenCanopyEfiDriver
;
CONST
CHAR8
*
PickerMode
;
BOOLEAN
IsRequestBootVarRoutingEnabled
;
BOOLEAN
IsRequestBootVarRoutingEnabled
;
BOOLEAN
IsKeySupportEnabled
;
BOOLEAN
IsKeySupportEnabled
;
BOOLEAN
IsConnectDriversEnabled
;
BOOLEAN
IsConnectDriversEnabled
;
ErrorCount
=
0
;
ErrorCount
=
0
;
UserUefi
=
&
Config
->
Uefi
;
UserUefi
=
&
Config
->
Uefi
;
UserMisc
=
&
Config
->
Misc
;
HasOpenRuntimeEfiDriver
=
FALSE
;
HasOpenRuntimeEfiDriver
=
FALSE
;
HasOpenUsbKbDxeEfiDriver
=
FALSE
;
HasOpenUsbKbDxeEfiDriver
=
FALSE
;
...
@@ -205,6 +210,9 @@ CheckUEFIDrivers (
...
@@ -205,6 +210,9 @@ CheckUEFIDrivers (
HasHfsEfiDriver
=
FALSE
;
HasHfsEfiDriver
=
FALSE
;
IndexHfsEfiDriver
=
0
;
IndexHfsEfiDriver
=
0
;
HasAudioDxeEfiDriver
=
FALSE
;
HasAudioDxeEfiDriver
=
FALSE
;
IndexAudioDxeEfiDriver
=
0
;
HasOpenCanopyEfiDriver
=
FALSE
;
IndexOpenCanopyEfiDriver
=
0
;
for
(
Index
=
0
;
Index
<
UserUefi
->
Drivers
.
Count
;
++
Index
)
{
for
(
Index
=
0
;
Index
<
UserUefi
->
Drivers
.
Count
;
++
Index
)
{
Driver
=
OC_BLOB_GET
(
UserUefi
->
Drivers
.
Values
[
Index
]);
Driver
=
OC_BLOB_GET
(
UserUefi
->
Drivers
.
Values
[
Index
]);
...
@@ -240,6 +248,10 @@ CheckUEFIDrivers (
...
@@ -240,6 +248,10 @@ CheckUEFIDrivers (
HasAudioDxeEfiDriver
=
TRUE
;
HasAudioDxeEfiDriver
=
TRUE
;
IndexAudioDxeEfiDriver
=
Index
;
IndexAudioDxeEfiDriver
=
Index
;
}
}
if
(
AsciiStrCmp
(
Driver
,
"OpenCanopy.efi"
)
==
0
)
{
HasOpenCanopyEfiDriver
=
TRUE
;
IndexOpenCanopyEfiDriver
=
Index
;
}
}
}
//
//
...
@@ -295,6 +307,12 @@ CheckUEFIDrivers (
...
@@ -295,6 +307,12 @@ CheckUEFIDrivers (
}
}
}
}
PickerMode
=
OC_BLOB_GET
(
&
UserMisc
->
Boot
.
PickerMode
);
if
(
HasOpenCanopyEfiDriver
&&
AsciiStrCmp
(
PickerMode
,
"External"
)
!=
0
)
{
DEBUG
((
DEBUG_WARN
,
"OpenCanopy.efi is loaded at UEFI->Drivers[%u], but Misc->Boot->PickerMode is not set to External!
\n
"
,
IndexOpenCanopyEfiDriver
));
++
ErrorCount
;
}
return
ErrorCount
;
return
ErrorCount
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录