diff --git a/lab2/kernel/mm/mm.c b/lab2/kernel/mm/mm.c index 95c99d5..e9a27c2 100644 --- a/lab2/kernel/mm/mm.c +++ b/lab2/kernel/mm/mm.c @@ -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 end_entry_idx = GET_L2_INDEX((va + len)); - for (u32 idx = start_entry_idx; idx < end_entry_idx; ++idx) { - table_l2[idx] = (pa + idx * SIZE_2M) | UXN | ACCESSED | INNER_SHARABLE | NORMAL_MEMORY | IS_VALID; + for (u32 idx = start_entry_idx, cnt = 0; idx < end_entry_idx; ++idx) { + table_l2[idx] = (pa + cnt++ * SIZE_2M) | UXN | ACCESSED | INNER_SHARABLE | NORMAL_MEMORY | IS_VALID; } // diff --git a/lab3/kernel/mm/mm.c b/lab3/kernel/mm/mm.c index 4159a15..1d2ba17 100644 --- a/lab3/kernel/mm/mm.c +++ b/lab3/kernel/mm/mm.c @@ -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 end_entry_idx = GET_L2_INDEX((va + len)); - for (u32 idx = start_entry_idx; idx < end_entry_idx; ++idx) { - table_l2[idx] = (pa + idx * SIZE_2M) | UXN | ACCESSED | INNER_SHARABLE | NORMAL_MEMORY | IS_VALID; + for (u32 idx = start_entry_idx, cnt = 0; idx < end_entry_idx; ++idx) { + table_l2[idx] = (pa + cnt++ * SIZE_2M) | UXN | ACCESSED | INNER_SHARABLE | NORMAL_MEMORY | IS_VALID; } // diff --git a/lab4/kernel/mm/mm.c b/lab4/kernel/mm/mm.c index 4159a15..1d2ba17 100644 --- a/lab4/kernel/mm/mm.c +++ b/lab4/kernel/mm/mm.c @@ -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 end_entry_idx = GET_L2_INDEX((va + len)); - for (u32 idx = start_entry_idx; idx < end_entry_idx; ++idx) { - table_l2[idx] = (pa + idx * SIZE_2M) | UXN | ACCESSED | INNER_SHARABLE | NORMAL_MEMORY | IS_VALID; + for (u32 idx = start_entry_idx, cnt = 0; idx < end_entry_idx; ++idx) { + table_l2[idx] = (pa + cnt++ * SIZE_2M) | UXN | ACCESSED | INNER_SHARABLE | NORMAL_MEMORY | IS_VALID; } // diff --git a/lab5/kernel/mm/mm.c b/lab5/kernel/mm/mm.c index 4159a15..1d2ba17 100644 --- a/lab5/kernel/mm/mm.c +++ b/lab5/kernel/mm/mm.c @@ -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 end_entry_idx = GET_L2_INDEX((va + len)); - for (u32 idx = start_entry_idx; idx < end_entry_idx; ++idx) { - table_l2[idx] = (pa + idx * SIZE_2M) | UXN | ACCESSED | INNER_SHARABLE | NORMAL_MEMORY | IS_VALID; + for (u32 idx = start_entry_idx, cnt = 0; idx < end_entry_idx; ++idx) { + table_l2[idx] = (pa + cnt++ * SIZE_2M) | UXN | ACCESSED | INNER_SHARABLE | NORMAL_MEMORY | IS_VALID; } //