On Wed, Apr 18, 2007 at 09:04:08AM +0200, Christian Ehrhardt wrote:
> [XEN][POWERPC] Fix Xen-GDB Stub (smp_sen_stop, E00 on unknown command,
> remove printk prefix)
> - Remove BUG() from smp_stop_all(), common code changes added a call to
> this - changed to unimplemented().
> - remove the printk prefix "(XEN) " when falling into gdb, because gdb
> tried to parse the "(XEN) " response sometimes
> - return E00 on unknown command (thx to jimi)
> Signed-off-by: Christian Ehrhardt <[EMAIL PROTECTED]>
> diff -r 736f2d6d7b09 xen/arch/powerpc/smp.c
> --- a/xen/arch/powerpc/smp.c Fri Mar 02 18:05:38 2007 -0600
> +++ b/xen/arch/powerpc/smp.c Thu Apr 12 14:34:39 2007 +0200
> @@ -68,7 +68,7 @@ int smp_call_function(void (*func) (void
> void smp_send_stop(void)
> - BUG();
> + unimplemented();
I wouldn't have thought that'd help. Last time I looked (which was
quite a while ago) unimplemented() still dumped stuff on the console,
which will confuse GDB.
On a wider note, How close is the SMP infrastructure to allowing
smp_send_stop() to be implemented?
> @@ -554,6 +554,7 @@ __trap_to_gdb(struct cpu_user_regs *regs
> /* Shouldn't really do this, but otherwise we stop for no
> obvious reason, which is Bad */
> printk("Waiting for GDB to attach...\n");
> + set_printk_prefix("");
I think what you need is a call to gdbstub_attach() (or similar)
that will make sure that all output from xen (or dom*) will be encoeded
as gdb 'O' packets, and shouldn't confuse anything. Of course you'll
need a call to gdbstub_detach() if you go dow that path.
linux.conf.au http://linux.conf.au/ || http://lca2008.linux.org.au/
Jan 28 - Feb 02 2008 The Australian Linux Technical Conference!
Xen-ppc-devel mailing list