Re: PPC KGDB changes and some help?

From: George Anzinger
Date: Wed Jan 21 2004 - 18:07:46 EST


Tom Rini wrote:
On Wed, Jan 21, 2004 at 10:23:12PM +0530, Amit S. Kale wrote:


Hi,

Here it is: ppc kgdb from timesys kernel is available at
http://kgdb.sourceforge.net/kgdb-2/linux-2.6.1-kgdb-2.1.0.tar.bz2

This is my attempt at extracting kgdb from TimeSys kernel. It works well in TimeSys kernel, so blame me if above patch doesn't work.


Okay, here's my first patch against this.
===== kernel/kgdbstub.c 1.1 vs edited =====
--- 1.1/kernel/kgdbstub.c Wed Jan 21 10:13:17 2004
+++ edited/kernel/kgdbstub.c Wed Jan 21 10:53:38 2004
@@ -1058,9 +1058,6 @@
kgdb_serial->write_char('+');
linux_debug_hook = kgdb_handle_exception;
-
- if (kgdb_ops->kgdb_init)
- kgdb_ops->kgdb_init();
/* We can't do much if this fails */
register_module_notifier(&kgdb_module_load_nb);
@@ -1104,6 +1101,11 @@
if (!kgdb_enter) {
return;
}
+
+ /* Let the arch do any initalization it needs to */
+ if (kgdb_ops->kgdb_init)
+ kgdb_ops->kgdb_init();
+
if (!kgdb_serial) {
printk("KGDB: no gdb interface available.\n"
"kgdb can't be enabled\n");

I'm not sure why you were calling the arch-specific init so late in the
process, but since it's a nop on both i386 and x86_64 (so perhaps it
should be removed for both of these?), this change doesn't matter to
them. But it does make the PPC code cleaner, IMHO.

I agree. Lets dump all the init calls/code. I have not seen anything yet that can not be done as a side effect of the first call, or better yet, at compile time.

I am willing to be shown a valid case, however. Remember, I want to be able to do a breakpoint() as the first line of C code in the kernel. (works with the mm kgdb).


--
George Anzinger george@xxxxxxxxxx
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml

-
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/