Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
OpenCorePKG_MOD
提交
69081026
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,发现更多精彩内容 >>
提交
69081026
编写于
4月 07, 2019
作者:
V
vit9696
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
OpenCorePlatform: Provide PlatformNVRAM update
上级
b5ec1ec8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
100 addition
and
2 deletion
+100
-2
Platform/OpenCore/OpenCorePlatform.c
Platform/OpenCore/OpenCorePlatform.c
+100
-2
未找到文件。
Platform/OpenCore/OpenCorePlatform.c
浏览文件 @
69081026
...
...
@@ -25,6 +25,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiRuntimeServicesTableLib.h>
#include <Guid/AppleVariable.h>
STATIC
VOID
OcPlatformUpdateDataHub
(
...
...
@@ -50,7 +52,7 @@ OcPlatformUpdateDataHub (
Data
.
SystemSerialNumber
=
OC_BLOB_GET
(
&
Config
->
PlatformInfo
.
DataHub
.
SystemSerialNumber
);
}
if
(
Config
->
PlatformInfo
.
DataHub
.
SystemUuid
.
Size
==
GUID_STRING_LENGTH
if
(
Config
->
PlatformInfo
.
DataHub
.
SystemUuid
.
Size
==
GUID_STRING_LENGTH
+
1
&&
!
EFI_ERROR
(
AsciiStrToGuid
(
OC_BLOB_GET
(
&
Config
->
PlatformInfo
.
DataHub
.
SystemUuid
),
&
Uuid
)))
{
Data
.
SystemUUID
=
&
Uuid
;
}
...
...
@@ -154,7 +156,7 @@ OcPlatformUpdateSmbios (
Data
.
SystemSerialNumber
=
OC_BLOB_GET
(
&
Config
->
PlatformInfo
.
Smbios
.
SystemSerialNumber
);
}
if
(
Config
->
PlatformInfo
.
DataHub
.
SystemUuid
.
Size
==
GUID_STRING_LENGTH
if
(
Config
->
PlatformInfo
.
DataHub
.
SystemUuid
.
Size
==
GUID_STRING_LENGTH
+
1
&&
!
EFI_ERROR
(
AsciiStrToGuid
(
OC_BLOB_GET
(
&
Config
->
PlatformInfo
.
DataHub
.
SystemUuid
),
&
Uuid
)))
{
Data
.
SystemUUID
=
&
Uuid
;
}
...
...
@@ -234,6 +236,98 @@ OcPlatformUpdateSmbios (
}
}
STATIC
VOID
OcPlatformUpdateNvram
(
IN
OC_GLOBAL_CONFIG
*
Config
)
{
EFI_STATUS
Status
;
CHAR8
*
Bid
;
CHAR8
*
Mlb
;
UINT8
*
Rom
;
Bid
=
OC_BLOB_GET
(
&
Config
->
PlatformInfo
.
Nvram
.
Bid
);
Mlb
=
OC_BLOB_GET
(
&
Config
->
PlatformInfo
.
Nvram
.
Mlb
);
Rom
=
&
Config
->
PlatformInfo
.
Nvram
.
Rom
[
0
];
if
(
Bid
[
0
]
!=
'\0'
)
{
Status
=
gRT
->
SetVariable
(
L"HW_BID"
,
&
gAppleVendorVariableGuid
,
EFI_VARIABLE_BOOTSERVICE_ACCESS
|
EFI_VARIABLE_RUNTIME_ACCESS
,
Config
->
PlatformInfo
.
Nvram
.
Bid
.
Size
-
1
,
Bid
);
DEBUG
((
EFI_ERROR
(
Status
)
?
DEBUG_WARN
:
DEBUG_INFO
,
"OC: Setting HW_BID %a - %r
\n
"
,
Bid
,
Status
));
}
if
(
Rom
[
0
]
!=
0
||
Rom
[
1
]
!=
0
||
Rom
[
2
]
!=
0
||
Rom
[
3
]
!=
0
||
Rom
[
4
]
!=
0
||
Rom
[
5
]
!=
0
)
{
Status
=
gRT
->
SetVariable
(
L"HW_ROM"
,
&
gAppleVendorVariableGuid
,
EFI_VARIABLE_BOOTSERVICE_ACCESS
|
EFI_VARIABLE_RUNTIME_ACCESS
,
sizeof
(
Config
->
PlatformInfo
.
Nvram
.
Rom
)
-
1
,
Rom
);
DEBUG
((
EFI_ERROR
(
Status
)
?
DEBUG_WARN
:
DEBUG_INFO
,
"OC: Setting HW_ROM %a - %r
\n
"
,
Bid
,
Status
));
Status
=
gRT
->
SetVariable
(
L"ROM"
,
&
gAppleVendorVariableGuid
,
EFI_VARIABLE_BOOTSERVICE_ACCESS
|
EFI_VARIABLE_RUNTIME_ACCESS
,
sizeof
(
Config
->
PlatformInfo
.
Nvram
.
Rom
)
-
1
,
Rom
);
DEBUG
((
EFI_ERROR
(
Status
)
?
DEBUG_WARN
:
DEBUG_INFO
,
"OC: Setting ROM %a - %r
\n
"
,
Bid
,
Status
));
}
if
(
Mlb
[
0
]
!=
'\0'
)
{
Status
=
gRT
->
SetVariable
(
L"HW_MLB"
,
&
gAppleVendorVariableGuid
,
EFI_VARIABLE_BOOTSERVICE_ACCESS
|
EFI_VARIABLE_RUNTIME_ACCESS
,
Config
->
PlatformInfo
.
Nvram
.
Mlb
.
Size
-
1
,
Mlb
);
DEBUG
((
EFI_ERROR
(
Status
)
?
DEBUG_WARN
:
DEBUG_INFO
,
"OC: Setting HW_MLB %a - %r
\n
"
,
Bid
,
Status
));
Status
=
gRT
->
SetVariable
(
L"MLB"
,
&
gAppleVendorVariableGuid
,
EFI_VARIABLE_BOOTSERVICE_ACCESS
|
EFI_VARIABLE_RUNTIME_ACCESS
,
Config
->
PlatformInfo
.
Nvram
.
Mlb
.
Size
-
1
,
Mlb
);
DEBUG
((
EFI_ERROR
(
Status
)
?
DEBUG_WARN
:
DEBUG_INFO
,
"OC: Setting MLB %a - %r
\n
"
,
Bid
,
Status
));
}
}
VOID
OcLoadPlatformSupport
(
IN
OC_GLOBAL_CONFIG
*
Config
,
...
...
@@ -273,4 +367,8 @@ OcLoadPlatformSupport (
OcPlatformUpdateSmbios
(
Config
,
CpuInfo
,
SmbiosUpdateMode
);
}
if
(
Config
->
PlatformInfo
.
UpdateNvram
)
{
OcPlatformUpdateNvram
(
Config
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录