addr_range
addr_range virtual_ranges_to_keep[MAX_VIRTUAL_RANGES_TO_KEEP];
addr_range virtual_ranges_to_keep[MAX_VIRTUAL_RANGES_TO_KEEP];
addr_range page_table; // virtual address and size of the page table
addr_range exception_handlers;
addr_range framebuffer; // maps where the framebuffer is located, in physical memory
addr_range page_table; // virtual address and size of the page table
addr_range exception_handlers;
addr_range framebuffer; // maps where the framebuffer is located, in physical memory
addr_range virtual_ranges_to_keep[MAX_VIRTUAL_RANGES_TO_KEEP];
addr_range physMap;
addr_range virtual_ranges_to_keep[MAX_VIRTUAL_RANGES_TO_KEEP];
addr_range htif;
addr_range plic;
addr_range clint;
addr_range framebuffer; // maps where the framebuffer is located, in physical memory
addr_range virtual_ranges_to_keep[MAX_VIRTUAL_RANGES_TO_KEEP];
status_t insert_address_range(addr_range* ranges, uint32* _numRanges,
status_t remove_address_range(addr_range* ranges, uint32* _numRanges,
bool get_free_address_range(addr_range* ranges, uint32 numRanges, uint64 base,
bool is_address_range_covered(addr_range* ranges, uint32 numRanges, uint64 base,
uint64 total_address_ranges_size(addr_range* ranges, uint32 numRanges);
void sort_address_ranges(addr_range* ranges, uint32 numRanges);
addr_range dynamic_section;
addr_range regs1;
addr_range regs2;
addr_range physical_memory_range[MAX_PHYSICAL_MEMORY_RANGE];
addr_range physical_allocated_range[MAX_PHYSICAL_ALLOCATED_RANGE];
addr_range virtual_allocated_range[MAX_VIRTUAL_ALLOCATED_RANGE];
addr_range kernel_args_range[MAX_KERNEL_ARGS_RANGE];
addr_range cpu_kstack[SMP_MAX_CPUS];
addr_range physical_buffer;
addr_range regs;
addr_range regs;
remove_address_range(addr_range* ranges, uint32* _numRanges, uint32 maxRanges,
get_free_address_range(addr_range* ranges, uint32 numRanges, uint64 base,
is_address_range_covered(addr_range* ranges, uint32 numRanges, uint64 base,
total_address_ranges_size(addr_range* ranges, uint32 numRanges)
sort_address_ranges(addr_range* ranges, uint32 numRanges)
addr_range tempRange;
memcpy(&tempRange, &ranges[i], sizeof(addr_range));
memcpy(&ranges[i], &ranges[i - 1], sizeof(addr_range));
memcpy(&ranges[i - 1], &tempRange, sizeof(addr_range));
addr_range& range = gKernelArgs.physical_memory_range[i - 1];
remove_range_index(addr_range* ranges, uint32& numRanges, uint32 index)
sizeof(addr_range) * (numRanges - 1 - index));
insert_address_range(addr_range* ranges, uint32* _numRanges, uint32 maxRanges,
addr_range& range = gKernelArgs.physical_memory_range[i];
map_range_to_new_area(addr_range& range, uint32_t flags)
addr_range range = gKernelArgs.physical_memory_range[i];
static addr_range sPlic = {0};
static addr_range sClint = {0};
MapAddrRange(addr_range& range, uint64 flags)
GetPhysMemRange(addr_range& range)
addr_range physMemRange;
dtb_get_reg(const void* fdt, int node, size_t idx, addr_range& range)
bool dtb_get_reg(const void* fdt, int node, size_t idx, addr_range& range);
addr_range *range = gKernelArgs.physical_allocated_range;
get_kernel_regions(addr_range& text, addr_range& data)
addr_range textRegion = {.start = 0, .size = 0}, dataRegion = {.start = 0, .size = 0};
static addr_range sPlic = {0};
static addr_range sClint = {0};
addr_range& range)
MapAddrRange(addr_range& range, uint64 flags)
addr_range &range = args->arch_args.virtual_ranges_to_keep[i];
addr_range &range = args->arch_args.virtual_ranges_to_keep[i];
addr_range &range = args->arch_args.virtual_ranges_to_keep[i];
addr_range &range = args->arch_args.virtual_ranges_to_keep[i];
addr_range &range = args->arch_args.virtual_ranges_to_keep[i];
addr_range &range = args->arch_args.virtual_ranges_to_keep[i];
addr_range& range = args->physical_memory_range[i];
addr_range& range = args->physical_memory_range[i];
const addr_range& range = args->virtual_allocated_range[i];
const addr_range& range = args->virtual_allocated_range[i];
const addr_range& range = args->kernel_args_range[i];
const addr_range& range = args->virtual_allocated_range[i];
addr_range& previousRange = args->virtual_allocated_range[i - 1];
addr_range& lastRange
addr_range& firstRange = args->virtual_allocated_range[0];
const addr_range& range = args->physical_memory_range[i];
const addr_range& lastMemoryRange =
const addr_range& lastAllocatedRange =
addr_range& memoryRange = args->physical_memory_range[i];
addr_range& allocatedRange =
addr_range& range = args->physical_allocated_range[i];
addr_range& nextRange = args->physical_allocated_range[i + 1];
addr_range& range = args->physical_allocated_range[i];
addr_range& previousRange = args->physical_allocated_range[i - 1];
const addr_range& lastAllocatedRange =
const addr_range& range = args->physical_memory_range[i];
addr_range& range =