#12727 NORM Not Tri: OFW doesn't follow x86 linux boot protocol

Zarro Boogs per Child bugtracker at laptop.org
Sat Jul 13 10:40:47 EDT 2013

#12727: OFW doesn't follow x86 linux boot protocol
           Reporter:  dsd                  |       Owner:  Quozl        
               Type:  defect               |      Status:  new          
           Priority:  normal               |   Milestone:  Not Triaged  
          Component:  ofw - open firmware  |     Version:  not specified
         Resolution:                       |    Keywords:               
        Next_action:  communicate          |    Verified:  0            
Deployment_affected:                       |   Blockedby:               
           Blocking:                       |  

Comment(by dsd):

 Replying to [comment:1 Quozl]:
 > Please test with crank:~quozl/q3c16ja.rom which:
 >  * clears the sentinel byte at 0x1ef, and

 That does not seem correct. The sentinel byte is there in order to detect
 cases where the firmware is not following the docs, and this is one such
 case. so instead of special casing this specific sentinel, why don't we
 just do what is documented?

 The firmware should zero out bytes 0 to 0x1f0 inclusive. Then it should
 copy from 0x1f1 from the kernel image as described:

 The memory for struct boot_params
 should be allocated and initialized to all zero. Then the setup header
 from offset 0x01f1 of kernel image on should be loaded into struct
 boot_params and examined. The end of setup header can be calculated as
         0x0202 + byte value at offset 0x0201

 After doing that it should fill in the specific data items it wants to set
 (e.g. the OFW CIF).

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

More information about the Bugs mailing list