Author: quozl Date: Sat Aug 10 00:47:21 2013 New Revision: 3697 URL: http://tracker.coreboot.org/trac/openfirmware/changeset/3697
Log: OLPC XO-1 XO-1.5 - follow x86 linux boot protocol, wipe the sentinels, for compatibility with unpatched kernel 3.9 onwards, #12727
Modified: cpu/x86/pc/linux.fth
Modified: cpu/x86/pc/linux.fth ============================================================================== --- cpu/x86/pc/linux.fth Fri Jul 12 13:29:04 2013 (r3696) +++ cpu/x86/pc/linux.fth Sat Aug 10 00:47:21 2013 (r3697) @@ -93,21 +93,12 @@ : add-root-dev ( cmdline$ -- cmdline$' ) ; [then] +: setup-header-end ( -- endbyte ) load-base h# 201 + c@ h# 202 + ; +: setup-header-size ( -- #bytes ) setup-header-end h# 1f1 - 1+ ;
: set-parameters ( cmdline$ -- ) screen-info linux-params /screen-info move \ Ostensibly screen info
- h# 40 +lp h# 14 erase \ apm_bios_info (APM BIOS info) - h# 54 +lp h# 0c erase \ pad2 - h# 60 +lp h# 10 erase \ ist_info (Intel SpeedStep BIOS info) - h# 70 +lp h# 10 erase \ pad3 - h# 80 +lp h# 10 erase \ hd0_info (obsolete) - h# 90 +lp h# 10 erase \ hd1_info (obsolete) - h# a0 +lp h# 10 erase \ sys_desc_table (from MCA - Microchannel) - h# b0 +lp h# 90 erase \ pad4 - h# 140 +lp h# 80 erase \ edid_info - h# 1c0 +lp h# 20 erase \ efi_info - linux-memtop ( #bytes ) d# 1023 invert and d# 1024 / ( #kbytes ) d# 1024 - h# 002 +lp w! \ Kbytes of extended (not the 1st meg) memory @@ -269,7 +260,8 @@ " HdrS" comp if false exit then ( ) h# 10.0000 to linux-base code16-size to cmdline-offset \ Save in case we clobber load-base - load-base 0 +lp code16-size move \ Copy the 16-bit stuff + h# 0 +lp d# 4096 erase + load-base h# 1f1 + h# 1f1 +lp setup-header-size move \ Copy the 16-bit stuff loaded code16-size /string linux-base swap move \ Copy the 32-bit stuff true to linux-loaded? true