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

Problems with oskit-mach



I tried testing my patch for fpu emulation for oskit-mach in the last coupla
days. The first step was to actually boot with the oskit-mach kernel.
However that's where my problems started, and I haven't been able to get
past that.

The first problem was that my computer generated a general protection fault
in the i386/intel/pmap.c::pmap_boostrap() function where the code was trying
to modify the %cr4 register. I have a K6-III which pretends to support the
PGE extension (judging from the cpuid output), the code was trying to enable
the flag for this feature in the %cr4 register and that generated the GPF. 
However the same code did not produce any errors while booting with the same
kernel image inside Bochs, which claims to be a Pentium emulator. I'm not
sure if it's a bug or simply an undocumented feature of my K6 cpu, becuase
K6's claim to be Pentium (i586) compatible, but my book on Intel 
microprocessors claims that the PGE extension was only added in Pentium Pro's 
(i686). So I don't even know if my cpuid output is correct. Has anyone else 
been able to run oskit-mach on a K6 cpu? And another thing, to the best of my 
knowledge the cr4 register did not appear in the ix86 family before the 
Pentium (i586) CPU, so why isn't that code in pmap_bootstrap() in an
#if defined(i586) || defined(i386) ?

Once, I kludged around that problem What I got was a page fault in the main 
emulation function i386/i386/math-emu/fpu_entry.c::math_emulate() which I
identified and tried to fix. However upon subsequent attempts to boot with
a recompiled image of the kernel, I no longer get the same error. Infact I 
can't even determine what kind of error I get because once the boot messages
get past the detection of my IDE hardrives and cdrom, my computer just reboots
faster then the eye could catch the error message. Would anyone care to
suggest a place where to put a convenient `while(1);' statement so that I
could actually see what the problem is?

The same problem does not occur while with the Bochs emulator but the problem
there is actually trying to get enough code to do the tests on a floppy image. 
I have to say I've found it quite problematic trying to create a hardrive
image and to put stuff on it. I'll try to work on it a bit more and see what
I can do. Oh, and that raises another question, what is a multiboot module
supposed to look like? In other words what do I have to do if I want to plug
something in instead of serverboot?

Any suggestions and comments are very welcome. Even just to tell me if I'm 
talking crazy talk. :-)

Thanks.

Igor


-- 
To UNSUBSCRIBE, email to debian-hurd-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: