[openfirmware] r867 - in cpu/x86/pc: . olpc

svn at openfirmware.info svn at openfirmware.info
Mon Aug 4 20:33:08 CEST 2008


Author: wmb
Date: 2008-08-04 20:33:08 +0200 (Mon, 04 Aug 2008)
New Revision: 867

Modified:
   cpu/x86/pc/linux.fth
   cpu/x86/pc/olpc/addrs.fth
   cpu/x86/pc/olpc/versions.fth
Log:
OLPC - extended the high-address v=p page directory area to
include the frame buffer and other devices.


Modified: cpu/x86/pc/linux.fth
===================================================================
--- cpu/x86/pc/linux.fth	2008-08-03 06:47:41 UTC (rev 866)
+++ cpu/x86/pc/linux.fth	2008-08-04 18:33:08 UTC (rev 867)
@@ -128,11 +128,14 @@
 
 \ If we are running in physical address mode, make a page directory
 \ that will map up when the kernel turns on paging.
+: v=p-pde  ( adr -- )
+   dup h# 83 or  cr3@  rot d# 22 rshift la+  l!
+;
 : make-ofw-pdir  ( -- )
    cr3@  if  exit  then
    h# 1000  h# 1000  mem-claim cr3!
    cr3@  h# 1000 erase
-   fw-virt-base h# 83 or  cr3@ fw-virt-base d# 22 rshift la+ l!
+   fw-map-limit fw-map-base  do  i v=p-pde  h# 40.0000 +loop
    cr4@  h# 10 or  cr4!
 ;
 

Modified: cpu/x86/pc/olpc/addrs.fth
===================================================================
--- cpu/x86/pc/olpc/addrs.fth	2008-08-03 06:47:41 UTC (rev 866)
+++ cpu/x86/pc/olpc/addrs.fth	2008-08-04 18:33:08 UTC (rev 867)
@@ -88,6 +88,9 @@
 h# f.0800 constant resume-data
 
 \ If you change these, also change {g/l}xmsrs.fth and {g/l}xearly.fth
+h# fd00.0000 constant fw-map-base
+h# ffc0.0000 constant fw-map-limit
+
 h# fd00.0000 constant fb-pci-base
 h# fe00.0000 constant gp-pci-base
 h# fe00.4000 constant dc-pci-base
@@ -99,7 +102,7 @@
 h# fe02.0000 constant nand-pci-base
 h# fe02.4000 constant sd-pci-base
 h# fe02.8000 constant camera-pci-base
-h# efc0.0000 constant uoc-pci-base
+h# fe02.c000 constant uoc-pci-base
 
 h# 9.fc00 constant 'ebda  \ Extended BIOS Data Area, which we co-opt for our real-mode workspace
 

Modified: cpu/x86/pc/olpc/versions.fth
===================================================================
--- cpu/x86/pc/olpc/versions.fth	2008-08-03 06:47:41 UTC (rev 866)
+++ cpu/x86/pc/olpc/versions.fth	2008-08-04 18:33:08 UTC (rev 867)
@@ -2,7 +2,7 @@
 
 \ The overall firmware revision
 macro: FW_MAJOR E
-macro: FW_MINOR 12f
+macro: FW_MINOR 12g
 
 \ The EC microcode
 macro: EC_VERSION e11




More information about the openfirmware mailing list