chyyuu / ucore_os_plus

232 stars 132 forks source link

rv32: fn setup_page_table(frame: Frame) ? #37

Open chyyuu opened 5 years ago

chyyuu commented 5 years ago

in arch/riscv32/paging.rs
// Set kernel identity map p2[0x40].set(Frame::of_addr(PhysAddr::new(0x10000000)), ......); p2[KERNEL_PML4].set(Frame::of_addr(PhysAddr::new((KERNEL_PML4 as u32) << 22)),......); p2[KERNEL_PML4 + 1].set(Frame::of_addr(PhysAddr::new((KERNEL_PML4 as u32 + 1) << 22)),......);

What's the meaning of these mappings?

@wangrunji0408

chyyuu commented 5 years ago

0x40 -- 1^6 <<22 E.Q. 1^28 == 0x10000000 --1^28 后面又映射了两个4M 这样一共映射了12MB空间