From 4e78127811d26b75632d12e374128c9c24ee938b Mon Sep 17 00:00:00 2001 From: KAAAsS Date: Mon, 17 May 2021 23:48:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=A4=8D=E5=88=B6=E7=9A=84?= =?UTF-8?q?=E6=AE=B5=E5=AF=B9=E9=BD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lab3/kernel/process/thread.c | 2 +- lab4/kernel/process/thread.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lab3/kernel/process/thread.c b/lab3/kernel/process/thread.c index 095d77b..31d517e 100644 --- a/lab3/kernel/process/thread.c +++ b/lab3/kernel/process/thread.c @@ -193,7 +193,7 @@ static u64 load_binary(struct process *process, // 复制段内存 section_data = bin + elf->p_headers[i].p_offset; - alloc_section = (char *) phys_to_virt(pmo->start); + alloc_section = (char *) phys_to_virt(pmo->start) + (p_vaddr & (PAGE_SIZE - 1)); kdebug("Copy segment[%d] from addr %lx -> %lx, len = %d\n", i, section_data, alloc_section, seg_sz); memcpy(alloc_section, section_data, seg_sz); diff --git a/lab4/kernel/process/thread.c b/lab4/kernel/process/thread.c index 84b716b..d66adff 100644 --- a/lab4/kernel/process/thread.c +++ b/lab4/kernel/process/thread.c @@ -207,7 +207,7 @@ static u64 load_binary(struct process *process, // 复制段内存 section_data = bin + elf->p_headers[i].p_offset; - alloc_section = (char *) phys_to_virt(pmo->start); + alloc_section = (char *) phys_to_virt(pmo->start) + (p_vaddr & (PAGE_SIZE - 1)); kdebug("Copy segment[%d] from addr %lx -> %lx, len = %d\n", i, section_data, alloc_section, seg_sz); memcpy(alloc_section, section_data, seg_sz);