Okay, I was playing with this a little, and both build seem to get
their first interrupts in before the interrupt dispatcher is ready.  (On
grub, at least; I haven't tried my most recent set of changes on
etherboot, but I don't expect any change there.)  One interrupt (14)
happens just before JJOS identifies the processor type, and is printed out
as happening, but then (possibly overwritten by kernel messages?) I never
see an attempt to dispatch it.  Following that, interrupt 9 fires, and the
code in scheduler.cc (was "VM corrupt #3") (now) says it's assuming the
static initialization isn't done yet; immediately thereafter, it does the
same for interrupt 14.

        I can't generate interrupts with the keyboard (normally interrupt
9) at all/ever.  I don't know if this is because the keyboard is waiting
for its first interrupt to be serviced (i.e. I need to initialize the kbd
controller under grub but not etherboot for some reason) or if it's
indicative of a deeper problem.

        At any rate, I added a .clear_screen() method to jjconsol, because
the head_grub.s86 asm doesn't do the same thing as head_ether.s86 (set vga
text mode and clear it) -- which it probably should.

        What, exactly, are the differences between how head_grub leaves
things setup and how head_ether does?  I think the migrating VGA address
(A20 line?) might be an indication of some problem along these lines...

-_Quinn


_______________________________________________
Kernel maillist  -  [EMAIL PROTECTED]
http://jos.org/mailman/listinfo/kernel

Reply via email to