]> git.sur5r.net Git - u-boot/blobdiff - include/efi_api.h
efi_loader: remove deprecated ConsoleControlProtocol
[u-boot] / include / efi_api.h
index 205f8f1f7007a1ab29d82e08864861632aea5fe3..8559656bad965b20f4af675c84f218066781bfa4 100644 (file)
@@ -166,7 +166,14 @@ struct efi_boot_services {
        void (EFIAPI *copy_mem)(void *destination, const void *source,
                        size_t length);
        void (EFIAPI *set_mem)(void *buffer, size_t size, uint8_t value);
-       void *create_event_ex;
+       efi_status_t (EFIAPI *create_event_ex)(
+                               uint32_t type, efi_uintn_t notify_tpl,
+                               void (EFIAPI *notify_function) (
+                                       struct efi_event *event,
+                                       void *context),
+                               void *notify_context,
+                               efi_guid_t *event_group,
+                               struct efi_event **event);
 };
 
 /* Types and defines for EFI ResetSystem */
@@ -180,6 +187,17 @@ enum efi_reset_type {
 #define EFI_RUNTIME_SERVICES_SIGNATURE 0x5652453544e5552ULL
 #define EFI_RUNTIME_SERVICES_REVISION  0x00010000
 
+#define CAPSULE_FLAGS_PERSIST_ACROSS_RESET     0x00010000
+#define CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE    0x00020000
+#define CAPSULE_FLAGS_INITIATE_RESET           0x00040000
+
+struct efi_capsule_header {
+       efi_guid_t *capsule_guid;
+       u32 header_size;
+       u32 flags;
+       u32 capsule_image_size;
+};
+
 struct efi_runtime_services {
        struct efi_table_hdr hdr;
        efi_status_t (EFIAPI *get_time)(struct efi_time *time,
@@ -209,9 +227,20 @@ struct efi_runtime_services {
        void (EFIAPI *reset_system)(enum efi_reset_type reset_type,
                                    efi_status_t reset_status,
                                    unsigned long data_size, void *reset_data);
-       void *update_capsule;
-       void *query_capsule_caps;
-       void *query_variable_info;
+       efi_status_t (EFIAPI *update_capsule)(
+                       struct efi_capsule_header **capsule_header_array,
+                       efi_uintn_t capsule_count,
+                       u64 scatter_gather_list);
+       efi_status_t (EFIAPI *query_capsule_caps)(
+                       struct efi_capsule_header **capsule_header_array,
+                       efi_uintn_t capsule_count,
+                       u64 maximum_capsule_size,
+                       u32 reset_type);
+       efi_status_t (EFIAPI *query_variable_info)(
+                       u32 attributes,
+                       u64 maximum_variable_storage_size,
+                       u64 remaining_variable_storage_size,
+                       u64 maximum_variable_size);
 };
 
 /* EFI Configuration Table and GUID definitions */
@@ -542,24 +571,6 @@ struct efi_simple_input_interface {
        struct efi_event *wait_for_key;
 };
 
-#define CONSOLE_CONTROL_GUID \
-       EFI_GUID(0xf42f7782, 0x12e, 0x4c12, \
-                0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21)
-#define EFI_CONSOLE_MODE_TEXT  0
-#define EFI_CONSOLE_MODE_GFX   1
-
-struct efi_console_control_protocol
-{
-       efi_status_t (EFIAPI *get_mode)(
-                       struct efi_console_control_protocol *this, int *mode,
-                       char *uga_exists, char *std_in_locked);
-       efi_status_t (EFIAPI *set_mode)(
-                       struct efi_console_control_protocol *this, int mode);
-       efi_status_t (EFIAPI *lock_std_in)(
-                       struct efi_console_control_protocol *this,
-                       uint16_t *password);
-};
-
 #define EFI_DEVICE_PATH_TO_TEXT_PROTOCOL_GUID \
        EFI_GUID(0x8b843e20, 0x8132, 0x4852, \
                 0x90, 0xcc, 0x55, 0x1a, 0x4e, 0x4a, 0x7f, 0x1c)