Port-powerpc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Traps...



I am getting a positively bizarre error now.

I have finally gotten the image booter to work perfectly, as far as I can
tell, although it does not support .gz files yet.  I'll clean it up and
post to the list as soon as it is ready for release.  I need someone on a
non-powermac to test it first, though.

Just to clear up one spot of confusion - the kernel is currently ALWAYS
loaded through ofwboot, right?  I had to do something positively skanky - I
moved the original BAT mapping and MSR[IT], MSR[DT] setup out of the
kernel's machdep.c into ofwboot's Locore.c.  That, among other things, did
the trick.

Now, I get booting...In kernels with IPKDB enabled (GENERIC) I get the
IPKDB: No interfaces found message...I get the copyright message...and then
I get a Program Check interrupt, which is type 700.

Now, there are three really wierd parts to this.  First of all, it was
generated with IPKDB enabled or disabled; second, the same trap handler
caught it both times - IPKDB grabs that vector, though!  It is definitely
our default trap() however, so installing the traps works all right (I set
MSR[IP] beforehand).  The third weird part is that it occurs at address
0x00000300.  Yes, that's the very beginning of the DSI handler.

Can someone pretty please explain to me why our DSI handler is causing a
program  check and why it isn't being trapped properly?


Other than that, progress is decent.  All
thoughts/speculation/ideas/words/code fragments appreciated.

Dan

---------------------------------------------------------------------
| Dan Jacobowitz                 | drow%drow.net@localhost                    |
|  Administrator Extraordinaire  | Web site coming someday          |
| My opinions are my own -       | Day Job: http://www.wwwcomm.com  |
| My mistakes are someone else's |                                  |
---------------------------------------------------------------------





Home | Main Index | Thread Index | Old Index