Re: [Kgdb-bugreport] [PATCH] Kill kgdb_serial

From: Tom Rini
Date: Thu Mar 04 2004 - 10:18:09 EST


On Wed, Mar 03, 2004 at 04:27:57PM -0800, George Anzinger wrote:
> Tom Rini wrote:
> >But that's not what you get with kgdb_serial. You get the possibility
> >of serial from point A to B and you will have eth from point B onward,
> >if compiled in. With an arch serial driver you get the possibility of
> >serial (or arch serial or whatever) from point A to B and eth from point
> >B onward, if compiled in.
>
> I don't think we want to switch. Rather we want to say something like: If
> no eth (or other input) options are on the command line then its is serial.
> If eth (or other input) is there, that is what we use.
>
> This does leave open what happens when "eth" is given and we hit a
> breakpoint prior to looking at the command line, but now this just fails so
> we would be hard put to do worse.

This doesn't fail right now, or rather it shouldn't. We would call
kgdb_arch_init() which would set it to 8250 (or arch serial) and go. If
8250||arch serial is compiled in.

> >I think you missed the point. The problem isn't with providing weak
> >functions, the problem is trying to set the function pointer. PPC
> >becomes quite clean since the next step is to kill off
> >PPC_SIMPLE_SERIAL and just have kgdb_read/write_debug_char in the
> >relevant serial drivers.
>
> No, you just set the default at configure time. It is just done in such
> away as to allow it to be overridden.

Which means you have to either c&p this into kgdb_arch_init for every
arch that provides it's own, or (and I've been thinking that this isn't
necessarily a bad idea) standardize on names for the arch serial driver,
and in kernel/kgdb.c::kgdb_entry() do:
#ifdef CONFIG_KGDB_8250
extern ... kgdb8250_serial;
kgdb_serial = &kgdb8250_serial;
#elif CONFIG_KGDB_ARCH_SERIAL
extern ... kgdbarch_serial;
kgdb_serial = &kgdbarch_serial;
#elif CONFIG_KGDB_ETH
extern ... kgdboe_serial;
kgdb_serial = &kgdboe_serial;
#endif

--
Tom Rini
http://gate.crashing.org/~trini/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/