-
Notifications
You must be signed in to change notification settings - Fork 0
/
uefi_struct.asm
160 lines (144 loc) · 2.78 KB
/
uefi_struct.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
macro struct name
{
virtual at 0
name name
end virtual
}
macro align37 size
{
virtual
align size
a = $ - $$
end virtual
db a dup 37h
}
macro align37Must size
{
db 37h
align37 size
}
struc int8
{
. db ?
}
struc int16
{
align37 2
. dw ?
}
struc int32
{
align37 4
. dd ?
}
struc int64
{
align37 8
. dq ?
}
struc intn
{
align37 8
. dq ?
}
struc dptr
{
align37 8
. dq ?
}
struc EFI_TABLE_HEADER
{
.Signature int64
.Revision int32
.HeaderSize int32
.CRC32 int32
.Reserved int32
}
struct EFI_TABLE_HEADER
EFI_SYSTEM_TABLE_SIGNATUREQ equ 5453595320494249h
struc EFI_SYSTEM_TABLE
{
.Hdr EFI_TABLE_HEADER
.FirmwareVendor dptr
.FirmwareRevision int32
.ConsoleInHandle dptr
.ConIn dptr
.ConsoleOutHandle dptr
.ConOut dptr
.StandardErrorHandle dptr
.StdErr dptr
.RuntimeServices dptr
.BootServices dptr
.NumberOfTableEntries intn
.ConfigurationTable dptr
}
struct EFI_SYSTEM_TABLE
struc SIMPLE_TEXT_OUTPUT_INTERFACE
{
.Reset dptr
.OutputString dptr
.TestString dptr
.QueryMode dptr
.SetMode dptr
.SetAttribute dptr
.ClearScreen dptr
.SetCursorPosition dptr
.EnableCursor dptr
.Mode dptr
}
struct SIMPLE_TEXT_OUTPUT_INTERFACE
struc SIMPLE_INPUT_INTERFACE
{
.Reset dptr
.ReadKeyStroke dptr
.WaitForKey dptr
}
struct SIMPLE_INPUT_INTERFACE
struc EFI_BOOT_SERVICES_TABLE
{
.Hdr EFI_TABLE_HEADER
.RaisePriority dptr
.RestorePriority dptr
.AllocatePages dptr
.FreePages dptr
.GetMemoryMap dptr
.AllocatePool dptr
.FreePool dptr
.CreateEvent dptr
.SetTimer dptr
.WaitForEvent dptr
.SignalEvent dptr
.CloseEvent dptr
.CheckEvent dptr
.InstallProtocolInterface dptr
.ReInstallProtocolInterface dptr
.UnInstallProtocolInterface dptr
.HandleProtocol dptr
.Void dptr
.RegisterProtocolNotify dptr
.LocateHandle dptr
.LocateDevicePath dptr
.InstallConfigurationTable dptr
.ImageLoad dptr
.ImageStart dptr
.Exit dptr
.ImageUnLoad dptr
.ExitBootServices dptr
.GetNextMonotonicCount dptr
.Stall dptr
.SetWatchdogTimer dptr
.ConnectController dptr
.DisConnectController dptr
.OpenProtocol dptr
.CloseProtocol dptr
.OpenProtocolInformation dptr
.ProtocolsPerHandle dptr
.LocateHandleBuffer dptr
.LocateProtocol dptr
.InstallMultipleProtocolInterfaces dptr
.UnInstallMultipleProtocolInterfaces dptr
.CalculateCrc32 dptr
.CopyMem dptr
.SetMem dptr
}
struct EFI_BOOT_SERVICES_TABLE