[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