All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Horman <horms@verge.net.au>
To: Caz Yokoyama <cazyokoyama@gmail.com>
Cc: xen-devel@lists.xensource.com, 'Keir Fraser' <keir.fraser@eu.citrix.com>
Subject: Re: [PATCH] break-in to Xen 1) when gdb is invoked and 2) ^C on gdb
Date: Fri, 21 Aug 2009 16:08:22 +1000	[thread overview]
Message-ID: <20090821060822.GC10945@verge.net.au> (raw)
In-Reply-To: <37DF3FCE0089419A843FCFAB49BF15A6@xpjpn>

On Thu, Aug 20, 2009 at 10:37:05PM -0700, Caz Yokoyama wrote:
> Hello Simon,
> I afraid I don't understand your question. I assume your question is why I
> move the declaration of lsr from inside of while loop to outside. The reason
> is that I expect lsr is allocated and de-allocated every time the body of
> the while loop is executed. The speed of serial port is slow. Therefore,
> there may be no difference. Also gcc may optimize allocation and
> de-allocation moving toward outside of while loop.
> Let me know if I haven't answered your question.
> -caz

My question is, why are the following two lines included in your patch.
They don't seem to be necessary.

#if 1
#endif

> -----Original Message-----
> From: Simon Horman [mailto:horms@verge.net.au] 
> Sent: Thursday, August 20, 2009 5:24 PM
> To: Caz Yokoyama
> Cc: 'Keir Fraser'; xen-devel@lists.xensource.com
> Subject: Re: [Xen-devel] [PATCH] break-in to Xen 1) when gdb is invoked and
> 2) ^C on gdb
> 
> On Mon, Aug 17, 2009 at 01:56:38PM -0700, Caz Yokoyama wrote:
> > Hello Keir,
> > This patch makes gdb break-in to Xen when 1) it is invoked and 2) ^C is
> > typed on gdb or clicking interrupt on ddd.
> > diff -r 8b0f1f37e145 xen/common/keyhandler.c
> > --- a/xen/common/keyhandler.c	Sun Aug 16 08:46:08 2009 +0100
> > +++ b/xen/common/keyhandler.c	Mon Aug 17 10:07:04 2009 -0700
> > @@ -397,7 +397,11 @@
> >      .desc = "print all diagnostics"
> >  };
> >  
> > +#if 1
> > +void do_debug_key(unsigned char key, struct cpu_user_regs *regs)
> > +#else
> >  static void do_debug_key(unsigned char key, struct cpu_user_regs *regs)
> > +#endif
> >  {
> >      printk("'%c' pressed -> trapping into debugger\n", key);
> >      (void)debugger_trap_fatal(0xf001, regs);
> > diff -r 8b0f1f37e145 xen/drivers/char/ns16550.c
> > --- a/xen/drivers/char/ns16550.c	Sun Aug 16 08:46:08 2009 +0100
> > +++ b/xen/drivers/char/ns16550.c	Mon Aug 17 10:07:04 2009 -0700
> > @@ -16,6 +16,7 @@
> >  #include <xen/serial.h>
> >  #include <xen/iocap.h>
> >  #include <asm/io.h>
> > +#include <xen/keyhandler.h>
> >  
> >  /*
> >   * Configure serial port with a string:
> > @@ -125,10 +126,16 @@
> >  {
> >      struct serial_port *port = dev_id;
> >      struct ns16550 *uart = port->uart;
> > +    char lsr;
> >  
> >      while ( !(ns_read_reg(uart, IIR) & IIR_NOINT) )
> >      {
> > -        char lsr = ns_read_reg(uart, LSR);
> > +        lsr = ns_read_reg(uart, LSR);
> > +#if 1
> 
> Is there a reason for #if 1 here?
> 
> > +        if ( lsr & LSR_BI ) { /* on BREAK */
> > +            do_debug_key('g', regs); /* g is meaningless */
> > +        }
> > +#endif
> >          if ( lsr & LSR_THRE )
> >              serial_tx_interrupt(port, regs);
> >          if ( lsr & LSR_DR )
> > diff -r 8b0f1f37e145 xen/include/xen/keyhandler.h
> > --- a/xen/include/xen/keyhandler.h	Sun Aug 16 08:46:08 2009 +0100
> > +++ b/xen/include/xen/keyhandler.h	Mon Aug 17 10:07:04 2009 -0700
> > @@ -40,6 +40,10 @@
> >      char *desc;
> >  };
> >  
> > +#if 1
> > +extern void do_debug_key(unsigned char key, struct cpu_user_regs *regs);
> > +#endif
> > +
> >  /* Initialize keytable with default handlers */
> >  extern void initialize_keytable(void);
> > 
> > Xen expects BREAK and 'g' which is the same sequence of the one on Linux
> > kernel. I submitted a patch which sends BREAK and 'g' to gdb-patches on
> > 08/07, but it is not approved yet.
> > You can't use ssplitd/nsplitd because it does not pass BREAK. Therefore,
> you
> > lose console output and corresponding ^A^A^A functions. My associated
> lines
> > for the patch are
> > menu.lst
> >         kernel /boot/xen-3.5-unstable.gz com1=115200,8n1 gdb=com1 
> > .gdbinit
> > 	set remotebreak BREAK-g
> > 	target remote /dev/ttyS0
> >  ddd --gdb --debugger "/home/caz/lightfleet/kgdb/gdb-KgdbLight/gdb/gdb"
> > xen/xen-syms
> > -caz
> > 
> 
> 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xensource.com
> > http://lists.xensource.com/xen-devel
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

  reply	other threads:[~2009-08-21  6:08 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-12  2:15 [PATCH] fix the bug of gdb which debugs xen Caz Yokoyama
2009-08-12  7:58 ` Keir Fraser
2009-08-12 12:52   ` Caz Yokoyama
2009-08-12 13:29     ` Keir Fraser
2009-08-12 21:03       ` Caz Yokoyama
2009-08-13 13:30         ` Paolo Bonzini
2009-08-13 14:05           ` Caz Yokoyama
2009-08-13  2:54       ` Caz Yokoyama
2009-08-13  7:31         ` Keir Fraser
2009-08-14  3:52           ` Caz Yokoyama
2009-08-14 20:03           ` Caz Yokoyama
2009-08-17 20:56           ` [PATCH] break-in to Xen 1) when gdb is invoked and 2) ^C on gdb Caz Yokoyama
2009-08-21  0:24             ` Simon Horman
2009-08-21  5:37               ` Caz Yokoyama
2009-08-21  6:08                 ` Simon Horman [this message]
2009-08-21 11:12                   ` Caz Yokoyama

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090821060822.GC10945@verge.net.au \
    --to=horms@verge.net.au \
    --cc=cazyokoyama@gmail.com \
    --cc=keir.fraser@eu.citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.