diff options
author | Matt Fleming <matt.fleming@intel.com> | 2011-11-15 07:56:32 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2011-12-09 20:35:40 -0500 |
commit | f30ca6ba0bb2b7d050f24682bb8639c939c79859 (patch) | |
tree | f037f0e74bb67bbb66f3dc629a9dc11143c57c36 /include/linux | |
parent | f7d7d01be53cb47e0ae212c4e968aa28b82d2138 (diff) |
efi.h: Add struct definition for boot time services
With the forthcoming efi stub code we're gonna need to access boot
time services so let's define a struct so we can access the functions.
Cc: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Link: http://lkml.kernel.org/r/1318848017-12301-1-git-send-email-matt@console-pimps.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/efi.h | 53 |
1 files changed, 52 insertions, 1 deletions
diff --git a/include/linux/efi.h b/include/linux/efi.h index 2362a0bc7f0d..9547597ad6be 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h | |||
@@ -139,6 +139,57 @@ typedef struct { | |||
139 | } efi_time_cap_t; | 139 | } efi_time_cap_t; |
140 | 140 | ||
141 | /* | 141 | /* |
142 | * EFI Boot Services table | ||
143 | */ | ||
144 | typedef struct { | ||
145 | efi_table_hdr_t hdr; | ||
146 | void *raise_tpl; | ||
147 | void *restore_tpl; | ||
148 | void *allocate_pages; | ||
149 | void *free_pages; | ||
150 | void *get_memory_map; | ||
151 | void *allocate_pool; | ||
152 | void *free_pool; | ||
153 | void *create_event; | ||
154 | void *set_timer; | ||
155 | void *wait_for_event; | ||
156 | void *signal_event; | ||
157 | void *close_event; | ||
158 | void *check_event; | ||
159 | void *install_protocol_interface; | ||
160 | void *reinstall_protocol_interface; | ||
161 | void *uninstall_protocol_interface; | ||
162 | void *handle_protocol; | ||
163 | void *__reserved; | ||
164 | void *register_protocol_notify; | ||
165 | void *locate_handle; | ||
166 | void *locate_device_path; | ||
167 | void *install_configuration_table; | ||
168 | void *load_image; | ||
169 | void *start_image; | ||
170 | void *exit; | ||
171 | void *unload_image; | ||
172 | void *exit_boot_services; | ||
173 | void *get_next_monotonic_count; | ||
174 | void *stall; | ||
175 | void *set_watchdog_timer; | ||
176 | void *connect_controller; | ||
177 | void *disconnect_controller; | ||
178 | void *open_protocol; | ||
179 | void *close_protocol; | ||
180 | void *open_protocol_information; | ||
181 | void *protocols_per_handle; | ||
182 | void *locate_handle_buffer; | ||
183 | void *locate_protocol; | ||
184 | void *install_multiple_protocol_interfaces; | ||
185 | void *uninstall_multiple_protocol_interfaces; | ||
186 | void *calculate_crc32; | ||
187 | void *copy_mem; | ||
188 | void *set_mem; | ||
189 | void *create_event_ex; | ||
190 | } efi_boot_services_t; | ||
191 | |||
192 | /* | ||
142 | * Types and defines for EFI ResetSystem | 193 | * Types and defines for EFI ResetSystem |
143 | */ | 194 | */ |
144 | #define EFI_RESET_COLD 0 | 195 | #define EFI_RESET_COLD 0 |
@@ -261,7 +312,7 @@ typedef struct { | |||
261 | unsigned long stderr_handle; | 312 | unsigned long stderr_handle; |
262 | unsigned long stderr; | 313 | unsigned long stderr; |
263 | efi_runtime_services_t *runtime; | 314 | efi_runtime_services_t *runtime; |
264 | unsigned long boottime; | 315 | efi_boot_services_t *boottime; |
265 | unsigned long nr_tables; | 316 | unsigned long nr_tables; |
266 | unsigned long tables; | 317 | unsigned long tables; |
267 | } efi_system_table_t; | 318 | } efi_system_table_t; |