Skip to content
matthew fosdick edited this page Jun 1, 2014 · 1 revision

HAL

The HAL provides System dependent services in a system independent way by providing either hooks, that the architecture, or vendor developer can supply, or by leaving the entire implementation to the architecture, and/or vendor developer. The HAL only supplies what is detailed in the minimum requirements, and a few other useful services.

Services offered by the HAL

Boot Time I/O

Provides a method of formatted input and output to some console or file.

workspace

Provides a w_malloc() for pointer aligned and arbitrarily aligned allocations from a large buffer.

interrupts

Provides a method for registering an interrupt, requesting an interrupt, and a generic cpu_state struct. Also provides an wait_for_int() to idle until an interrupt.

Services soon to be offered by the HAL

Paging

Provides an interface to query page_size, map an arbitrary page to a virtual address, map a specific page to a virtual address, and do the same to an unmapped page structure.

x86 real mode assembly emulator

Clone this wiki locally