Virtual address allocator
| Member Type | Member Name |
|---|---|
struct vas_range | *next_free |
struct rbt_node | node |
vaddr_t | start |
size_t | length |
| Member Type | Member Name |
|---|---|
struct spinlock | lock |
struct rbt | tree |
vaddr_t | base |
vaddr_t | limit |
struct vas_range | *freelist |
struct vas_set | *percpu_sets |
struct vas_space *vas_space_init(vaddr_tbase,vaddr_tlimit)voidvas_free(struct vas_space*vas,vaddr_taddr)vaddr_tvas_alloc(struct vas_space*vas,size_t size,size_t align)struct vas_space *vas_space_bootstrap(vaddr_tbase,vaddr_tlimit)voidvasrange_free(struct vas_space*space,struct vas_range*r)struct vas_range *vasrange_alloc(struct vas_space*space)struct vas_space *vas_space_bootstrap_internal(vaddr_tbase,vaddr_tlimit)struct vas_space *vas_space_init_internal(vaddr_tbase,vaddr_tlimit)