aboutsummaryrefslogtreecommitdiff
path: root/board-js2x
diff options
context:
space:
mode:
authorThomas Huth <thuth@linux.vnet.ibm.com>2011-11-04 16:46:33 +0100
committerThomas Huth <thuth@linux.vnet.ibm.com>2011-11-17 12:10:37 +0100
commite43f0673c4dbf95df451f938df9fcb0a67670df3 (patch)
tree581ef98e6593e8df6cee2d15f3a7c179e484d0cc /board-js2x
parent69cbb38fb540b1c458ad9a9299f14ff57b7f70c6 (diff)
downloadSLOF-e43f0673c4dbf95df451f938df9fcb0a67670df3.zip
SLOF-e43f0673c4dbf95df451f938df9fcb0a67670df3.tar.gz
SLOF-e43f0673c4dbf95df451f938df9fcb0a67670df3.tar.bz2
JS2x: Check whether biosemu has been executed successfully
The code did not check whether biosemu has been executed successfully - and this of course caused problems when SLOF has been compiled without biosemu enabled. Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Diffstat (limited to 'board-js2x')
-rw-r--r--board-js2x/slof/OF.fs21
1 files changed, 16 insertions, 5 deletions
diff --git a/board-js2x/slof/OF.fs b/board-js2x/slof/OF.fs
index 43dfcd7..e2e96f8 100644
--- a/board-js2x/slof/OF.fs
+++ b/board-js2x/slof/OF.fs
@@ -332,13 +332,18 @@ check-for-nvramrc
#include "elf.fs"
#include <loaders.fs>
+8a8 cp
+
\ check wether a VGA device was found during pci scan, if it was
\ try to initialize it and create the needed device-nodes
0 value biosemu-vmem
100000 value biosemu-vmem-size
0 value screen-info
-vga-device-node? 0<> use-biosemu? AND IF
+: init-vga-devices ( -- )
+ vga-device-node? 0= use-biosemu? 0= OR IF
+ EXIT
+ THEN
s" VGA Device found: " type vga-device-node? node>path type s" initializing..." type cr
\ claim virtual memory for biosemu of 1MB
biosemu-vmem-size 4 claim to biosemu-vmem
@@ -360,7 +365,11 @@ vga-device-node? 0<> use-biosemu? AND IF
20 char-cat biosemu-debug $cathex \ add biosemu-debug as param
( paramstr+path+biosemu-debug len )
THEN
- .(client-exec) drop
+ .(client-exec) IF
+ ." biosemu client exec failed!" cr
+ set-node \ restore old current-node
+ EXIT
+ THEN
\ s" Time after biosemu:" type .date cr
s" VGA initialization: detecting displays..." type cr
\ try to get info for two monitors
@@ -387,9 +396,9 @@ vga-device-node? 0<> use-biosemu? AND IF
2swap $cat ( paramstr+path len )
20 char-cat
screen-info $cathex
- .(client-exec) drop
+ .(client-exec) 0=
\ s" Time after client exec:" type .date cr
- screen-info c@ 0<> IF
+ screen-info c@ 0<> AND IF
s" display " type i . s" found..." type
\ screen found
\ create device entry
@@ -408,7 +417,9 @@ vga-device-node? 0<> use-biosemu? AND IF
biosemu-vmem biosemu-vmem-size release
s" VGA initialization done." type cr
-THEN \ vga-device-node?
+;
+
+init-vga-devices
: enable-framebuffer-output ( -- )
\ enable output on framebuffer