From 830283078f381a089c0b19fee46076d0428c0246 Mon Sep 17 00:00:00 2001 From: KAAAsS Date: Sat, 15 May 2021 00:11:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E9=A1=B5=E8=A1=A8=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E6=98=A0=E5=B0=84=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lab2/kernel/mm/page_table.c | 2 +- lab3/kernel/mm/page_table.c | 2 +- note.org | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lab2/kernel/mm/page_table.c b/lab2/kernel/mm/page_table.c index bb14fd6..b3376c9 100644 --- a/lab2/kernel/mm/page_table.c +++ b/lab2/kernel/mm/page_table.c @@ -220,7 +220,7 @@ int map_range_in_pgtbl(vaddr_t * pgtbl, vaddr_t va, paddr_t pa, // 创建一页 cur_ptp = (ptp_t *) pgtbl; for (cur_level = 0; cur_level < 4; cur_level++) { - page_type = get_next_ptp(cur_ptp, cur_level, va, &next_ptp, &entry, true); + page_type = get_next_ptp(cur_ptp, cur_level, va_cur, &next_ptp, &entry, true); if (page_type < 0) { // 无法映射 return page_type; diff --git a/lab3/kernel/mm/page_table.c b/lab3/kernel/mm/page_table.c index bb14fd6..b3376c9 100644 --- a/lab3/kernel/mm/page_table.c +++ b/lab3/kernel/mm/page_table.c @@ -220,7 +220,7 @@ int map_range_in_pgtbl(vaddr_t * pgtbl, vaddr_t va, paddr_t pa, // 创建一页 cur_ptp = (ptp_t *) pgtbl; for (cur_level = 0; cur_level < 4; cur_level++) { - page_type = get_next_ptp(cur_ptp, cur_level, va, &next_ptp, &entry, true); + page_type = get_next_ptp(cur_ptp, cur_level, va_cur, &next_ptp, &entry, true); if (page_type < 0) { // 无法映射 return page_type; diff --git a/note.org b/note.org index 6dd31df..12725f6 100644 --- a/note.org +++ b/note.org @@ -112,6 +112,8 @@ LR 没啥特别的。不过目前只实现了用户空间的 2k 页分配。 +好家伙,循环里面忘记用 va_cur 用了 va。但是测试用例竟然过了 →_→ + *** 练习3 boot/mmu.c:L80-106 映射了 KBASE~KBASE+256M