1 Star 0 Fork 44

chengquan/kexec-tools

forked from src-openEuler/kexec-tools 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
bugfix-get-the-paddr-of-mem_section-return-error-address.patch 1.27 KB
一键复制 编辑 原始数据 按行查看 历史
chengquan 提交于 2020-05-12 11:12 +08:00 . Update software to v2.0.20
From daa57a0d1aa31fad5811ba70d37e1ed23773151e Mon Sep 17 00:00:00 2001
From: kangenbo <kangenbo@huawei.com>
Date: Wed, 30 Jan 2019 15:50:31 +0800
Subject: [PATCH] kexec-tools: get the paddr of mem_section return error address
reason: get the paddr of mem_section return error address
Signed-off-by: kangenbo <kangenbo@huawei.com>
---
makedumpfile-1.6.7/arch/arm64.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/makedumpfile-1.6.7/arch/arm64.c b/makedumpfile-1.6.7/arch/arm64.c
index 2fd3e18..cc59e63 100644
--- a/makedumpfile-1.6.7/arch/arm64.c
+++ b/makedumpfile-1.6.7/arch/arm64.c
@@ -336,7 +336,7 @@ vaddr_to_paddr_arm64(unsigned long vaddr)
if ((pud_val(pudv) & PUD_TYPE_MASK) == PUD_TYPE_SECT) {
/* 1GB section for Page Table level = 4 and Page Size = 4KB */
- paddr = (pud_val(pudv) & (PUD_MASK & PMD_SECTION_MASK))
+ paddr = (pud_val(pudv) & (PUD_MASK & PHYS_MASK))
+ (vaddr & (PUD_SIZE - 1));
return paddr;
}
@@ -367,7 +367,7 @@ vaddr_to_paddr_arm64(unsigned long vaddr)
break;
case PMD_TYPE_SECT:
/* 512MB section for Page Table level = 3 and Page Size = 64KB*/
- paddr = (pmd_val(pmdv) & (PMD_MASK & PMD_SECTION_MASK))
+ paddr = (pmd_val(pmdv) & (PMD_MASK & PHYS_MASK))
+ (vaddr & (PMD_SIZE - 1));
break;
}
--
1.7.12.4
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/chengquanspace/kexec-tools.git
git@gitee.com:chengquanspace/kexec-tools.git
chengquanspace
kexec-tools
kexec-tools
master

搜索帮助