修正 map_kernel_space 的初始化问题
This commit is contained in:
parent
738430ab50
commit
2240710117
@ -78,8 +78,8 @@ void map_kernel_space(vaddr_t va, paddr_t pa, size_t len)
|
|||||||
// 设置页表
|
// 设置页表
|
||||||
u32 start_entry_idx = GET_L2_INDEX(va);
|
u32 start_entry_idx = GET_L2_INDEX(va);
|
||||||
u32 end_entry_idx = GET_L2_INDEX((va + len));
|
u32 end_entry_idx = GET_L2_INDEX((va + len));
|
||||||
for (u32 idx = start_entry_idx; idx < end_entry_idx; ++idx) {
|
for (u32 idx = start_entry_idx, cnt = 0; idx < end_entry_idx; ++idx) {
|
||||||
table_l2[idx] = (pa + idx * SIZE_2M) | UXN | ACCESSED | INNER_SHARABLE | NORMAL_MEMORY | IS_VALID;
|
table_l2[idx] = (pa + cnt++ * SIZE_2M) | UXN | ACCESSED | INNER_SHARABLE | NORMAL_MEMORY | IS_VALID;
|
||||||
}
|
}
|
||||||
|
|
||||||
// </lab2>
|
// </lab2>
|
||||||
|
@ -78,8 +78,8 @@ void map_kernel_space(vaddr_t va, paddr_t pa, size_t len)
|
|||||||
// 设置页表
|
// 设置页表
|
||||||
u32 start_entry_idx = GET_L2_INDEX(va);
|
u32 start_entry_idx = GET_L2_INDEX(va);
|
||||||
u32 end_entry_idx = GET_L2_INDEX((va + len));
|
u32 end_entry_idx = GET_L2_INDEX((va + len));
|
||||||
for (u32 idx = start_entry_idx; idx < end_entry_idx; ++idx) {
|
for (u32 idx = start_entry_idx, cnt = 0; idx < end_entry_idx; ++idx) {
|
||||||
table_l2[idx] = (pa + idx * SIZE_2M) | UXN | ACCESSED | INNER_SHARABLE | NORMAL_MEMORY | IS_VALID;
|
table_l2[idx] = (pa + cnt++ * SIZE_2M) | UXN | ACCESSED | INNER_SHARABLE | NORMAL_MEMORY | IS_VALID;
|
||||||
}
|
}
|
||||||
|
|
||||||
// </lab2>
|
// </lab2>
|
||||||
|
@ -78,8 +78,8 @@ void map_kernel_space(vaddr_t va, paddr_t pa, size_t len)
|
|||||||
// 设置页表
|
// 设置页表
|
||||||
u32 start_entry_idx = GET_L2_INDEX(va);
|
u32 start_entry_idx = GET_L2_INDEX(va);
|
||||||
u32 end_entry_idx = GET_L2_INDEX((va + len));
|
u32 end_entry_idx = GET_L2_INDEX((va + len));
|
||||||
for (u32 idx = start_entry_idx; idx < end_entry_idx; ++idx) {
|
for (u32 idx = start_entry_idx, cnt = 0; idx < end_entry_idx; ++idx) {
|
||||||
table_l2[idx] = (pa + idx * SIZE_2M) | UXN | ACCESSED | INNER_SHARABLE | NORMAL_MEMORY | IS_VALID;
|
table_l2[idx] = (pa + cnt++ * SIZE_2M) | UXN | ACCESSED | INNER_SHARABLE | NORMAL_MEMORY | IS_VALID;
|
||||||
}
|
}
|
||||||
|
|
||||||
// </lab2>
|
// </lab2>
|
||||||
|
@ -78,8 +78,8 @@ void map_kernel_space(vaddr_t va, paddr_t pa, size_t len)
|
|||||||
// 设置页表
|
// 设置页表
|
||||||
u32 start_entry_idx = GET_L2_INDEX(va);
|
u32 start_entry_idx = GET_L2_INDEX(va);
|
||||||
u32 end_entry_idx = GET_L2_INDEX((va + len));
|
u32 end_entry_idx = GET_L2_INDEX((va + len));
|
||||||
for (u32 idx = start_entry_idx; idx < end_entry_idx; ++idx) {
|
for (u32 idx = start_entry_idx, cnt = 0; idx < end_entry_idx; ++idx) {
|
||||||
table_l2[idx] = (pa + idx * SIZE_2M) | UXN | ACCESSED | INNER_SHARABLE | NORMAL_MEMORY | IS_VALID;
|
table_l2[idx] = (pa + cnt++ * SIZE_2M) | UXN | ACCESSED | INNER_SHARABLE | NORMAL_MEMORY | IS_VALID;
|
||||||
}
|
}
|
||||||
|
|
||||||
// </lab2>
|
// </lab2>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user