EFI_EXIT(efi_unsupported(__func__));
}
-efi_status_t EFIAPI efi_allocate_pages_ext(int type, int memory_type,
- unsigned long pages,
- uint64_t *memory)
+static efi_status_t EFIAPI efi_allocate_pages_ext(int type, int memory_type,
+ unsigned long pages,
+ uint64_t *memory)
{
efi_status_t r;
return EFI_EXIT(r);
}
-efi_status_t EFIAPI efi_free_pages_ext(uint64_t memory, unsigned long pages)
+static efi_status_t EFIAPI efi_free_pages_ext(uint64_t memory,
+ unsigned long pages)
{
efi_status_t r;
return EFI_EXIT(r);
}
-efi_status_t EFIAPI efi_get_memory_map_ext(unsigned long *memory_map_size,
- struct efi_mem_desc *memory_map,
- unsigned long *map_key,
- unsigned long *descriptor_size,
- uint32_t *descriptor_version)
+static efi_status_t EFIAPI efi_get_memory_map_ext(
+ unsigned long *memory_map_size,
+ struct efi_mem_desc *memory_map,
+ unsigned long *map_key,
+ unsigned long *descriptor_size,
+ uint32_t *descriptor_version)
{
efi_status_t r;
return EFI_EXIT(EFI_OUT_OF_RESOURCES);
}
+ if (event == NULL)
+ return EFI_EXIT(EFI_INVALID_PARAMETER);
+
+ if ((type & EVT_NOTIFY_SIGNAL) && (type & EVT_NOTIFY_WAIT))
+ return EFI_EXIT(EFI_INVALID_PARAMETER);
+
+ if ((type & (EVT_NOTIFY_SIGNAL|EVT_NOTIFY_WAIT)) &&
+ notify_function == NULL)
+ return EFI_EXIT(EFI_INVALID_PARAMETER);
+
efi_event.type = type;
efi_event.notify_tpl = notify_tpl;
efi_event.notify_function = notify_function;
efi_guid_t *protocol,
void **protocol_interface)
{
- return efi_open_protocol(handle, protocol, protocol_interface,
- NULL, NULL, 0);
+ return efi_open_protocol(handle, protocol, protocol_interface, NULL,
+ NULL, EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL);
}
static const struct efi_boot_services efi_boot_services = {