Resources Management

request_resource_conflict — request and reserve an I/O or memory resource
reallocate_resource — allocate a slot in the resource tree given range & alignment. The resource will be relocated if the new size cannot be reallocated in the current location.
insert_resource_conflict — Inserts resource in the resource tree
insert_resource — Inserts a resource in the resource tree
insert_resource_expand_to_fit — Insert a resource into the resource tree
resource_alignment — calculate resource's alignment
request_resource — request and reserve an I/O or memory resource
release_resource — release a previously reserved resource
allocate_resource — allocate empty slot in the resource tree given range & alignment. The resource will be reallocated with a new size if it was already allocated
adjust_resource — modify a resource's start and size
__request_region — create a new busy resource region
__check_region — check if a resource region is busy or free
__release_region — release a previously reserved resource region