#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