Crate hermit[][src]

Modules

Determining and providing information about the environment (unikernel vs. multi-kernel, hypervisor, etc.) as well as central parsing of the command-line parameters.

Architecture dependent interface to initialize a task

Macros

Runs f on the kernel stack.

Print formatted text to our console.

Print formatted text to our console, followed by a newline.

Structs

Constants

Functions

Interface to deallocate a memory region from the system heap

Interface to allocate memory from system heap

Shrink or grow a block of memory to the given new_size. The block is described by the given ptr pointer and layout. If this returns a non-null pointer, then ownership of the memory block referenced by ptr has been transferred to this allocator. The memory may or may not have been deallocated, and should be considered unusable (unless of course it was transferred back to the caller again via the return value of this method). The new memory block is allocated with layout, but with the size updated to new_size. If this method returns null, then ownership of the memory block has not been transferred to this allocator, and the contents of the memory block are unaltered.

Application Processor initialization

Boots all available Application Processors on bare-metal or QEMU. Called after the Boot Processor has been fully initialized along with its scheduler.

Real Boot Processor initialization as soon as we have put the first Welcome message on the screen.

Earliest initialization function called by the Boot Processor.

Set the current task state to blocked

Set the current task state to blocked

Determine the priority of the current thread

Returns the number of processors currently online.

Returns the processor frequency in MHz.

The function computes a sequence of pseudo-random integers in the range of 0 to RAND_MAX

Create a cryptographicly secure 32bit random number with the support of the underlying hardware. If the required hardware isn’t available, the function returns None.

Create a cryptographicly secure 64bit random number with the support of the underlying hardware. If the required hardware isn’t available, the function returns None.

The function sets its argument as the seed for a new sequence of pseudo-random numbers to be returned by rand()

Wake up the task with the identifier id

Send an inter-processor interrupt to wake up a CPU Core that is in a HALT state.

Type Definitions