#ifdef OSKIT_ARM32_SHARK driver(cs89x0, "Crystal Semiconductor CS89[02]0", NULL, "Russell Nelson", "cs89x0", cs89x0_probe) #else driver(lance, "LANCE", "AMD", "Donald Becker", "lance", lance_probe) #endifWhy is this necessary? I believe it is because the ethernet driver initialization code causes each driver to probe for its card, and probing for non-LANCE cards seems to hurt VMware.
void clock_init() { #ifndef KNIT osenv_timer_init(); #endif timeout_init(); init_timecounter(&dummy_timecounter); // inittodr(0); osenv_timer_register(clockintr, hz); }Why is this necessary? Something about how the RTC PIO's work in the flux OSKit is causing VMware grief. The specific line of code that crashes VMware is line 221 of dev/x86/rtclock.c, i.e.,
rtcout(RTC_MONTH, bin2bcd(m + 1));Also, for kicks, look at the definition of the iodelay macro in oskit/x86/pio.h...