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.