Messages in this thread | | | Date | Wed, 3 Mar 2004 09:04:09 -0700 | From | Tom Rini <> | Subject | Re: [Kgdb-bugreport] [PATCH] Kill kgdb_serial |
| |
On Wed, Mar 03, 2004 at 04:51:06PM +0100, Pavel Machek wrote: > Hi! > > > > > More precisely: > > > > http://lkml.org/lkml/2004/2/11/224 > > > > > > Well, that just says Andrew does not care too much. I think that > > > having both serial and ethernet support *is* good idea after all... I > > > have few machines here, some of them do not have serial, and some of > > > them do not have supported ethernet. It would be nice to use same > > > kernel on all of them. Also distribution wants to have "debugging > > > kernel", but does _not_ want to have 10 of them. > > > > But unless I'm missing something, supporting eth or 8250 at all times > > doesn't work right now anyhow, as eth if available will always take over. > > Well, that can be fixed. [Probably if kgdbeth= is not passed, ethernet > interface should not take over. So user selects which one should be > used by either passing kgdbeth or kgdb8250. That means that 8250 > should not be initialized until user passes kgdb8250=... not sure how > you'll like that].
At this point, I'm going to give up on killing kgdb_serial, and pass along some comments from David Woodhouse on IRC as well (I was talking about this issue, and the init/main.c change): (Tartarus == me, dwmw2 == David Woodhouse)
<Tartarus> dwmw2, the problem is how do you deal with all of the possibilities of i/o (8250, kgdboe, or other serial) and do you allow for passing 'gdb' on the command line to result in kgdb not being dropped into? You can always break in later on of course <dwmw2> parse command line early for 'gdb=' argument specifying which i/o device to use. init kgdb core early. init each i/o device as early as possible for that i/o device. Start the selected i/o device as soon as it becomes available. <dwmw2> just like console could, if we looked for console= a little bit earlier. (forget all the earlyconsole shite, it's not necessary) <dwmw2> Tartarrus, do the __early_setup() thing to replace __setup() for selected args. We can use that for console= too. <dwmw2> since 'console=' on the command line _already_ remembers its arguments, and starts to use the offending device as soon as it gets registered with register_console(). <Tartarus> dwmw2, __early_setup() ? <dwmw2> See __setup("gdb=", gdb_setup_func); <dwmw2> Replace with __early_setup(...) <Tartarus> where is __early_setup ? <dwmw2> before we normally parse the command line <dwmw2> in my head
So perhaps someone can take these ideas and fix both problems... :) (I've got some other stuff I need to work on today).
-- 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |