[openfirmware] [commit] r3697 - cpu/x86/pc
repository service
svn at openfirmware.info
Sat Aug 10 00:47:22 CEST 2013
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
More information about the openfirmware
mailing list