From 22407101170a9f88e21823b0f7858f16773ace02 Mon Sep 17 00:00:00 2001 From: KAAAsS Date: Wed, 20 Apr 2022 00:25:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20map=5Fkernel=5Fspace=20?= =?UTF-8?q?=E7=9A=84=E5=88=9D=E5=A7=8B=E5=8C=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lab2/kernel/mm/mm.c | 4 ++-- lab3/kernel/mm/mm.c | 4 ++-- lab4/kernel/mm/mm.c | 4 ++-- lab5/kernel/mm/mm.c | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) 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; } //