efi: Add missing __grub_efi_api attributes
The commit bb4aa6e06 (efi: Drop all uses of efi_call_XX() wrappers) did not add some __grub_efi_api attributes to the EFI calls. Lack of them led to hangs on x86_64-efi target. So, let's add missing __grub_efi_api attributes. Fixes: bb4aa6e06 (efi: Drop all uses of efi_call_XX() wrappers) Reported-by: Christian Hesse <list@eworm.de> Reported-by: Robin Candau <antiz@archlinux.org> Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com> Tested-by: Robin Candau <antiz@archlinux.org> Tested-by: Christian Hesse <list@eworm.de> Reviewed-by: Peter Jones <pjones@redhat.com>
This commit is contained in:
parent
b2c72f4641
commit
6d8853e215
@ -124,27 +124,27 @@ typedef struct grub_efi_cc_boot_service_capability grub_efi_cc_boot_service_capa
|
||||
struct grub_efi_cc_protocol
|
||||
{
|
||||
grub_efi_status_t
|
||||
(*get_capability) (struct grub_efi_cc_protocol *this,
|
||||
grub_efi_cc_boot_service_capability_t *ProtocolCapability);
|
||||
(__grub_efi_api *get_capability) (struct grub_efi_cc_protocol *this,
|
||||
grub_efi_cc_boot_service_capability_t *ProtocolCapability);
|
||||
|
||||
grub_efi_status_t
|
||||
(*get_event_log) (struct grub_efi_cc_protocol *this,
|
||||
grub_efi_cc_event_log_format_t EventLogFormat,
|
||||
grub_efi_physical_address_t *EventLogLocation,
|
||||
grub_efi_physical_address_t *EventLogLastEntry,
|
||||
grub_efi_boolean_t *EventLogTruncated);
|
||||
(__grub_efi_api *get_event_log) (struct grub_efi_cc_protocol *this,
|
||||
grub_efi_cc_event_log_format_t EventLogFormat,
|
||||
grub_efi_physical_address_t *EventLogLocation,
|
||||
grub_efi_physical_address_t *EventLogLastEntry,
|
||||
grub_efi_boolean_t *EventLogTruncated);
|
||||
|
||||
grub_efi_status_t
|
||||
(*hash_log_extend_event) (struct grub_efi_cc_protocol *this,
|
||||
grub_efi_uint64_t Flags,
|
||||
grub_efi_physical_address_t DataToHash,
|
||||
grub_efi_uint64_t DataToHashLen,
|
||||
grub_efi_cc_event_t *EfiCcEvent);
|
||||
(__grub_efi_api *hash_log_extend_event) (struct grub_efi_cc_protocol *this,
|
||||
grub_efi_uint64_t Flags,
|
||||
grub_efi_physical_address_t DataToHash,
|
||||
grub_efi_uint64_t DataToHashLen,
|
||||
grub_efi_cc_event_t *EfiCcEvent);
|
||||
|
||||
grub_efi_status_t
|
||||
(*map_pcr_to_mr_index) (struct grub_efi_cc_protocol *this,
|
||||
grub_efi_uint32_t PcrIndex,
|
||||
grub_efi_cc_mr_index_t *MrIndex);
|
||||
(__grub_efi_api *map_pcr_to_mr_index) (struct grub_efi_cc_protocol *this,
|
||||
grub_efi_uint32_t PcrIndex,
|
||||
grub_efi_cc_mr_index_t *MrIndex);
|
||||
};
|
||||
typedef struct grub_efi_cc_protocol grub_efi_cc_protocol_t;
|
||||
|
||||
|
||||
@ -41,18 +41,18 @@ typedef enum grub_efi_screen_mode grub_efi_screen_mode_t;
|
||||
struct grub_efi_console_control_protocol
|
||||
{
|
||||
grub_efi_status_t
|
||||
(*get_mode) (struct grub_efi_console_control_protocol *this,
|
||||
grub_efi_screen_mode_t *mode,
|
||||
grub_efi_boolean_t *uga_exists,
|
||||
grub_efi_boolean_t *std_in_locked);
|
||||
(__grub_efi_api *get_mode) (struct grub_efi_console_control_protocol *this,
|
||||
grub_efi_screen_mode_t *mode,
|
||||
grub_efi_boolean_t *uga_exists,
|
||||
grub_efi_boolean_t *std_in_locked);
|
||||
|
||||
grub_efi_status_t
|
||||
(*set_mode) (struct grub_efi_console_control_protocol *this,
|
||||
grub_efi_screen_mode_t mode);
|
||||
(__grub_efi_api *set_mode) (struct grub_efi_console_control_protocol *this,
|
||||
grub_efi_screen_mode_t mode);
|
||||
|
||||
grub_efi_status_t
|
||||
(*lock_std_in) (struct grub_efi_console_control_protocol *this,
|
||||
grub_efi_char16_t *password);
|
||||
(__grub_efi_api *lock_std_in) (struct grub_efi_console_control_protocol *this,
|
||||
grub_efi_char16_t *password);
|
||||
};
|
||||
typedef struct grub_efi_console_control_protocol grub_efi_console_control_protocol_t;
|
||||
|
||||
|
||||
@ -83,26 +83,26 @@ struct grub_efi_gop_mode
|
||||
struct grub_efi_gop;
|
||||
|
||||
typedef grub_efi_status_t
|
||||
(*grub_efi_gop_query_mode_t) (struct grub_efi_gop *this,
|
||||
grub_efi_uint32_t mode_number,
|
||||
grub_efi_uintn_t *size_of_info,
|
||||
struct grub_efi_gop_mode_info **info);
|
||||
(__grub_efi_api *grub_efi_gop_query_mode_t) (struct grub_efi_gop *this,
|
||||
grub_efi_uint32_t mode_number,
|
||||
grub_efi_uintn_t *size_of_info,
|
||||
struct grub_efi_gop_mode_info **info);
|
||||
|
||||
typedef grub_efi_status_t
|
||||
(*grub_efi_gop_set_mode_t) (struct grub_efi_gop *this,
|
||||
grub_efi_uint32_t mode_number);
|
||||
(__grub_efi_api *grub_efi_gop_set_mode_t) (struct grub_efi_gop *this,
|
||||
grub_efi_uint32_t mode_number);
|
||||
|
||||
typedef grub_efi_status_t
|
||||
(*grub_efi_gop_blt_t) (struct grub_efi_gop *this,
|
||||
void *buffer,
|
||||
grub_efi_uintn_t operation,
|
||||
grub_efi_uintn_t sx,
|
||||
grub_efi_uintn_t sy,
|
||||
grub_efi_uintn_t dx,
|
||||
grub_efi_uintn_t dy,
|
||||
grub_efi_uintn_t width,
|
||||
grub_efi_uintn_t height,
|
||||
grub_efi_uintn_t delta);
|
||||
(__grub_efi_api *grub_efi_gop_blt_t) (struct grub_efi_gop *this,
|
||||
void *buffer,
|
||||
grub_efi_uintn_t operation,
|
||||
grub_efi_uintn_t sx,
|
||||
grub_efi_uintn_t sy,
|
||||
grub_efi_uintn_t dx,
|
||||
grub_efi_uintn_t dy,
|
||||
grub_efi_uintn_t width,
|
||||
grub_efi_uintn_t height,
|
||||
grub_efi_uintn_t delta);
|
||||
|
||||
struct grub_efi_gop
|
||||
{
|
||||
|
||||
@ -46,30 +46,30 @@ struct grub_efi_uga_pixel
|
||||
struct grub_efi_uga_draw_protocol
|
||||
{
|
||||
grub_efi_status_t
|
||||
(*get_mode) (struct grub_efi_uga_draw_protocol *this,
|
||||
grub_uint32_t *width,
|
||||
grub_uint32_t *height,
|
||||
grub_uint32_t *depth,
|
||||
grub_uint32_t *refresh_rate);
|
||||
(__grub_efi_api *get_mode) (struct grub_efi_uga_draw_protocol *this,
|
||||
grub_uint32_t *width,
|
||||
grub_uint32_t *height,
|
||||
grub_uint32_t *depth,
|
||||
grub_uint32_t *refresh_rate);
|
||||
|
||||
grub_efi_status_t
|
||||
(*set_mode) (struct grub_efi_uga_draw_protocol *this,
|
||||
grub_uint32_t width,
|
||||
grub_uint32_t height,
|
||||
grub_uint32_t depth,
|
||||
grub_uint32_t refresh_rate);
|
||||
(__grub_efi_api *set_mode) (struct grub_efi_uga_draw_protocol *this,
|
||||
grub_uint32_t width,
|
||||
grub_uint32_t height,
|
||||
grub_uint32_t depth,
|
||||
grub_uint32_t refresh_rate);
|
||||
|
||||
grub_efi_status_t
|
||||
(*blt) (struct grub_efi_uga_draw_protocol *this,
|
||||
struct grub_efi_uga_pixel *blt_buffer,
|
||||
enum grub_efi_uga_blt_operation blt_operation,
|
||||
grub_efi_uintn_t src_x,
|
||||
grub_efi_uintn_t src_y,
|
||||
grub_efi_uintn_t dest_x,
|
||||
grub_efi_uintn_t dest_y,
|
||||
grub_efi_uintn_t width,
|
||||
grub_efi_uintn_t height,
|
||||
grub_efi_uintn_t delta);
|
||||
(__grub_efi_api *blt) (struct grub_efi_uga_draw_protocol *this,
|
||||
struct grub_efi_uga_pixel *blt_buffer,
|
||||
enum grub_efi_uga_blt_operation blt_operation,
|
||||
grub_efi_uintn_t src_x,
|
||||
grub_efi_uintn_t src_y,
|
||||
grub_efi_uintn_t dest_x,
|
||||
grub_efi_uintn_t dest_y,
|
||||
grub_efi_uintn_t width,
|
||||
grub_efi_uintn_t height,
|
||||
grub_efi_uintn_t delta);
|
||||
};
|
||||
typedef struct grub_efi_uga_draw_protocol grub_efi_uga_draw_protocol_t;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user