On Thu, 2013-02-07 at 08:40 +0000, David Woodhouse wrote:
On Wed, 2013-02-06 at 23:13 -0500, Kevin O'Connor wrote:
Restoring flags on exit is assuredly more correct, and if I move timer_setup() to the prepare-to-boot phase this problem goes away for me. So, I think this is more evidence that the timer can not be enabled in the init-yourself phase.
Yeah, I'll change that. Thanks.
Ah, I see you already did. It breaks the pmtimer support though; we end up calling timer_setup() and thus setting cpu_khz *after* pmtimer_setup() has set it. Was that why you disabled CONFIG_PMTIMER for the CSM build in your tree? I've fixed that up in my tree now, as well as reinstating the pmtimer support for Xen and Coreboot builds.
With the ps2 init taking forever due to that bug, I also discovered that we really do need to call wait_threads() during the PrepareToBoot phase; I've put that back in too.