summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxypron.glpk@gmx.de <xypron.glpk@gmx.de>2017-07-18 20:17:19 +0200
committerAlexander Graf <agraf@suse.de>2017-07-19 14:31:04 +0200
commit503f26955489af052c0c01eaf7bdc6ae3ecc3aa2 (patch)
tree74a09ae5c95c7dbf170ae64f9976a121d4ea472d
parentc68415922b340c6b26f94326a6899977a67d61c9 (diff)
efi_loader: correct size for tpl level
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>
-rw-r--r--include/efi_api.h8
-rw-r--r--include/efi_loader.h2
-rw-r--r--lib/efi_loader/efi_boottime.c12
3 files changed, 12 insertions, 10 deletions
diff --git a/include/efi_api.h b/include/efi_api.h
index a3b8e04576..d52eea4086 100644
--- a/include/efi_api.h
+++ b/include/efi_api.h
@@ -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),
diff --git a/include/efi_loader.h b/include/efi_loader.h
index 3d18bfbd2e..b922720068 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -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;
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index bdcca38a9f..f04d9eb341 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -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);