This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

LSI 33k ?


Does anyone know anything about the LSI 33k?  Okay, more specifically, did
support for this core ever actually work in GDB?

In mips-tdep.c, I see the following:

    /* Names of LSI 33k registers.  */

    char *mips_lsi33k_reg_names[] = {
            "epc",      "hi",   "lo",   "sr",   "cause","badvaddr",
            "dcic", "bpc",  "bda",  "",     "",     "",     "",      "",
            "",     "",     "",     "",     "",     "",     "",      "",
            ...

With the exception of IRIX, the first line for all of the other regname
sets look like this:

	    "sr",	"lo",	"hi",	"bad",	"cause","pc",

I'm not concerned about IRIX, because BADVADDR_REGNUM, CAUSE_REGNUM,
PC_REGNUM, etc. are redefined in the appropriate tm-*.h file.

The LSI 33k rearranges these registers, apparently even the PC_REGNUM
value, but nowhere do I see a PC_REGNUM definition that's specific to
the LSI 33k.  This is bad because if the LSI 33k registers are really
laid out as indicated by lsi33_reg_names[], then there's no way that
GDB is actually obtaining the correct PC value whenever it uses PC_REGNUM.
(It'll be using the "baddvaddr" value...)

I thought for a while that perhaps the LSI 33k was simply bit-rotted,
but after doing some digging in the old Cygnus CVS repository, I don't
see how it could have ever worked.

Does anyone know?

Kevin


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]