/DragonOS/kernel/src/mm/ |
H A D | kernel_mapper.rs | 6 mm::{LockedFrameAllocator, PageMapper}, 33 mapper: PageMapper, 39 fn lock_cpu(cpuid: ProcessorId, mapper: PageMapper) -> Self { in lock_cpu() 68 let mapper = unsafe { PageMapper::current(PageTableKind::Kernel, LockedFrameAllocator) }; in lock() 74 pub fn as_mut(&mut self) -> Option<&mut PageMapper> { in as_mut() argument 84 pub fn as_ref(&self) -> &PageMapper { in as_ref() argument 145 type Target = PageMapper;
|
H A D | madvise.rs | 3 use crate::arch::{mm::PageMapper, MMArch}; 11 _mapper: &mut PageMapper, in do_madvise() argument
|
H A D | no_init.rs | 170 let mut mapper = crate::mm::page::PageMapper::<MMArch, _>::new( in pseudo_map_phys_with_flags() 198 let mut mapper = crate::mm::page::PageMapper::<MMArch, _>::new( in pseudo_unmap_phys()
|
H A D | ucontext.rs | 21 arch::{mm::PageMapper, CurrentIrqArch, MMArch}, 434 &mut PageMapper, in mmap() argument 813 pub utable: PageMapper, 817 pub fn new(utable: PageMapper) -> Self { in new() 1135 mapper: &mut PageMapper, in remap() argument 1153 pub fn unmap(&self, mapper: &mut PageMapper, mut flusher: impl Flusher<MMArch>) { in unmap() argument 1207 pub fn extract(&self, region: VirtRegion, utable: &PageMapper) -> Option<VMASplitResult> { in extract() 1494 mapper: &mut PageMapper, in remap() argument 1547 mapper: &mut PageMapper, in physmap() argument 1610 mapper: &mut PageMapper, in zeroed() argument
|
H A D | fault.rs | 11 arch::{mm::PageMapper, MMArch}, 57 mapper: &'a mut PageMapper, 71 mapper: &'a mut PageMapper, in new() argument
|
H A D | page.rs | 1097 pub struct PageMapper<Arch, F> { struct 1107 impl<Arch: MemoryManagementArch, F: FrameAllocator> PageMapper<Arch, F> { argument 1596 impl<Arch, F: Debug> Debug for PageMapper<Arch, F> { implementation
|
/DragonOS/kernel/src/arch/x86_64/kvm/vmx/ |
H A D | ept.rs | 2 use crate::arch::mm::PageMapper; 38 mapper: PageMapper, 46 fn lock_cpu(cpuid: ProcessorId, mapper: PageMapper) -> Self { in lock_cpu() 75 let mapper = unsafe { PageMapper::current(PageTableKind::EPT, LockedFrameAllocator) }; in lock()
|
H A D | vcpu.rs | 9 use crate::arch::mm::{LockedFrameAllocator, PageMapper}; 396 let mapper: crate::mm::page::PageMapper<X86_64MMArch, LockedFrameAllocator> = unsafe { in kvm_mmu_load() 397 PageMapper::create(PageTableKind::EPT, LockedFrameAllocator) in kvm_mmu_load()
|
/DragonOS/docs/kernel/memory_management/ |
H A D | allocate-memory.md | 21 …apper::lock()`函数,获得一个内核映射器对象,然后进行映射。由于KernelMapper是对PageMapper的封装,因此您在获取KernelMapper之后,可以使用PageMap…
|
H A D | intro.md | 10 - **页面映射器(PageMapper)**- 提供对虚拟地址和物理地址的映射,以及页表的创建、填写、销毁、权限管理等操作。分为两种类型:内核页表映射器(KernelMapper)和用户页表映射器…
|
/DragonOS/kernel/src/arch/riscv64/mm/ |
H A D | init.rs | 83 let mut mapper: crate::mm::page::PageMapper<MMArch, &mut BumpAllocator<MMArch>> = in riscv_mm_init() 84 crate::mm::page::PageMapper::<MMArch, _>::create( in riscv_mm_init() 147 let mapper = crate::mm::page::PageMapper::<MMArch, _>::new( in riscv_mm_init() 181 mapper: &mut crate::mm::page::PageMapper<MMArch, &mut BumpAllocator<MMArch>>, in remap_at_low_address()
|
H A D | mod.rs | 27 pub type PageMapper = crate::mm::page::PageMapper<RiscV64MMArch, LockedFrameAllocator>; typedef 194 let new_umapper: crate::mm::page::PageMapper<MMArch, LockedFrameAllocator> = unsafe { in setup_new_usermapper() 195 PageMapper::create(PageTableKind::User, LockedFrameAllocator) in setup_new_usermapper()
|
/DragonOS/kernel/src/arch/x86_64/mm/ |
H A D | mod.rs | 42 pub type PageMapper = typedef 43 crate::mm::page::PageMapper<crate::arch::x86_64::mm::X86_64MMArch, LockedFrameAllocator>; 235 let new_umapper: crate::mm::page::PageMapper<X86_64MMArch, LockedFrameAllocator> = unsafe { in setup_new_usermapper() 236 PageMapper::create(PageTableKind::User, LockedFrameAllocator) in setup_new_usermapper() 478 let mut mapper: crate::mm::page::PageMapper<MMArch, &mut BumpAllocator<MMArch>> = in allocator_init() 479 crate::mm::page::PageMapper::<MMArch, _>::create( in allocator_init() 539 let mapper = crate::mm::page::PageMapper::<MMArch, _>::new( in allocator_init() 711 pub unsafe fn remap_at_low_address(mapper: &mut PageMapper) { in remap_at_low_address() argument 726 pub unsafe fn unmap_at_low_address(mapper: &mut PageMapper, flush: bool) { in unmap_at_low_address() argument
|
H A D | fault.rs | 29 pub type PageMapper = typedef 30 crate::mm::page::PageMapper<crate::arch::x86_64::mm::X86_64MMArch, LockedFrameAllocator>; 76 unsafe { PageMapper::current(crate::mm::PageTableKind::User, LockedFrameAllocator) }; in show_fault_oops()
|
/DragonOS/kernel/src/mm/allocator/ |
H A D | bump.rs | 11 page::PageMapper, 112 PageMapper::<MMA, _>::current(PageTableKind::Kernel, BumpAllocator::<MMA>::new(0)); in ensure_early_mapping()
|
/DragonOS/docs/community/ChangeLog/V0.1.x/ |
H A D | V0.1.8.md | 358 …- **页面映射器(PageMapper)**- 提供对虚拟地址和物理地址的映射,以及页表的创建、填写、销毁、权限管理等操作。分为两种类型:内核页表映射器(KernelMapper)和用户页表映射… 399 …- **页面映射器(PageMapper)**- 提供对虚拟地址和物理地址的映射,以及页表的创建、填写、销毁、权限管理等操作。分为两种类型:内核页表映射器(KernelMapper)和用户页表映射…
|