efi_loader: correct size for tpl level
authorxypron.glpk@gmx.de <xypron.glpk@gmx.de>
Tue, 18 Jul 2017 18:17:19 +0000 (20:17 +0200)
committerAlexander Graf <agraf@suse.de>
Wed, 19 Jul 2017 12:31:04 +0000 (14:31 +0200)
The UEFI standard defines the type for the tpl level as EFI_TPL
alias UINTN.

UINTN is an integer is defined as an unsigned integer of native
width. So we can use size_t for the definition.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
include/efi_api.h
include/efi_loader.h
lib/efi_loader/efi_boottime.c

index a3b8e045762b9712b3843fd9c0c4f3e0e3c3d866..d52eea408668965d8fb1fda24541af8c3aa28ab7 100644 (file)
@@ -28,6 +28,8 @@ enum efi_event_type {
        EFI_TIMER_RELATIVE = 2
 };
 
+#define UINTN size_t
+
 #define EVT_TIMER                              0x80000000
 #define EVT_RUNTIME                            0x40000000
 #define EVT_NOTIFY_WAIT                                0x00000100
@@ -45,8 +47,8 @@ struct efi_event;
 /* EFI Boot Services table */
 struct efi_boot_services {
        struct efi_table_hdr hdr;
-       efi_status_t (EFIAPI *raise_tpl)(unsigned long new_tpl);
-       void (EFIAPI *restore_tpl)(unsigned long old_tpl);
+       efi_status_t (EFIAPI *raise_tpl)(UINTN new_tpl);
+       void (EFIAPI *restore_tpl)(UINTN old_tpl);
 
        efi_status_t (EFIAPI *allocate_pages)(int, int, unsigned long,
                                              efi_physical_addr_t *);
@@ -58,7 +60,7 @@ struct efi_boot_services {
        efi_status_t (EFIAPI *free_pool)(void *);
 
        efi_status_t (EFIAPI *create_event)(enum efi_event_type type,
-                       unsigned long notify_tpl,
+                       UINTN notify_tpl,
                        void (EFIAPI *notify_function) (
                                        struct efi_event *event,
                                        void *context),
index 3d18bfbd2e9a0c3c6ea556aaf30067a517710c3c..b92272006838dbea590ff8b2b5ca781578f42c68 100644 (file)
@@ -77,7 +77,7 @@ struct efi_object {
  */
 struct efi_event {
        u32 type;
-       unsigned long notify_tpl;
+       UINTN notify_tpl;
        void (EFIAPI *notify_function)(struct efi_event *event, void *context);
        void *notify_context;
        u64 trigger_next;
index bdcca38a9f2d86eb6fa3c4a3286f504d661c7ae8..f04d9eb3419861926384006ed842638e7cf155fe 100644 (file)
@@ -104,15 +104,15 @@ static int guidcmp(const efi_guid_t *g1, const efi_guid_t *g2)
        return memcmp(g1, g2, sizeof(efi_guid_t));
 }
 
-static unsigned long EFIAPI efi_raise_tpl(unsigned long new_tpl)
+static unsigned long EFIAPI efi_raise_tpl(UINTN new_tpl)
 {
-       EFI_ENTRY("0x%lx", new_tpl);
+       EFI_ENTRY("0x%zx", new_tpl);
        return EFI_EXIT(0);
 }
 
-static void EFIAPI efi_restore_tpl(unsigned long old_tpl)
+static void EFIAPI efi_restore_tpl(UINTN old_tpl)
 {
-       EFI_ENTRY("0x%lx", old_tpl);
+       EFI_ENTRY("0x%zx", old_tpl);
        EFI_EXIT(efi_unsupported(__func__));
 }
 
@@ -180,7 +180,7 @@ static efi_status_t EFIAPI efi_free_pool_ext(void *buffer)
 static struct efi_event efi_events[16];
 
 static efi_status_t EFIAPI efi_create_event(
-                       enum efi_event_type type, ulong notify_tpl,
+                       enum efi_event_type type, UINTN notify_tpl,
                        void (EFIAPI *notify_function) (
                                        struct efi_event *event,
                                        void *context),
@@ -188,7 +188,7 @@ static efi_status_t EFIAPI efi_create_event(
 {
        int i;
 
-       EFI_ENTRY("%d, 0x%lx, %p, %p", type, notify_tpl, notify_function,
+       EFI_ENTRY("%d, 0x%zx, %p, %p", type, notify_tpl, notify_function,
                  notify_context);
        if (event == NULL)
                return EFI_EXIT(EFI_INVALID_PARAMETER);