[openfirmware] r1151 - cpu/x86/pc/biosload

svn at openfirmware.info svn at openfirmware.info
Sat Apr 18 21:16:40 CEST 2009


Author: wmb
Date: 2009-04-18 21:16:40 +0200 (Sat, 18 Apr 2009)
New Revision: 1151

Modified:
   cpu/x86/pc/biosload/devices.fth
   cpu/x86/pc/biosload/fw.bth
Log:
biosload version - support config variable storage on a USB stick.





Modified: cpu/x86/pc/biosload/devices.fth
===================================================================
--- cpu/x86/pc/biosload/devices.fth	2009-04-18 19:11:32 UTC (rev 1150)
+++ cpu/x86/pc/biosload/devices.fth	2009-04-18 19:16:40 UTC (rev 1151)
@@ -199,14 +199,19 @@
 dev /file-nvram
 : fd-nv-file  ( -- )  " a:\nvram.dat"  ;
 : hd-nv-file  ( -- )  " c:\nvram.dat"  ;
-' fd-nv-file to nv-file
+: usb-nv-file  ( -- )  " u:\nvram.dat"  ;
+' usb-nv-file to nv-file
 device-end
+: reread-config-vars  ( -- )
+   config-valid?  if  exit  then
+   ['] init-config-vars catch drop
+;
 stand-init: Pseudo-NVRAM
    " /file-nvram" open-dev  to nvram-node
    nvram-node 0=  if
       ." The configuration EEPROM is not working" cr
    then
-   ['] init-config-vars catch drop
+   reread-config-vars
 ;
 [then]
 
@@ -310,8 +315,13 @@
 end-package
 [then]
 
+[ifdef] use-usb-debug-port
+fload ${BP}/dev/usb2/device/debugport.fth	\ ISA COM port driver
+[else]
 fload ${BP}/dev/isa/diaguart.fth	\ ISA COM port driver
 h# 3f8 is uart-base
+[then]
+
 fload ${BP}/forth/lib/sysuart.fth	\ Use UART for key and emit
 fload ${BP}/cpu/x86/pc/egauart.fth		\ Output also to EGA
 

Modified: cpu/x86/pc/biosload/fw.bth
===================================================================
--- cpu/x86/pc/biosload/fw.bth	2009-04-18 19:11:32 UTC (rev 1150)
+++ cpu/x86/pc/biosload/fw.bth	2009-04-18 19:16:40 UTC (rev 1151)
@@ -16,7 +16,6 @@
 
 ' (quit) to quit
 
-create debug-startup
 : \Tags [compile] \  ; immediate
 : \NotTags [compile] \  ; immediate
 
@@ -247,9 +246,7 @@
          key upc ascii I  =  if  ." Interacting" cr  hex interact  then
       then
    then
-
 \  cr0@ h# 9fff.ffff and cr0!	\ enable L1 and L2 caches
-
 ;
 warning !
 [then]
@@ -303,6 +300,13 @@
 [then]
    report-disk
    report-pci-fb
+   \ In case the config vars are stored on a USB stick ...
+   [ifdef] reread-config-vars
+      config-valid? 0=  if
+         reread-config-vars
+         use-nvramrc?  if  nvramrc safe-evaluate  then
+      then
+   [then]
 ;
 
 : startup  ( -- )
@@ -316,6 +320,7 @@
    auto-banner?  if
       " Probing" ?type  probe-all
       " Install console" ?type  install-console
+      ?usb-keyboard
       banner
    then
 




More information about the openfirmware mailing list