[Patch][RFC] makedumpfile: fix for xen-3.1.2

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

 



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 */




[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux