Why can't you just stick it in the constructor? You'll need to
serialize that timer value when a checkpoint is dropped and create an
event when the checkpoint is restored from, but you would need to do
that anyway. You can take a look at how we serialize the PIT for an
idea.
Ali
On May 30, 2008, at 6:12 PM, Gabe Black wrote:
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
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev