The kernel is assuming that timer 0 has been set up to count with a period of 0 (which is effectively 0xFFFF, it's maximum value) by the BIOS during system bring up. It's trying to watch the value of the timers count in order to switch from using the PIT for interrupts to the APIC right after the timer goes off/wraps around. This is all fine, except the BIOS never runs so the timer never gets set up, the count never changes, and the kernel hangs. What I need to do is to go in and fake the initialization as if the BIOS had done something, but I need to make sure it works with checkpointing and all that so I can't just stick it in a constructor. What do people think is a good place to do that? I'm thinking of making it the platform objects responsibility but the system object is the one that knows when things are coming up, right? I'm only really aware of ways to bring up the CPUs and not how to do ISA specific initialization of the system/platform/whatever else.

Gabe
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to