aboutsummaryrefslogtreecommitdiff
path: root/board-qemu/slof/hvterm.fs
diff options
context:
space:
mode:
authorNikunj A Dadhania <nikunj@linux.vnet.ibm.com>2013-11-21 11:14:54 +0530
committerNikunj A Dadhania <nikunj@linux.vnet.ibm.com>2013-12-16 11:56:42 +0530
commit79f0600b9aa14e5a52e6c8428b0ce0c3e24cd480 (patch)
tree92d34dada75869d0ef9d4d448e4daa0287e61500 /board-qemu/slof/hvterm.fs
parente086e9992c26bc23cd75dfad2239949c10da1fb1 (diff)
downloadSLOF-79f0600b9aa14e5a52e6c8428b0ce0c3e24cd480.zip
SLOF-79f0600b9aa14e5a52e6c8428b0ce0c3e24cd480.tar.gz
SLOF-79f0600b9aa14e5a52e6c8428b0ce0c3e24cd480.tar.bz2
Output banner and initial display output in VNC window
Initial display output does not show up in the VGA/VNC window. Create replay buffer to store the initial output and when vga/vnc console starts, dump the buffer there. Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
Diffstat (limited to 'board-qemu/slof/hvterm.fs')
-rw-r--r--board-qemu/slof/hvterm.fs17
1 files changed, 16 insertions, 1 deletions
diff --git a/board-qemu/slof/hvterm.fs b/board-qemu/slof/hvterm.fs
index 9700685..98c1445 100644
--- a/board-qemu/slof/hvterm.fs
+++ b/board-qemu/slof/hvterm.fs
@@ -13,8 +13,23 @@
\ PAPR hvterm console. Enabled very early.
0 CONSTANT default-hvtermno
+\ Buffer for pre-display
+4096 CONSTANT disp-size
+CREATE prevga-disp-buf 4096 allot
+0 value disp-ptr
+true value store-prevga?
-: hvterm-emit default-hvtermno SWAP hv-putchar ;
+: store-to-disp-buffer ( ch -- )
+ prevga-disp-buf disp-ptr disp-size MOD + c!
+ disp-ptr 1 + to disp-ptr
+;
+
+: hvterm-emit
+ store-prevga? IF
+ dup store-to-disp-buffer
+ THEN
+ default-hvtermno SWAP hv-putchar
+;
: hvterm-key? default-hvtermno hv-haschar ;
: hvterm-key BEGIN hvterm-key? UNTIL default-hvtermno hv-getchar ;