Farid Hajji farid.hajji@ob.kamp.net writes:
Many thanks for your help, I'm sorry if this seems dumb but I really am confused with all the different parts of l4ka and l4hurd. As soon as I get all of this working, I am going to put together a complete guide to setting up bochs with l4ka, combining all of the above resources. That's *if* I get it working, and understand why!
You may want to try running L4Ka::Pistachio/x86 under the most recent bochs. We're planning to implement l4hurd on top of Pistachio, not Hazelnut.
I tried that, and FWICT, Pistachio needs the VME processor capapbility (virtual mode extensions, see http://x86.ddj.com/articles/vme1/vme_overview.htm), which bochs doesn't provide.
here is the relevant code (pistachio/kernel/src/glue/v4-ia32/init.cc):
--------------------- /** * checks the IA32 features (CPUID) to make sure the processor * has all necessary features */ static void SECTION(".init.cpu") check_cpu_features() { u32_t req_features = IA32_FEAT_FPU | IA32_FEAT_VME | IA32_FEAT_PSE; [...] if ((req_features & avail_features) != req_features) { printf("CPU does not support all features (%x) -- halting\n", req_features); -------
I wonder why Pistachio needs VME, however. Maybe someone can give a hint?
Regards, Andy
I tried that, and FWICT, Pistachio needs the VME processor capapbility (virtual mode extensions, see http://x86.ddj.com/articles/vme1/vme_overview.htm), which bochs doesn't provide.
here is the relevant code (pistachio/kernel/src/glue/v4-ia32/init.cc):
/**
- checks the IA32 features (CPUID) to make sure the processor
- has all necessary features */
static void SECTION(".init.cpu") check_cpu_features() { u32_t req_features = IA32_FEAT_FPU | IA32_FEAT_VME | IA32_FEAT_PSE; [...] if ((req_features & avail_features) != req_features) { printf("CPU does not support all features (%x) -- halting\n", req_features);
IIRC, someone already suggested a tempfix for bochs regarding VME. I don't remember the details without looking back in the archives, but was it not simply having bochs falsely _pretend_ that it supported VME? This would work as long as VME isn't _used_ in Pistachio... Of course, adding true VME support to bochs would be better. Any volunteers?
I wonder why Pistachio needs VME, however. Maybe someone can give a hint?
I'm as clueless as you here... ;)
-Farid.
l4-hackers@os.inf.tu-dresden.de