#4050 NORM Untriag: OFW diags should catch timer stalls
Zarro Boogs per Child
bugtracker at laptop.org
Fri Oct 5 16:36:58 EDT 2007
#4050: OFW diags should catch timer stalls
---------------------------------+------------------------------------------
Reporter: wmb at firmworks.com | Owner: wmb at firmworks.com
Type: defect | Status: new
Priority: normal | Milestone: Untriaged
Component: ofw - open firmware | Version:
Keywords: | Verified: 0
---------------------------------+------------------------------------------
I just diagnosed a Linux startup failure that was caused by the ISA timer
("PIT") not ticking.
The visible symptom was that OFW loads the kernel and ramdisk correctly,
then nothing else happens - no Linux startup messages on either serial or
screen, even with unfreeze.
I put some tracers in a test kernel and found that the system was hanging
at main.c:start_kernel() -> time.c:time_init() -> tsc.c:tsc_init() ->
calculate_cpu_khz()
The hardware cause of the problem is that the ISA timer is not ticking.
Under OFW, reads of port 40 (timer0) always return 0; that port should
return a different number on every read.
Attempts to read the MFGPT suggest that the 14 MHz clock is not running -
the MFGPTs that use the 32 kHz clock (6 and 7) behave normally, but the
ones the use the 14 mHz clock (0 - 5) hang after enabling the control
register.
There are two things that need to be done:
a) The OFW diagnostics should be enhanced to detect and report this
problem.
b) We need to start a wiki page describing failure modes and probable
causes.
--
Ticket URL: <https://dev.laptop.org/ticket/4050>
One Laptop Per Child <https://dev.laptop.org>
OLPC bug tracking system
More information about the Bugs
mailing list