47 #define EFI_ENTROPY_TRIGGER_TIME 10 69 DBGC ( &
tick,
"ENTROPY could not create event: %s\n",
113 DBGC ( &
tick,
"ENTROPY could not set timer: %s\n",
119 DBGC ( &
tick,
"ENTROPY could not wait for timer tick: %s\n",
125 low = profile_timestamp();
EFI_BOOT_SERVICES * BootServices
A pointer to the EFI Boot Services Table.
struct arbelprm_rc_send_wqe rc
static int efi_entropy_tick(void)
Wait for a timer tick.
uint32_t low
Low 16 bits of address.
#define EEFI(efirc)
Convert an EFI status code to an iPXE status code.
An event is to be signaled once at a specified interval from the current time.
static EFI_EVENT tick
Event used to wait for timer tick.
VOID * EFI_EVENT
Handle to an event structure.
static int efi_get_noise(noise_sample_t *noise)
Get noise sample from timer ticks.
int32_t before
Initial microcode version.
EFI_CLOSE_EVENT CloseEvent
#define EFI_ENTROPY_TRIGGER_TIME
Time (in 100ns units) to delay waiting for timer tick.
struct entropy_source efitick_entropy __entropy_source(ENTROPY_FALLBACK)
EFI entropy source.
static void efi_entropy_disable(void)
Disable entropy gathering.
EFI_TPL efi_internal_tpl
Internal task priority level.
static int efi_entropy_enable(void)
Enable entropy gathering.
EFI_CREATE_EVENT CreateEvent
char * strerror(int errno)
Retrieve string representation of error number.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
UINT64 UINTN
Unsigned value of native width.
EFI_WAIT_FOR_EVENT WaitForEvent
#define MIN_ENTROPY(bits)
Construct a min-entropy fixed-point value.
#define ENTROPY_FALLBACK
Fallback entropy source.
int32_t after
Final microcode version.
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
uint8_t noise_sample_t
A noise sample.
EFI_SYSTEM_TABLE * efi_systab
EFI_RESTORE_TPL RestoreTPL
static void entropy_init(struct entropy_source *source, min_entropy_t min_entropy_per_sample)
Initialise entropy source.
#define NULL
NULL pointer (VOID *)
EFI_TPL efi_external_tpl
External task priority level.