From: Tom Rini <trini@kernel.crashing.org>
To: "Amit S. Kale" <amitkale@emsyssoft.com>
Cc: Hollis Blanchard <hollisb@us.ibm.com>,
KGDB bugreports <kgdb-bugreport@lists.sourceforge.net>,
Linux Kernel <linux-kernel@vger.kernel.org>,
George Anzinger <george@mvista.com>,
Powerpc Linux <linuxppc-dev@lists.linuxppc.org>
Subject: Re: PPC KGDB changes and some help?
Date: Fri, 23 Jan 2004 10:08:14 -0700 [thread overview]
Message-ID: <20040123170814.GZ15271@stop.crashing.org> (raw)
In-Reply-To: <200401222136.10887.amitkale@emsyssoft.com>
On Thu, Jan 22, 2004 at 09:36:10PM +0530, Amit S. Kale wrote:
> On Thursday 22 Jan 2004 9:15 pm, Tom Rini wrote:
> > On Thu, Jan 22, 2004 at 09:25:19AM -0600, Hollis Blanchard wrote:
> > > On Jan 22, 2004, at 9:07 AM, Tom Rini wrote:
> > > >On Wed, Jan 21, 2004 at 03:12:25PM -0800, George Anzinger wrote:
> > > >>A question I have been meaning to ask: Why is the arch/common
> > > >>connection
> > > >>via a structure of addresses instead of just calls? I seems to me
> > > >>that
> > > >>just calling is a far cleaner way to do things here. All the struct
> > > >>seems
> > > >>to offer is a way to change the backend on the fly. I don't thing we
> > > >>ever
> > > >>want to do that. Am I missing something?
> > > >
> > > >I imagine it's a style thing. I don't have a preference either way.
> > >
> > > I think we in PPC land have gotten used to that "style" because we have
> > > one kernel that supports different "platforms", i.e. it selects the
> > > appropriate code at runtime as George says. In general that's a little
> > > bit slower and a little bit bigger.
> > >
> > > Unless you need to choose among PPC KGDB functions at runtime, which I
> > > don't think you do, you don't need it...
> >
> > That's certainly true, so if (and if I understand Georges question
> > right) Amit wants to change kgdb_arch into a set of required functions,
> > with stubs in, say, kernel/kgdbdummy.c, (and just keep the flags / etc
> > in the struct), that's fine with me.
>
> The penalty of keeping them consolidated in a structure isn't so high. I
> prefer to keep them that way. I'll work on reducing number of initialization
> functions, though.
Ok. After talking with George off-list, I think most of ppc_kgdb_init
can go. The only remaining part is the serial plugin, which could be
done ala the kgdb_8250 driver. But I've got a different idea:
arch/ppc/kernel/ppc-stub.c | 3 +--
drivers/serial/kgdb_8250.c | 4 +---
kernel/kgdbstub.c | 2 +-
3 files changed, 3 insertions(+), 6 deletions(-)
--- kernel/kgdbstub.c 2004-01-23 10:03:48.000000000 -0700
+++ kernel/kgdbstub.c 2004-01-23 10:06:19.000000000 -0700
@@ -61,7 +61,7 @@
gdb_breakpoint_t kgdb_break[MAX_BREAKPOINTS];
extern int pid_max;
-struct kgdb_serial *kgdb_serial;
+struct kgdb_serial *kgdb_serial = &kgdb_serial_driver;
int kgdb_initialized = 0;
int kgdb_enter = 0;
--- drivers/serial/kgdb_8250.c 2004-01-23 10:04:57.000000000 -0700
+++ drivers/serial/kgdb_8250.c 2004-01-23 09:57:26.000000000 -0700
@@ -370,7 +370,7 @@
rs_table[i].regshift = serial_req->regshift;
}
-struct kgdb_serial kgdb8250_serial = {
+struct kgdb_serial kgdb_serial_driver = {
.read_char = kgdb8250_read_char,
.write_char = kgdb8250_write_char,
.hook = kgdb8250_hook
@@ -396,8 +396,6 @@
kgdb8250_baud != 115200)
goto errout;
- kgdb_serial = &kgdb8250_serial;
-
return 1;
errout:
--- arch/ppc/kernel/ppc-stub.c 2004-01-23 10:04:46.000000000 -0700
+++ arch/ppc/kernel/ppc-stub.c 2004-01-23 09:57:47.000000000 -0700
@@ -264,7 +264,7 @@
return 0;
}
-struct kgdb_serial kgdbppc_serial = {
+struct kgdb_serial kgdb_serial_driver = {
.read_char = kgdbppc_read_char,
.write_char = kgdbppc_write_char,
.hook = kgdbppc_hook
@@ -272,5 +272,4 @@
void kgdbppc_init(void)
{
- kgdb_serial = &kgdbppc_serial;
}
This does mean that we can only have one serial driver per kernel, but I
don't see this as a problem. This also means that i386 would need
something like PPC's CONFIG_KGDB_TTYSx to pick something other than
ttyS0/115200 to use kgdb on, this early. But, IMHO, that's a small
price to pay.
--
Tom Rini
http://gate.crashing.org/~trini/
next prev parent reply other threads:[~2004-01-23 17:08 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20040120172708.GN13454@stop.crashing.org>
2004-01-21 14:16 ` PPC KGDB changes and some help? Amit S. Kale
2004-01-21 15:30 ` Tom Rini
2004-01-21 16:53 ` Amit S. Kale
2004-01-21 18:42 ` Tom Rini
2004-01-21 19:21 ` Tom Rini
2004-01-21 19:22 ` Tom Rini
2004-01-22 17:44 ` Tom Rini
2004-01-22 18:05 ` Tom Rini
2004-01-23 22:46 ` Tom Rini
2004-01-23 23:38 ` George Anzinger
2004-01-26 20:46 ` Tom Rini
2004-01-26 21:27 ` George Anzinger
2004-01-26 21:42 ` Tom Rini
2004-01-26 22:35 ` George Anzinger
2004-01-26 21:45 ` George Anzinger
2004-01-26 22:06 ` Tom Rini
2004-01-27 9:05 ` Amit S. Kale
2004-01-24 0:48 ` George Anzinger
2004-01-24 3:47 ` [PATCH] Kgdb dwarf2 for asm George Anzinger
2004-01-27 18:22 ` PPC KGDB changes and some help? Tom Rini
2004-01-21 22:03 ` Tom Rini
2004-01-21 23:12 ` George Anzinger
2004-01-22 15:07 ` Tom Rini
2004-01-22 15:25 ` Hollis Blanchard
2004-01-22 15:45 ` Tom Rini
2004-01-22 16:06 ` Amit S. Kale
2004-01-22 16:45 ` Tom Rini
2004-01-22 22:46 ` George Anzinger
2004-01-22 22:52 ` Tom Rini
2004-01-22 23:09 ` George Anzinger
2004-01-22 22:35 ` George Anzinger
2004-01-23 17:08 ` Tom Rini [this message]
2004-01-22 21:54 ` George Anzinger
2004-01-26 21:32 ` Tom Rini
2004-01-27 8:59 ` Amit S. Kale
2004-01-21 23:05 ` George Anzinger
2004-01-22 15:03 ` Tom Rini
2004-01-21 17:01 ` Amit S. Kale
2004-01-21 17:08 ` Tom Rini
2004-01-22 1:13 ` FYI: Free Online Book: Inside Linux Kernel and PowerPC Huailin Chen
2004-01-22 15:42 ` Hollis Blanchard
2004-01-22 18:43 ` URL: " Huailin Chen
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=20040123170814.GZ15271@stop.crashing.org \
--to=trini@kernel.crashing.org \
--cc=amitkale@emsyssoft.com \
--cc=george@mvista.com \
--cc=hollisb@us.ibm.com \
--cc=kgdb-bugreport@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.linuxppc.org \
/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.