[openfirmware] r949 - in cpu/x86/pc: . biosload
svn at openfirmware.info
svn at openfirmware.info
Tue Sep 30 22:23:34 CEST 2008
Author: wmb
Date: 2008-09-30 22:23:34 +0200 (Tue, 30 Sep 2008)
New Revision: 949
Modified:
cpu/x86/pc/biosload/addrs.fth
cpu/x86/pc/biosload/biostart.bth
cpu/x86/pc/biosload/devices.fth
cpu/x86/pc/biosload/probemem.fth
cpu/x86/pc/biosload/start.bth
cpu/x86/pc/getms.fth
Log:
Biosload build - more support for building to run under VirtualBox.
Modified: cpu/x86/pc/biosload/addrs.fth
===================================================================
--- cpu/x86/pc/biosload/addrs.fth 2008-09-30 20:18:05 UTC (rev 948)
+++ cpu/x86/pc/biosload/addrs.fth 2008-09-30 20:23:34 UTC (rev 949)
@@ -20,6 +20,14 @@
h# 08.0000 constant dropin-size
[then]
+[ifdef] virtualbox-loaded
+ h# f0.0000 constant dropin-base \ Location of payload in RAM
+ h# 08.0000 constant dropin-size
+ h# 1.0000 constant dma-base \ DMA heap
+ h# 8.0000 constant dma-size
+
+[then]
+
[ifdef] preof-loaded
h# 2000.0000 constant ramsize
h# fff8.0020 constant dropin-base \ Location of payload in ROM
Modified: cpu/x86/pc/biosload/biostart.bth
===================================================================
--- cpu/x86/pc/biosload/biostart.bth 2008-09-30 20:18:05 UTC (rev 948)
+++ cpu/x86/pc/biosload/biostart.bth 2008-09-30 20:23:34 UTC (rev 949)
@@ -15,7 +15,7 @@
hex
-fload ${BP}/cpu/x86/pc/biosload/addrs.fth
+fload ${BP}/cpu/x86/pc/biosload/config.fth
h# 0.0400 constant gdt-pa
h# 0.1000 constant stacktop
Modified: cpu/x86/pc/biosload/devices.fth
===================================================================
--- cpu/x86/pc/biosload/devices.fth 2008-09-30 20:18:05 UTC (rev 948)
+++ cpu/x86/pc/biosload/devices.fth 2008-09-30 20:23:34 UTC (rev 949)
@@ -23,10 +23,6 @@
[then]
fload ${BP}/cpu/x86/pc/biosload/pcinode.fth \ System-specific words for PCI
- [ifdef] use-mediagx
- h# 4100.0000 to first-mem \ Avoid scratchpad RAM
- h# ff00.0000 to mem-space-top
- [then]
end-package
stand-init: PCI host bridge
" /pci" " init" execute-device-method drop
@@ -58,46 +54,30 @@
fload ${BP}/cpu/x86/pc/getms.fth
[then]
-[ifdef] use-mediagx
-fload ${BP}/dev/mediagx/reg.fth \ MediaGX constants and access
-fload ${BP}/dev/mediagx/dump.fth
-[then]
-
[ifdef] use-pci-isa
[ifdef] addresses-assigned
\ This must precede isamisc.fth in the load file, to execute it first
-fload ${BP}/cpu/x86/pc/biosload/moveisa.fth
+fload ${BP}/cpu/x86/pc/moveisa.fth
[then]
0 0 " 0" " /pci" begin-package
fload ${BP}/dev/pci/isa.fth \ ISA bus bridge under PCI node
fload ${BP}/dev/pci/isamisc.fth
end-package
-
-[ifdef] addresses-assigned
-fload ${BP}/dev/mediagx/cx5530/nomapsmi.fth
[then]
-[then]
-dev /interrupt-controller
-h# 20 to vector-base0
-h# 28 to vector-base1
-device-end
-
-[ifdef] use-mediagx
-0 0 " 40008100" " /" begin-package
- fload ${BP}/dev/mediagx/video/loadpkg.fth
-end-package
-devalias screen /display
-[then]
-
[ifdef] use-pc87560
0 0 " 5,1" " /pci" begin-package \ ISA bus bridge
fload ${BP}/dev/pc87560.fth \ SouthBridge ISA bus bridge
end-package
[then]
+dev /interrupt-controller
+h# 20 to vector-base0
+h# 28 to vector-base1
+device-end
+
[ifdef] use-pc87317
fload ${BP}/dev/pc87317.fth \ National PC87317 superIO
[then]
@@ -109,22 +89,30 @@
dup value /device
constant /device-phys
my-address my-space /device-phys reg
- fload ${BP}/cpu/x86/pc/flashpkg.fth
+\ fload ${BP}/cpu/x86/pc/flashpkg.fth
+ fload ${BP}/dev/flashpkg.fth
+end-package
- : init ( comp$ /device -- )
- to /device 2>r
- 0 0 encode-bytes
- 2r> encode-string encode+
- " rom" encode-string encode+
- " compatible" property
-[ifdef] enable-flash-select
- /device /device-phys <> if enable-flash-select then
-[then]
- ;
+[ifdef] notdef
+\ Create a node below the top-level FLASH node to accessing the portion
+\ containing the dropin modules
+0 0 0 0 " flash" begin-package
+ " dropins" device-name
+ dropin-size constant /device
+ fload ${BP}/dev/subrange.fth
end-package
-" rom" dropin-base <# u#s " /flash@" hold$ u#> $devalias
+[then]
+\ devalias dropins /dropins
+devalias dropins /flash
+
+\ Create a pseudo-device that presents the dropin modules as a filesystem.
+fload ${BP}/ofw/fs/dropinfs.fth
+
+\ This devalias lets us say, for example, "dir rom:"
+devalias rom /dropin-fs
+
fload ${BP}/cpu/x86/forthint.fth \ Low-level interrupt handling code
fload ${BP}/dev/isa/irq.fth \ ISA interrupt dispatcher
fload ${BP}/cpu/x86/pc/isatick.fth \ Use ISA timer as the alarm tick timer
@@ -195,8 +183,8 @@
[ifdef] pseudo-nvram
fload ${BP}/cpu/x86/pc/biosload/filenv.fth
dev /file-nvram
-: floppy-nv-file ( -- ) " a:\nvram.dat" ;
-' floppy-nv-file to nv-file
+: hd-nv-file ( -- ) " c:\nvram.dat" ;
+' hd-nv-file to nv-file
device-end
stand-init: Pseudo-NVRAM
" /file-nvram" open-dev to nvram-node
Modified: cpu/x86/pc/biosload/probemem.fth
===================================================================
--- cpu/x86/pc/biosload/probemem.fth 2008-09-30 20:18:05 UTC (rev 948)
+++ cpu/x86/pc/biosload/probemem.fth 2008-09-30 20:23:34 UTC (rev 949)
@@ -41,9 +41,9 @@
fw-pa /fw-ram + heap-base heap-size + umax /ram release
then
- dropin-base /ram u< if
- dropin-base dropin-size + /ram over - release
- then
+\ dropin-base /ram u< if
+\ dropin-base dropin-size + /ram over - release
+\ then
[then]
;
Modified: cpu/x86/pc/biosload/start.bth
===================================================================
--- cpu/x86/pc/biosload/start.bth 2008-09-30 20:18:05 UTC (rev 948)
+++ cpu/x86/pc/biosload/start.bth 2008-09-30 20:23:34 UTC (rev 949)
@@ -28,7 +28,7 @@
label startup
[ifdef] debug-startup
-ascii x report
+\ ascii x report
[then]
ret
Modified: cpu/x86/pc/getms.fth
===================================================================
--- cpu/x86/pc/getms.fth 2008-09-30 20:18:05 UTC (rev 948)
+++ cpu/x86/pc/getms.fth 2008-09-30 20:23:34 UTC (rev 949)
@@ -56,7 +56,7 @@
\ We use "0<" instead of "0<=" so that we are sure to wait at least
\ the requested time; otherwise we might not wait long enough if the
\ first call to get-msecs were to occur just before the timer ticked.
- begin dup get-msecs - 0<= until \ Loop until target time reached
+ begin dup ?halt get-msecs - 0<= until \ Loop until target time reached
drop ( )
else ( #ms )
More information about the openfirmware
mailing list