[Patch v3 5/7] prepare the dump loads for kcore analysis
bhe at redhat.com
bhe at redhat.com
Tue Aug 12 03:10:49 PDT 2014
On 08/01/14 at 07:12am, Atsushi Kumagai wrote:
> > * Get ELF information about /proc/vmcore.
> >diff --git a/elf_info.h b/elf_info.h
> >index 3ce0138..ba27fdf 100644
> >--- a/elf_info.h
> >+++ b/elf_info.h
> >@@ -46,6 +46,7 @@ int get_elf_info(int fd, char *filename);
> > void free_elf_info(void);
> > int get_elf_loads(int fd, char *filename);
> > int set_kcore_vmcoreinfo(uint64_t vmcoreinfo_addr, uint64_t vmcoreinfo_len);
> >+int get_kcore_dump_loads();
> >
> > int is_elf64_memory(void);
> > int is_xen_memory(void);
> >diff --git a/makedumpfile.h b/makedumpfile.h
> >index 7ffa1ee..8881c76 100644
> >--- a/makedumpfile.h
> >+++ b/makedumpfile.h
> >@@ -719,6 +719,7 @@ unsigned long long vaddr_to_paddr_x86(unsigned long vaddr);
> > #endif /* x86 */
> >
> > #ifdef __x86_64__
> >+int is_vmalloc_addr(ulong vaddr);
> > int get_phys_base_x86_64(void);
> > int get_machdep_info_x86_64(void);
> > int get_versiondep_info_x86_64(void);
>
> It will fail to build due to undefined is_vmalloc_addr() except on
> x86_64, let's define it also for the other architectures like below:
>
> #ifdef __x86__
> int get_machdep_info_x86(void);
> int get_versiondep_info_x86(void);
> +int is_vmalloc_addr_x86(ulong vaddr);
> unsigned long long vaddr_to_paddr_x86(unsigned long vaddr);
> #define get_phys_base() TRUE
> #define get_machdep_info() get_machdep_info_x86()
> #define get_versiondep_info() get_versiondep_info_x86()
> #define vaddr_to_paddr(X) vaddr_to_paddr_x86(X)
> +#define is_vmalloc_addr(X) is_vmalloc_addr_x86(X)
> #endif /* x86 */
>
> Besides, I think it's better to rename the is_vmalloc_addr() in
> arch/x86_64.c to is_vmalloc_addr_x86_64().
Great idea, will change.
>
>
> Thanks
> Atsushi Kumagai
>
> _______________________________________________
> kexec mailing list
> kexec at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kexec
More information about the kexec
mailing list