#9100 BLOC 10.1.2: 2.6.27+ early boot crashes on XO1

Zarro Boogs per Child bugtracker at laptop.org
Sat Aug 21 09:19:28 EDT 2010


#9100: 2.6.27+ early boot crashes on XO1
--------------------------------+-------------------------------------------
           Reporter:  dsd       |       Owner:  dsaxena                          
               Type:  defect    |      Status:  new                              
           Priority:  blocker   |   Milestone:  10.1.2                           
          Component:  kernel    |     Version:  Development build as of this date
         Resolution:            |    Keywords:                                   
        Next_action:  diagnose  |    Verified:  0                                
Deployment_affected:            |   Blockedby:                                   
           Blocking:            |  
--------------------------------+-------------------------------------------

Comment(by dsd):

 Hal has received the serial console and we've narrowed down the conditions
 of the hang. Call trace is i386_start_kernel --> reserve_ebda_region

 http://lxr.free-electrons.com/source/arch/x86/kernel/head.c?v=2.6.31

 This function does:
 {{{
 #define BIOS_LOWMEM_KILOBYTES 0x413
         lowmem = *(unsigned short *)__va(BIOS_LOWMEM_KILOBYTES);
         lowmem <<= 10;
 }}}

 At this point, lowmem usually has value 0.

 In the case when it crashes, lowmem has value 0x800 (meaning that the
 memory at 0x413 has value 0x2 instead of 0).

 Then:

 {{{
         ebda_addr = get_bios_ebda();
 }}}

 This consistently returns 0x20000 (in both the hang and non-hang case)

 The function then does a few potential tweaks to the lowmem value (based
 on the values of lowmem and ebda_addr), then calls:

 {{{
         /* reserve all memory between lowmem and the 1MB mark */
         reserve_early_overlap_ok(lowmem, 0x100000, "BIOS reserved");
 }}}

 and the hang occurs somewhere within that function call.

 So, why is the value of BIOS_LOWMEM_KILOBYTES changing? Is this something
 controlled by OFW?

-- 
Ticket URL: <http://dev.laptop.org/ticket/9100#comment:47>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list