You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
page allocator: support allocating pages within an address range (theseus-os#970)
* Currently this is only used for allocating pages for new
executable .text sections on aarch64, which itself is a
workaround to enable runtime loading of crates (see theseus-os#940).
* Based on the limitations of aarch64's ISA (branch instructions),
we reserve 128MiB of virtual address space for this purpose.
* This 128MiB region is for executable .text sections only,
and is contiguous with the base kernel image's .text section.
* This is available but not used by default on x86_64 yet.
Copy file name to clipboardExpand all lines: kernel/mod_mgmt/src/lib.rs
+62-25Lines changed: 62 additions & 25 deletions
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ use alloc::{
14
14
};
15
15
use spin::{Mutex,Once};
16
16
use xmas_elf::{ElfFile, sections::{SHF_ALLOC,SHF_EXECINSTR,SHF_TLS,SHF_WRITE,SectionData,ShType}, symbol_table::{Binding,Type}};
17
-
use memory::{MmiRef,MemoryManagementInfo,VirtualAddress,MappedPages,PteFlags, allocate_pages_by_bytes, allocate_frames_by_bytes_at};
17
+
use memory::{MmiRef,MemoryManagementInfo,VirtualAddress,MappedPages,PteFlags, allocate_pages_by_bytes, allocate_frames_by_bytes_at,PageRange, allocate_pages_by_bytes_in_range};
18
18
use bootloader_modules::BootloaderModule;
19
19
use cow_arc::CowArc;
20
20
use rustc_demangle::demangle;
@@ -33,6 +33,7 @@ pub mod parse_nano_core;
33
33
pubmod replace_nano_core_crates;
34
34
mod serde;
35
35
36
+
36
37
/// The name of the directory that contains all of the CrateNamespace files.
0 commit comments