aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@intel.com>2011-11-15 07:56:32 -0500
committerH. Peter Anvin <hpa@linux.intel.com>2011-12-09 20:35:40 -0500
commitf30ca6ba0bb2b7d050f24682bb8639c939c79859 (patch)
treef037f0e74bb67bbb66f3dc629a9dc11143c57c36 /include/linux
parentf7d7d01be53cb47e0ae212c4e968aa28b82d2138 (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.h53
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 */
144typedef 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;