[Crash-utility] Re: [PATCH 2/2] Add vmemmap support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 30 Nov 2023, Shijie Huang wrote:

but can VMEMMAP_VADDR and phys_offset can be used to get vmemmap value
on arm64?

On arm64, I can get vmemmap by parsing "memstart_addr".

But I cannot know if CONFIG_SPARSEMEM_VMEMMAP is enabled.

You can get to the struct page pointer through the VMEMMAP and the frame number. So you would need to get the pfn from the phys_offset.

memmory_model.h:

/* memmap is virtually contiguous.  */
#define __pfn_to_page(pfn)      (vmemmap + (pfn))
#define __page_to_pfn(page)     (unsigned long)((page) - vmemmap)

/*
 * Convert a physical address to a Page Frame Number and back
 */
#define __phys_to_pfn(paddr)    PHYS_PFN(paddr)
#define __pfn_to_phys(pfn)      PFN_PHYS(pfn)





So if the kernel can export "vmemmap", everything become easy.

All the archs supporting the VMEMMAP can benifit from it, such as arm64, ppc,loongarch,riscv..

And x86. CONFIG_SPARSEMEM_VMEMMAP was developed for x86 initially.
--
Crash-utility mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxxxxxx
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki




[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux