On Tue, Mar 02, 2004 at 04:36:11PM -0800, George Anzinger wrote:
Tom Rini wrote:
Regardless, it's not that we offer (nor does the -mm version, from what
I read of it) eth or serial at any point, it simply allows for serial to
be used and a switchover to eth. And if kgdb is attached at the time,
it's a 'fun' gdb session (or at least is was when I was trying it out in
-mm and then in my own version).
I am not really suggesting a live switch capability, more like something that is set a boot time.
That's still not, AFAICT, what's offered in -mm or kgdb.sf.net.
The real problem is that you start getting quite complex when you allow
for a system to be kgdb eth, or 8250, or some arch serial driver, or
some other I/O driver, and so on. PPC has 3, and I don't see it getting
smaller from there.
I had imagined that it would be rather like a file system. The stub would pass (or it could be a global if you prefer) the index to use into an array of interface structures. Something like:
struct kgdb_interface {
void (*kgdb_in)(*char)
:
:
}
struct kgdb_interface kgdb_io_array[N];
And how do you pick a default?
And with both of those points, I don't think it's worth the trouble that
point 2 is, given the limitations of point 1.
I imagine that I would like this. I would use the eth interface until required to use the serial. I would rather not have to rebuild the kernel to do this....
Then you're talking about live switching again, or some sort of control
from userland.