Show addresses of some EFI structures
This commit is contained in:
parent
1e7cd64f0f
commit
dd406cf5b5
26
main.c
26
main.c
@ -22,6 +22,22 @@ static void write_uint(uint32_t n)
|
|||||||
write_string(&s[11u - i]);
|
write_string(&s[11u - i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void write_ptr(size_t n)
|
||||||
|
{
|
||||||
|
CHAR16 hexchars[] = L"0123456789ABCDEF";
|
||||||
|
CHAR16 s[20] = {0};
|
||||||
|
size_t s_i = 0u;
|
||||||
|
for (size_t i = 0u; i < 16u; i++)
|
||||||
|
{
|
||||||
|
if ((i != 0u) && ((i % 4u) == 0u))
|
||||||
|
{
|
||||||
|
s[s_i++] = L'_';
|
||||||
|
}
|
||||||
|
s[s_i++] = hexchars[(n >> (60u - 4u * i)) & 0xFu];
|
||||||
|
}
|
||||||
|
write_string(s);
|
||||||
|
}
|
||||||
|
|
||||||
static void check_handle(EFI_HANDLE handle)
|
static void check_handle(EFI_HANDLE handle)
|
||||||
{
|
{
|
||||||
EFI_HANDLE interface = NULL;
|
EFI_HANDLE interface = NULL;
|
||||||
@ -42,6 +58,10 @@ static void check_handle(EFI_HANDLE handle)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
write_string(L"interface is at ");
|
||||||
|
write_ptr((size_t)interface);
|
||||||
|
write_string(L"\r\n");
|
||||||
|
|
||||||
EFI_GRAPHICS_OUTPUT_PROTOCOL * gop = (EFI_GRAPHICS_OUTPUT_PROTOCOL *)interface;
|
EFI_GRAPHICS_OUTPUT_PROTOCOL * gop = (EFI_GRAPHICS_OUTPUT_PROTOCOL *)interface;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,6 +79,10 @@ efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE * system_table)
|
|||||||
if (EFI_ERROR(status))
|
if (EFI_ERROR(status))
|
||||||
return status;
|
return status;
|
||||||
|
|
||||||
|
write_string(L"system_table is at ");
|
||||||
|
write_ptr((size_t)system_table);
|
||||||
|
write_string(L"\r\n");
|
||||||
|
|
||||||
EFI_HANDLE buffer[10];
|
EFI_HANDLE buffer[10];
|
||||||
UINTN buffer_size = sizeof(buffer);
|
UINTN buffer_size = sizeof(buffer);
|
||||||
status = system_table->BootServices->LocateHandle(ByProtocol,
|
status = system_table->BootServices->LocateHandle(ByProtocol,
|
||||||
@ -67,7 +91,7 @@ efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE * system_table)
|
|||||||
&buffer_size,
|
&buffer_size,
|
||||||
buffer);
|
buffer);
|
||||||
buffer_size /= sizeof(EFI_HANDLE);
|
buffer_size /= sizeof(EFI_HANDLE);
|
||||||
write_string(L"status = ");
|
write_string(L"LocateHandle status = ");
|
||||||
write_uint(status);
|
write_uint(status);
|
||||||
write_string(L", num entries = ");
|
write_string(L", num entries = ");
|
||||||
write_uint(buffer_size);
|
write_uint(buffer_size);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user