pub fn find_section_memory_bounds<F>(
    boot_info: &impl BootInformation,
    translate: F
) -> Result<(AggregatedSectionMemoryBounds, [Option<SectionMemoryBounds>; 32]), &'static str>where
    F: Fn(VirtualAddress) -> Option<PhysicalAddress>,
Expand description

Finds the addresses in memory of the main kernel sections, as specified by the given boot information.

Returns the following tuple, if successful:

  • The combined size and address bounds of key sections, e.g., .text, .rodata, .data. Each of the these section bounds is aggregated to cover the bounds and sizes of all sections that share the same page table mapping flags and can thus be logically combined.
  • The list of all individual sections found.