Hardware abstractions: bus_space Used to abstract the CPU accessing devices, this is done with opcodes like inw/outw on i386. A bus_space can relate to a memory space or I/O address space. First we create the mapping, ask nicely to use a slab of space at a specified address, then we use the bus_space functions to access the space. bus_space_tag_t Describes the address space we are using bus_space_handle_t Describes the subset of the space we are mapping See the bus_space(9) manual page for more discussion.