>> Im trying to implement frequency scaling that happens at runtime, but I am >> running into a problem with Full System. The kernel is reporting soft >> lockups being detected. I am guessing that this is related to the timer >> interrupts not scaling when I increase the cpu frequency (I am using >> TimingSimpleCPU), and the kernel thinks more time has passed between >> interrupts than actually has. Can someone help me narrow down what I need >> to modify to get this to work? I cannot seem to find where the timer >> interrupts (either PIC or RTC) are based off the CPU frequency in M5 to >> cause this to happen. > >PIC/RTC interrupts are not based on CPU frequency. They're based on >absolute ticks as programmed by the OS. My guess is that the real >problem is that the OS doesn't know that you've changed the CPU >frequency. You probably want to implement a cpufreq driver for your >system (you could probably do a pretty simple one and just implement >it using special M5 instructions.) I've never done this, but I've >looked at the code before and if I recall, things were pretty simple >in the ARM drivers (stay away from x86 and ACPI as examples of what to >do). > > Nate
If the PIC/RTC timers are programmed with absolute system time based on the global clock which they do appear to be, then what is the OS measuring besides these interrupts to detect I've somehow changed the CPU frequency underneath it? I guess it's time to dive into inspecting the timer and boot code to figure this out, along with looking at a potential driver. Geoff _______________________________________________ m5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
