>
> Bruce wrote:
> > Well, I've been doing quite a bit of follow-the-code, trying to figure
> > out why the trunk kernel, when compiled and then trunk-aoted, crashes.
> > (My biggest problem being, having not written the IDT code, and with
> > it not being fully documented ATM, I really didn't know what was going
> > on.)
>
> When an interrupt occurs the processor uses the idt field (IDT.cs:26)
> that is initialized in SetupISR
> and it jumps to ISR_XX (IDT.cs:435) where xx is the index of the
> interrupt that occurred.
> ISR_XX are defined as labels in ISRHandlers and they all jump to
> ISRDispatcher
> (IDT.cs:1711) and that does only read the address of the SharpOS c#
> handler
> (IDT.cs:1727-1731) that is setup in the ISRTable.
>
> ISRTable is the array that is containing the addresses of the Interrupt
> handlers and it is
> initialized with the address of ISR_DEFAULT_HANDLER (IDT.cs:144).
>
> That way SetupIRQ (IDT.cs:118) can be used to setup a new interrupt
> handler instead of updating
> the x86 idt table.
>
> Hopefully it was clear enough if not please let me know.


Goodness, I didn't even see the second half of your e-mail...

Actually, I  figured it out. It took me a while, to trace all the dots -
because I was trying to figure out why the DEFAULT_ISR_HANDLER was getting
called. (CPU exception did not even occur to me at first...)
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
SharpOS-Developers mailing list
SharpOS-Developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sharpos-developers

Reply via email to