Bernhard Walle wrote: > Hi, > > * Simon Horman [2008-08-29 15:19]: >> On Thu, Aug 28, 2008 at 05:14:04PM -0700, Jay Lan wrote: >>> Specifically, an ia64. >>> >>> I added printf() to purgatory-ia64.c, compiled, and executed >>> the kexec command from a shell window (ie, not from a script), but >>> i still did not see the printf i put in. >>> >>> Thanks for help in advance! >> IIRC, the printf output in purgatory only shows on the VGA console. > > No, you just have to call kexec with right parameters: > > --console-serial > Enable the serial console. > > --serial=port > Specify the serial port for debug output. > > --serial-baud=baud_rate > Specify the baud rate of the serial port. > > However, I don't know if it works on IA64, especially with SGI consoles > I think one would have to patch kexec. > > Also, don't use --noio (which is the default on SUSE on IA64 because > we had problems on some machines without that parameter). This is bad news. We need --noio option. :( I have a 2.6.27 kernel that the kdump kernel would panic on boot, depending on the physical address of 'physical_node_map'. If it is located at the higher half of a 0xffff range, the instruction in build_cnode_tables() in arch/ia64/sn/kernel/setup.c: memset(physical_node_map, -1, sizeof(physical_node_map)); would overwrite kern_memmap array of the kdump kernel. It was so because, i think, the purgatory code of kexec creates a boot efi_memmap with memory regions overlaped. The above memset() put 0xff to part of memory of next region. I am trying to debug the purgatory code :( - jay > > > Bernhard