annotate bootx64.c @ 8:b4db4b6c8d00

can open protocol and close protocol
author taiki
date Fri, 28 Mar 2014 21:29:59 +0900
parents 7047eac9c44e
children d6a8d676a1ac
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
8d0e5be5d742 test exit boot services
taiki
parents:
diff changeset
1 #include <efi.h>
8d0e5be5d742 test exit boot services
taiki
parents:
diff changeset
2 #include <efilib.h>
8d0e5be5d742 test exit boot services
taiki
parents:
diff changeset
3
1
259b5f0e03ba add registers.h
taiki
parents: 0
diff changeset
4 #include "registers.h"
259b5f0e03ba add registers.h
taiki
parents: 0
diff changeset
5
0
8d0e5be5d742 test exit boot services
taiki
parents:
diff changeset
6 EFI_STATUS
8d0e5be5d742 test exit boot services
taiki
parents:
diff changeset
7 efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *systab)
8d0e5be5d742 test exit boot services
taiki
parents:
diff changeset
8 {
8
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
9 EFI_LOADED_IMAGE *loadedImage;
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
10
0
8d0e5be5d742 test exit boot services
taiki
parents:
diff changeset
11 InitializeLib(image, systab);
8d0e5be5d742 test exit boot services
taiki
parents:
diff changeset
12
8
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
13 uefi_call_wrapper(systab->ConOut->Reset, 2, systab->ConOut, FALSE);
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
14
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
15 Print(L"---- start ----\n");
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
16
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
17 EFI_STATUS status;
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
18
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
19 Print(L"Open Protocol\n");
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
20 status = uefi_call_wrapper(
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
21 BS->OpenProtocol,
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
22 6,
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
23 image,
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
24 &LoadedImageProtocol,
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
25 (void **)&loadedImage,
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
26 image,
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
27 NULL,
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
28 EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL);
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
29
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
30 if (EFI_ERROR(status)) {
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
31 Print(L"OpenProtocol is %r\n", status);
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
32 }
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
33
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
34 Print(L"Close Protocol\n");
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
35 status = uefi_call_wrapper(
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
36 BS->CloseProtocol,
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
37 4,
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
38 image,
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
39 &LoadedImageProtocol,
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
40 image,
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
41 NULL);
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
42
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
43 if (EFI_ERROR(status)) {
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
44 Print(L"CloseProtocol is %r\n", status);
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
45 }
b4db4b6c8d00 can open protocol and close protocol
taiki
parents: 7
diff changeset
46
0
8d0e5be5d742 test exit boot services
taiki
parents:
diff changeset
47
8d0e5be5d742 test exit boot services
taiki
parents:
diff changeset
48 return EFI_SUCCESS;
8d0e5be5d742 test exit boot services
taiki
parents:
diff changeset
49 }