[Patch][RFC] makedumpfile: fix for xen-3.1.2
Ken'ichi Ohmichi
oomichi at mxs.nes.nec.co.jp
Fri Apr 4 06:05:32 EDT 2008
Hi Takebe-san,
Akio Takebe wrote:
> This patch fixes makedumpfile for xen-3.1.
> xen-3.1.2+ hypervisor doesn't have idle_pg_table_l3,
> we need to find a symbole of idle_pg_table.
Thank you for the patch !
I tested your patch with RHEL5.2-beta, and it worked fine on i386 machine.
But it doesn't work on x86_64 machine. makedumpfile went to the loop in
kvtop_xen_x86_64(), and it failed with a segmentation fault:
makedumpfile/x86_64.c
196 if ((dirp = kvtop_xen_x86_64(SYMBOL(pgd_l4))) == NOT_PADDR) <- *HERE*
197 return NOT_PADDR;
If you know, please teach me. Should this patch fix the problem for
not only the upstream but also RHEL5.2 ?
Unfortunately I don't know the detail of xen, and I haven't used the
upstream xen yet.
Thanks
Ken'ichi Ohmichi
> --- makedumpfile/makedumpfile.c 2008-03-28 11:32:51.000000000 +0900
> +++ makedumpfile.mod/makedumpfile.c 2008-04-03 14:58:11.000000000 +0900
> @@ -5298,7 +5298,12 @@ get_symbol_info_xen()
> */
> SYMBOL_INIT(pgd_l2, "idle_pg_table_l2"); /* x86 */
> SYMBOL_INIT(pgd_l3, "idle_pg_table_l3"); /* x86-PAE */
> + if (SYMBOL(pgd_l3) == NOT_FOUND_SYMBOL)
> + SYMBOL_INIT(pgd_l3, "idle_pg_table"); /* x86-PAE */
> SYMBOL_INIT(pgd_l4, "idle_pg_table_4"); /* x86_64 */
> + if (SYMBOL(pgd_l4) == NOT_FOUND_SYMBOL)
> + SYMBOL_INIT(pgd_l4, "idle_pg_table"); /* x86_64 */
> +
> SYMBOL_INIT(xen_heap_start, "xen_heap_start"); /* ia64 */
> SYMBOL_INIT(xen_pstart, "xen_pstart"); /* ia64 */
> SYMBOL_INIT(frametable_pg_dir, "frametable_pg_dir"); /* ia64 */
More information about the kexec
mailing list