Address Ranges
struct address_range { char *name; vaddr_t base; size_t size; size_t align; enum address_range_flags flags; struct rbt_node rbt_node_internal;};struct address_range referenced types:
enum address_range_flags { ADDRESS_RANGE_DYNAMIC = 1 << 0, ADDRESS_RANGE_STATIC = 0,};void address_ranges_init();void address_ranges_print();struct address_range * address_range_for_addr(vaddr_t vaddr);address_range_for_addr referenced types:
Defines
Section titled “Defines”#define ADDRESS_RANGE_KERNEL_START 0xFFFF800000000000#define ADDRESS_RANGE_KERNEL_END 0xFFFFFFFFFFFFFFFF#define ADDRESS_RANGE_DECLARE(sym, ...) \ static struct address_range __address_range_##sym \ __attribute__((section(".kernel_address_ranges"), used)) = { \ __VA_ARGS__, .rbt_node_internal = RBT_NODE_INIT}#define ADDRESS_RANGE(sym) (__address_range_##sym)