提交 ae0bd3a9 编写于 作者: H Heinrich Schuchardt 提交者: Alexander Graf

efi_loader: write protocol GUID in OpenProtocol

To understand what is happening in OpenProtocol or LocateProtocol
it is necessary to know the protocol interface GUID.
Let's write a debug message.
Signed-off-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: NAlexander Graf <agraf@suse.de>
上级 da94073b
......@@ -17,6 +17,7 @@
int __efi_entry_check(void);
int __efi_exit_check(void);
const char *__efi_nesting(void);
const char *__efi_nesting_inc(void);
const char *__efi_nesting_dec(void);
......@@ -51,6 +52,13 @@ const char *__efi_nesting_dec(void);
debug("%sEFI: Return From: %s\n", __efi_nesting_dec(), #exp); \
} while(0)
/*
* Write GUID
*/
#define EFI_PRINT_GUID(txt, guid) ({ \
debug("%sEFI: %s %pUl\n", __efi_nesting(), txt, guid); \
})
extern struct efi_runtime_services efi_runtime_services;
extern struct efi_system_table systab;
......
......@@ -109,6 +109,11 @@ static const char *indent_string(int level)
return &indent[max - level];
}
const char *__efi_nesting(void)
{
return indent_string(nesting_level);
}
const char *__efi_nesting_inc(void)
{
return indent_string(nesting_level++);
......@@ -1021,6 +1026,8 @@ static efi_status_t EFIAPI efi_locate_protocol(efi_guid_t *protocol,
if (!protocol || !protocol_interface)
return EFI_EXIT(EFI_INVALID_PARAMETER);
EFI_PRINT_GUID("protocol", protocol);
list_for_each(lhandle, &efi_obj_list) {
struct efi_object *efiobj;
......@@ -1134,6 +1141,8 @@ static efi_status_t EFIAPI efi_open_protocol(
goto out;
}
EFI_PRINT_GUID("protocol", protocol);
switch (attributes) {
case EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL:
case EFI_OPEN_PROTOCOL_GET_PROTOCOL:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册