diff options
author | Kazuhito Hagio <k-hagio@ab.jp.nec.com> | 2018-11-08 14:26:43 -0500 |
---|---|---|
committer | Kazuhito Hagio <k-hagio@ab.jp.nec.com> | 2018-11-16 13:20:50 -0500 |
commit | 9eb5a31bc2d7f6af88459b89c414fe144e7491f8 (patch) | |
tree | a51b71fb4982fda2502d0041f59ac5757a4b0c51 /elf_info.c | |
parent | d015e6df8bd320fbabcd98cc157acf655fc0851b (diff) |
[PATCH] Prepare paddr_to_vaddr() for arch-specific p2v conversion
Currently, conversion from physical address to virtual address in
--mem-usage option is "paddr + PAGE_OFFSET", which was written for
x86_64, but it's not suitable especially for arm64.
This patch introduces paddr_to_vaddr() macro to get prepared for
arch-specific physical to virtual conversion.
Tested-by: Bhupesh Sharma <bhsharma@redhat.com>
Signed-off-by: Kazuhito Hagio <k-hagio@ab.jp.nec.com>
Diffstat (limited to 'elf_info.c')
-rw-r--r-- | elf_info.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -372,7 +372,7 @@ int set_kcore_vmcoreinfo(uint64_t vmcoreinfo_addr, uint64_t vmcoreinfo_len) off_t offset_desc; offset = UNINITIALIZED; - kvaddr = (ulong)vmcoreinfo_addr + PAGE_OFFSET; + kvaddr = paddr_to_vaddr(vmcoreinfo_addr); for (i = 0; i < num_pt_loads; ++i) { struct pt_load_segment *p = &pt_loads[i]; @@ -810,10 +810,11 @@ static int exclude_segment(struct pt_load_segment **pt_loads, int i, j, tidx = -1; unsigned long long vstart, vend, kvstart, kvend; struct pt_load_segment temp_seg = {0}; - kvstart = (ulong)start + PAGE_OFFSET; - kvend = (ulong)end + PAGE_OFFSET; unsigned long size; + kvstart = paddr_to_vaddr(start); + kvend = paddr_to_vaddr(end); + for (i = 0; i < (*num_pt_loads); i++) { vstart = (*pt_loads)[i].virt_start; vend = (*pt_loads)[i].virt_end; |