Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
OpenCorePKG_MOD
提交
0ee57bde
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,发现更多精彩内容 >>
提交
0ee57bde
编写于
5月 14, 2020
作者:
V
vit9696
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
OcConsoleLib: Fixed builtin text renderer failing to provide ConsoleControl
上级
b4ade479
变更
23
隐藏空白更改
内联
并排
Showing
23 changed file
with
76 addition
and
59 deletion
+76
-59
Changelog.md
Changelog.md
+1
-0
Include/Library/OcMiscLib.h
Include/Library/OcMiscLib.h
+17
-1
Library/OcAppleBootPolicyLib/OcAppleBootPolicyLib.c
Library/OcAppleBootPolicyLib/OcAppleBootPolicyLib.c
+1
-1
Library/OcAppleEventLib/OcAppleEventLib.c
Library/OcAppleEventLib/OcAppleEventLib.c
+1
-1
Library/OcAppleImageConversionLib/OcAppleImageConversionLib.c
...ary/OcAppleImageConversionLib/OcAppleImageConversionLib.c
+1
-1
Library/OcAppleKeyMapLib/OcAppleKeyMapLib.c
Library/OcAppleKeyMapLib/OcAppleKeyMapLib.c
+2
-2
Library/OcAppleSecureBootLib/OcAppleSecureBootLib.c
Library/OcAppleSecureBootLib/OcAppleSecureBootLib.c
+1
-1
Library/OcAppleUserInterfaceThemeLib/OcAppleUserInterfaceThemeLib.c
...AppleUserInterfaceThemeLib/OcAppleUserInterfaceThemeLib.c
+1
-1
Library/OcAudioLib/OcAudioLib.c
Library/OcAudioLib/OcAudioLib.c
+1
-1
Library/OcConsoleLib/ConsoleControl.c
Library/OcConsoleLib/ConsoleControl.c
+4
-4
Library/OcConsoleLib/TextOutputBuiltin.c
Library/OcConsoleLib/TextOutputBuiltin.c
+5
-6
Library/OcConsoleLib/TextOutputSystem.c
Library/OcConsoleLib/TextOutputSystem.c
+2
-2
Library/OcDataHubLib/OcDataHubLib.c
Library/OcDataHubLib/OcDataHubLib.c
+1
-1
Library/OcDebugLogLib/OcAppleLog.c
Library/OcDebugLogLib/OcAppleLog.c
+1
-1
Library/OcDevicePropertyLib/OcDevicePropertyLib.c
Library/OcDevicePropertyLib/OcDevicePropertyLib.c
+1
-1
Library/OcHashServicesLib/OcHashServicesLib.c
Library/OcHashServicesLib/OcHashServicesLib.c
+1
-1
Library/OcMiscLib/ProtocolSupport.c
Library/OcMiscLib/ProtocolSupport.c
+26
-1
Library/OcOSInfoLib/OcOSInfoLib.c
Library/OcOSInfoLib/OcOSInfoLib.c
+1
-1
Library/OcRtcLib/AppleRtcRam.c
Library/OcRtcLib/AppleRtcRam.c
+1
-1
Library/OcSmcLib/OcSmcLib.c
Library/OcSmcLib/OcSmcLib.c
+1
-1
Library/OcUnicodeCollationEngLib/OcUnicodeCollationEngGeneric.c
...y/OcUnicodeCollationEngLib/OcUnicodeCollationEngGeneric.c
+1
-1
Platform/OpenCanopy/Input/InputSimAbsPtr.c
Platform/OpenCanopy/Input/InputSimAbsPtr.c
+4
-29
Platform/OpenCanopy/OpenCanopy.inf
Platform/OpenCanopy/OpenCanopy.inf
+1
-0
未找到文件。
Changelog.md
浏览文件 @
0ee57bde
...
...
@@ -26,6 +26,7 @@ OpenCore Changelog
-
Added
`DeduplicateBootOrder`
UEFI quirk
-
Removed
`DirectGopCacheMode`
due to being ineffective
-
Fixed assertions on log exhaustion causing boot failures
-
Fixed builtin text renderer failing to provide ConsoleControl
#### v0.5.8
-
Fixed invalid CPU object reference in SSDT-PLUG
...
...
Include/Library/OcMiscLib.h
浏览文件 @
0ee57bde
...
...
@@ -74,10 +74,26 @@ GetArguments (
@retval EFI_SUCCESS on success.
**/
EFI_STATUS
UninstallAllProtocolInstances
(
Oc
UninstallAllProtocolInstances
(
EFI_GUID
*
Protocol
);
/**
Handle protocol on handle and fallback to any protocol when missing.
@param[in] Handle Handle to search for protocol.
@param[in] Protocol Protocol to search for.
@param[out] Interface Protocol interface if found.
@retval EFI_SUCCESS on success.
**/
EFI_STATUS
OcHandleProtocolFallback
(
IN
EFI_HANDLE
Handle
,
IN
EFI_GUID
*
Protocol
,
OUT
VOID
**
Interface
);
/**
Release UEFI ownership from USB controllers at booting.
**/
...
...
Library/OcAppleBootPolicyLib/OcAppleBootPolicyLib.c
浏览文件 @
0ee57bde
...
...
@@ -1658,7 +1658,7 @@ OcAppleBootPolicyInstallProtocol (
EFI_HANDLE
Handle
;
if
(
Reinstall
)
{
Status
=
UninstallAllProtocolInstances
(
&
gAppleBootPolicyProtocolGuid
);
Status
=
Oc
UninstallAllProtocolInstances
(
&
gAppleBootPolicyProtocolGuid
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_ERROR
,
"OCBP: Uninstall failed: %r
\n
"
,
Status
));
return
NULL
;
...
...
Library/OcAppleEventLib/OcAppleEventLib.c
浏览文件 @
0ee57bde
...
...
@@ -563,7 +563,7 @@ OcAppleEventInstallProtocol (
DEBUG
((
DEBUG_VERBOSE
,
"OcAppleEventInstallProtocol
\n
"
));
if
(
Reinstall
)
{
Status
=
UninstallAllProtocolInstances
(
&
gAppleEventProtocolGuid
);
Status
=
Oc
UninstallAllProtocolInstances
(
&
gAppleEventProtocolGuid
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_ERROR
,
"OCAE: Uninstall failed: %r
\n
"
,
Status
));
return
NULL
;
...
...
Library/OcAppleImageConversionLib/OcAppleImageConversionLib.c
浏览文件 @
0ee57bde
...
...
@@ -231,7 +231,7 @@ OcAppleImageConversionInstallProtocol (
EFI_HANDLE
NewHandle
;
if
(
Reinstall
)
{
Status
=
UninstallAllProtocolInstances
(
&
gAppleImageConversionProtocolGuid
);
Status
=
Oc
UninstallAllProtocolInstances
(
&
gAppleImageConversionProtocolGuid
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_ERROR
,
"OCIC: Uninstall failed: %r
\n
"
,
Status
));
return
NULL
;
...
...
Library/OcAppleKeyMapLib/OcAppleKeyMapLib.c
浏览文件 @
0ee57bde
...
...
@@ -595,8 +595,8 @@ OcAppleKeyMapInstallProtocols (
APPLE_KEY_MAP_AGGREGATOR_PROTOCOL
*
Aggregator
;
if
(
Reinstall
)
{
Status
=
UninstallAllProtocolInstances
(
&
gAppleKeyMapDatabaseProtocolGuid
);
Status2
=
UninstallAllProtocolInstances
(
&
gAppleKeyMapAggregatorProtocolGuid
);
Status
=
Oc
UninstallAllProtocolInstances
(
&
gAppleKeyMapDatabaseProtocolGuid
);
Status2
=
Oc
UninstallAllProtocolInstances
(
&
gAppleKeyMapAggregatorProtocolGuid
);
if
(
EFI_ERROR
(
Status
)
||
EFI_ERROR
(
Status2
))
{
DEBUG
((
DEBUG_ERROR
,
"OCKM: Uninstall failed: %r/%r
\n
"
,
Status
,
Status2
));
return
NULL
;
...
...
Library/OcAppleSecureBootLib/OcAppleSecureBootLib.c
浏览文件 @
0ee57bde
...
...
@@ -998,7 +998,7 @@ OcAppleSecureBootInstallProtocol (
UINTN
DataSize
;
if
(
Reinstall
)
{
Status
=
UninstallAllProtocolInstances
(
&
gAppleSecureBootProtocolGuid
);
Status
=
Oc
UninstallAllProtocolInstances
(
&
gAppleSecureBootProtocolGuid
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_ERROR
,
"OCSB: Uninstall failed: %r
\n
"
,
Status
));
return
NULL
;
...
...
Library/OcAppleUserInterfaceThemeLib/OcAppleUserInterfaceThemeLib.c
浏览文件 @
0ee57bde
...
...
@@ -55,7 +55,7 @@ OcAppleUserInterfaceThemeInstallProtocol (
EFI_HANDLE
NewHandle
;
if
(
Reinstall
)
{
Status
=
UninstallAllProtocolInstances
(
&
gEfiUserInterfaceThemeProtocolGuid
);
Status
=
Oc
UninstallAllProtocolInstances
(
&
gEfiUserInterfaceThemeProtocolGuid
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_ERROR
,
"OCUT: Uninstall failed: %r
\n
"
,
Status
));
return
NULL
;
...
...
Library/OcAudioLib/OcAudioLib.c
浏览文件 @
0ee57bde
...
...
@@ -80,7 +80,7 @@ OcAudioInstallProtocols (
if
(
Reinstall
)
{
for
(
Index
=
0
;
Index
<
ARRAY_SIZE
(
mAudioProtocols
);
++
Index
)
{
Status
=
UninstallAllProtocolInstances
(
mAudioProtocols
[
Index
]);
Status
=
Oc
UninstallAllProtocolInstances
(
mAudioProtocols
[
Index
]);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_ERROR
,
"OCAU: Uninstall %g failed: %r
\n
"
,
mAudioProtocols
[
Index
],
Status
));
return
NULL
;
...
...
Library/OcConsoleLib/ConsoleControl.c
浏览文件 @
0ee57bde
...
...
@@ -34,9 +34,9 @@ OcConsoleControlSetMode (
EFI_CONSOLE_CONTROL_PROTOCOL
*
ConsoleControl
;
EFI_CONSOLE_CONTROL_SCREEN_MODE
OldMode
;
Status
=
gBS
->
LocateProtocol
(
Status
=
OcHandleProtocolFallback
(
&
gST
->
ConsoleOutHandle
,
&
gEfiConsoleControlProtocolGuid
,
NULL
,
(
VOID
*
)
&
ConsoleControl
);
...
...
@@ -80,9 +80,9 @@ OcConsoleControlInstallProtocol (
EFI_STATUS
Status
;
EFI_CONSOLE_CONTROL_PROTOCOL
*
ConsoleControl
;
Status
=
gBS
->
LocateProtocol
(
Status
=
OcHandleProtocolFallback
(
&
gST
->
ConsoleOutHandle
,
&
gEfiConsoleControlProtocolGuid
,
NULL
,
(
VOID
*
)
&
ConsoleControl
);
...
...
Library/OcConsoleLib/TextOutputBuiltin.c
浏览文件 @
0ee57bde
...
...
@@ -21,6 +21,7 @@
#include <Library/DebugLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/OcConsoleLib.h>
#include <Library/OcMiscLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiRuntimeServicesTableLib.h>
#include <Protocol/ConsoleControl.h>
...
...
@@ -432,7 +433,7 @@ AsciiTextReset (
OldTpl
=
gBS
->
RaiseTPL
(
TPL_NOTIFY
);
Status
=
gBS
->
HandleProtocol
(
Status
=
OcHandleProtocolFallback
(
gST
->
ConsoleOutHandle
,
&
gEfiGraphicsOutputProtocolGuid
,
(
VOID
**
)
&
mGraphicsOutput
...
...
@@ -909,11 +910,10 @@ ConsoleControlInstall (
{
EFI_STATUS
Status
;
EFI_CONSOLE_CONTROL_PROTOCOL
*
ConsoleControl
;
EFI_HANDLE
NewHandle
;
Status
=
gBS
->
LocateProtocol
(
Status
=
OcHandleProtocolFallback
(
&
gST
->
ConsoleOutHandle
,
&
gEfiConsoleControlProtocolGuid
,
NULL
,
(
VOID
*
)
&
ConsoleControl
);
...
...
@@ -927,9 +927,8 @@ ConsoleControlInstall (
);
}
NewHandle
=
NULL
;
gBS
->
InstallMultipleProtocolInterfaces
(
&
New
Handle
,
&
gST
->
ConsoleOut
Handle
,
&
gEfiConsoleControlProtocolGuid
,
&
mConsoleControlProtocol
,
NULL
...
...
Library/OcConsoleLib/TextOutputSystem.c
浏览文件 @
0ee57bde
...
...
@@ -148,7 +148,7 @@ ControlledClearScreen (
UINTN
SizeOfInfo
;
EFI_GRAPHICS_OUTPUT_MODE_INFORMATION
*
Info
;
Status
=
gBS
->
HandleProtocol
(
Status
=
OcHandleProtocolFallback
(
gST
->
ConsoleOutHandle
,
&
gEfiGraphicsOutputProtocolGuid
,
(
VOID
**
)
&
GraphicsOutput
...
...
@@ -257,7 +257,7 @@ ConsoleControlSetMode (
mConsoleMode
=
Mode
;
if
(
mClearScreenOnModeSwitch
&&
Mode
==
EfiConsoleControlScreenText
)
{
Status
=
gBS
->
HandleProtocol
(
Status
=
OcHandleProtocolFallback
(
gST
->
ConsoleOutHandle
,
&
gEfiGraphicsOutputProtocolGuid
,
(
VOID
**
)
&
GraphicsOutput
...
...
Library/OcDataHubLib/OcDataHubLib.c
浏览文件 @
0ee57bde
...
...
@@ -53,7 +53,7 @@ OcDataHubInstallProtocol (
EFI_DATA_HUB_PROTOCOL
*
DataHub
;
if
(
Reinstall
)
{
Status
=
UninstallAllProtocolInstances
(
&
gEfiDataHubProtocolGuid
);
Status
=
Oc
UninstallAllProtocolInstances
(
&
gEfiDataHubProtocolGuid
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_ERROR
,
"OCDH: Uninstall failed: %r
\n
"
,
Status
));
return
NULL
;
...
...
Library/OcDebugLogLib/OcAppleLog.c
浏览文件 @
0ee57bde
...
...
@@ -256,7 +256,7 @@ OcAppleDebugLogInstallProtocol (
EFI_HANDLE
Handle
;
if
(
Reinstall
)
{
Status
=
UninstallAllProtocolInstances
(
&
gAppleDebugLogProtocolGuid
);
Status
=
Oc
UninstallAllProtocolInstances
(
&
gAppleDebugLogProtocolGuid
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_ERROR
,
"OCL: Uninstall failed: %r
\n
"
,
Status
));
return
NULL
;
...
...
Library/OcDevicePropertyLib/OcDevicePropertyLib.c
浏览文件 @
0ee57bde
...
...
@@ -796,7 +796,7 @@ OcDevicePathPropertyInstallProtocol (
EFI_HANDLE
Handle
;
if
(
Reinstall
)
{
Status
=
UninstallAllProtocolInstances
(
&
gEfiDevicePathPropertyDatabaseProtocolGuid
);
Status
=
Oc
UninstallAllProtocolInstances
(
&
gEfiDevicePathPropertyDatabaseProtocolGuid
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_ERROR
,
"OCDP: Uninstall failed: %r
\n
"
,
Status
));
return
NULL
;
...
...
Library/OcHashServicesLib/OcHashServicesLib.c
浏览文件 @
0ee57bde
...
...
@@ -197,7 +197,7 @@ OcHashServicesInstallProtocol (
//
// Uninstall all the existing protocol instances (which are not to be trusted).
//
Status
=
UninstallAllProtocolInstances
(
&
gEfiHashServiceBindingProtocolGuid
);
Status
=
Oc
UninstallAllProtocolInstances
(
&
gEfiHashServiceBindingProtocolGuid
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_ERROR
,
"OCHS: Uninstall failed: %r
\n
"
,
Status
));
return
NULL
;
...
...
Library/OcMiscLib/ProtocolSupport.c
浏览文件 @
0ee57bde
...
...
@@ -58,7 +58,7 @@ GetArguments (
}
EFI_STATUS
UninstallAllProtocolInstances
(
Oc
UninstallAllProtocolInstances
(
EFI_GUID
*
Protocol
)
{
...
...
@@ -110,3 +110,28 @@ UninstallAllProtocolInstances (
return
Status
;
}
EFI_STATUS
OcHandleProtocolFallback
(
IN
EFI_HANDLE
Handle
,
IN
EFI_GUID
*
Protocol
,
OUT
VOID
**
Interface
)
{
EFI_STATUS
Status
;
Status
=
gBS
->
HandleProtocol
(
Handle
,
Protocol
,
Interface
);
if
(
EFI_ERROR
(
Status
))
{
Status
=
gBS
->
LocateProtocol
(
Protocol
,
NULL
,
Interface
);
}
return
Status
;
}
Library/OcOSInfoLib/OcOSInfoLib.c
浏览文件 @
0ee57bde
...
...
@@ -205,7 +205,7 @@ OcOSInfoInstallProtocol (
DEBUG
((
DEBUG_VERBOSE
,
"OcOSInfoInstallProtocol
\n
"
));
if
(
Reinstall
)
{
Status
=
UninstallAllProtocolInstances
(
&
gEfiOSInfoProtocolGuid
);
Status
=
Oc
UninstallAllProtocolInstances
(
&
gEfiOSInfoProtocolGuid
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_ERROR
,
"OCOS: Uninstall failed: %r
\n
"
,
Status
));
return
NULL
;
...
...
Library/OcRtcLib/AppleRtcRam.c
浏览文件 @
0ee57bde
...
...
@@ -298,7 +298,7 @@ OcAppleRtcRamInstallProtocol (
DEBUG
((
DEBUG_VERBOSE
,
"OcAppleRtcRamInstallProtocol
\n
"
));
if
(
Reinstall
)
{
Status
=
UninstallAllProtocolInstances
(
&
gAppleRtcRamProtocolGuid
);
Status
=
Oc
UninstallAllProtocolInstances
(
&
gAppleRtcRamProtocolGuid
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_ERROR
,
"OCRTC: Uninstall failed: %r
\n
"
,
Status
));
return
NULL
;
...
...
Library/OcSmcLib/OcSmcLib.c
浏览文件 @
0ee57bde
...
...
@@ -597,7 +597,7 @@ OcSmcIoInstallProtocol (
}
if
(
Reinstall
)
{
Status
=
UninstallAllProtocolInstances
(
&
gAppleSmcIoProtocolGuid
);
Status
=
Oc
UninstallAllProtocolInstances
(
&
gAppleSmcIoProtocolGuid
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_ERROR
,
"OCSMC: Uninstall failed: %r
\n
"
,
Status
));
return
NULL
;
...
...
Library/OcUnicodeCollationEngLib/OcUnicodeCollationEngGeneric.c
浏览文件 @
0ee57bde
...
...
@@ -22,7 +22,7 @@ OcUnicodeCollationEngInstallProtocol (
OcUnicodeCollationInitializeMappingTables
();
if
(
Reinstall
)
{
Status
=
UninstallAllProtocolInstances
(
&
gEfiUnicodeCollation2ProtocolGuid
);
Status
=
Oc
UninstallAllProtocolInstances
(
&
gEfiUnicodeCollation2ProtocolGuid
);
if
(
EFI_ERROR
(
Status
))
{
DEBUG
((
DEBUG_ERROR
,
"OCUC: Uninstall failed: %r
\n
"
,
Status
));
return
NULL
;
...
...
Platform/OpenCanopy/Input/InputSimAbsPtr.c
浏览文件 @
0ee57bde
...
...
@@ -15,6 +15,7 @@
#include <Library/BaseMemoryLib.h>
#include <Library/DebugLib.h>
#include <Library/OcGuardLib.h>
#include <Library/OcMiscLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include "../OpenCanopy.h"
...
...
@@ -333,32 +334,6 @@ InternalUpdateStateAbsolute (
return
EFI_SUCCESS
;
}
STATIC
EFI_STATUS
InternalHandleProtocolFallback
(
IN
EFI_HANDLE
Handle
,
IN
EFI_GUID
*
Protocol
,
OUT
VOID
**
Interface
)
{
EFI_STATUS
Status
;
Status
=
gBS
->
HandleProtocol
(
Handle
,
Protocol
,
Interface
);
if
(
EFI_ERROR
(
Status
))
{
Status
=
gBS
->
LocateProtocol
(
Protocol
,
NULL
,
Interface
);
}
return
Status
;
}
VOID
GuiPointerReset
(
IN
OUT
GUI_POINTER_CONTEXT
*
Context
...
...
@@ -480,7 +455,7 @@ GuiPointerConstruct (
Context
.
X
=
DefaultX
;
Context
.
Y
=
DefaultY
;
Status
=
Internal
HandleProtocolFallback
(
Status
=
Oc
HandleProtocolFallback
(
gST
->
ConsoleInHandle
,
&
gAppleEventProtocolGuid
,
(
VOID
**
)
&
Context
.
AppleEvent
...
...
@@ -519,14 +494,14 @@ GuiPointerConstruct (
}
if
(
EFI_ERROR
(
Status
))
{
Status
=
Internal
HandleProtocolFallback
(
Status
=
Oc
HandleProtocolFallback
(
gST
->
ConsoleInHandle
,
&
gEfiSimplePointerProtocolGuid
,
(
VOID
**
)
&
Context
.
Pointer
);
}
Status2
=
Internal
HandleProtocolFallback
(
Status2
=
Oc
HandleProtocolFallback
(
gST
->
ConsoleInHandle
,
&
gEfiAbsolutePointerProtocolGuid
,
(
VOID
**
)
&
Context
.
AbsPointer
...
...
Platform/OpenCanopy/OpenCanopy.inf
浏览文件 @
0ee57bde
...
...
@@ -72,6 +72,7 @@
OcBootManagementLib
OcCompressionLib
OcGuardLib
OcMiscLib
OcPngLib
OcStorageLib
UefiBootServicesTableLib
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录