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.

Yours Tony

  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
Xen-ppc-devel@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel

Reply via email to