mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-20 10:06:31 +00:00
riscv64: 映射uefi systemtable,并完善了riscv64页表填写的部分内容 (#498)
* 从fdt的chosen段获取几个需要的字段 * merge patch-early-ioremap * feature: 增加early io remap的fixmap功能 允许在内存管理初始化之前,使用fixmap功能,映射一些物理内存,并记录. * riscv64: 映射uefi systemtable,并完善了riscv64页表填写的部分内容 * 更新仓库网址
This commit is contained in:
@ -284,6 +284,11 @@ impl MemoryManagementArch for X86_64MMArch {
|
||||
return None;
|
||||
}
|
||||
}
|
||||
|
||||
#[inline(always)]
|
||||
fn make_entry(paddr: PhysAddr, page_flags: usize) -> usize {
|
||||
return paddr.data() | page_flags;
|
||||
}
|
||||
}
|
||||
|
||||
impl X86_64MMArch {
|
||||
@ -334,8 +339,6 @@ impl X86_64MMArch {
|
||||
}
|
||||
|
||||
total_mem_size += mb2_mem_info[i].len as usize;
|
||||
// PHYS_MEMORY_AREAS[areas_count].base = PhysAddr::new(mb2_mem_info[i].addr as usize);
|
||||
// PHYS_MEMORY_AREAS[areas_count].size = mb2_mem_info[i].len as usize;
|
||||
|
||||
mem_block_manager()
|
||||
.add_block(
|
||||
@ -450,7 +453,7 @@ unsafe fn allocator_init() {
|
||||
// 取消最开始时候,在head.S中指定的映射(暂时不刷新TLB)
|
||||
{
|
||||
let table = mapper.table();
|
||||
let empty_entry = PageEntry::<MMArch>::new(0);
|
||||
let empty_entry = PageEntry::<MMArch>::from_usize(0);
|
||||
for i in 0..MMArch::PAGE_ENTRY_NUM {
|
||||
table
|
||||
.set_entry(i, empty_entry)
|
||||
|
Reference in New Issue
Block a user