diff options
Diffstat (limited to 'qemu/roms/SLOF/board-qemu/slof/pci-device_1013_00b8.fs')
-rw-r--r-- | qemu/roms/SLOF/board-qemu/slof/pci-device_1013_00b8.fs | 265 |
1 files changed, 0 insertions, 265 deletions
diff --git a/qemu/roms/SLOF/board-qemu/slof/pci-device_1013_00b8.fs b/qemu/roms/SLOF/board-qemu/slof/pci-device_1013_00b8.fs deleted file mode 100644 index c3ac2ec41..000000000 --- a/qemu/roms/SLOF/board-qemu/slof/pci-device_1013_00b8.fs +++ /dev/null @@ -1,265 +0,0 @@ -\ ***************************************************************************** -\ * Copyright (c) 2011 IBM Corporation -\ * All rights reserved. -\ * This program and the accompanying materials -\ * are made available under the terms of the BSD License -\ * which accompanies this distribution, and is available at -\ * http://www.opensource.org/licenses/bsd-license.php -\ * -\ * Contributors: -\ * IBM Corporation - initial implementation -\ ****************************************************************************/ - -my-space pci-device-generic-setup - -\ Defaults, overriden from qemu -d# 800 VALUE disp-width -d# 600 VALUE disp-height -d# 8 VALUE disp-depth - -\ Determine base address -10 config-l@ translate-my-address f not AND VALUE fb-base - -\ Fixed up later --1 VALUE io-base - -\ We support only one instance -false VALUE is-installed? - -: vga-io-xlate ( port -- addr ) - io-base -1 = IF - dup translate-my-address fff not and to io-base - THEN - io-base + -; - -: vga-w! ( value port -- ) - vga-io-xlate rw!-le -; - -: vga-w@ ( port -- value ) - vga-io-xlate rw@-le -; - -: vga-b! ( value port -- ) - vga-io-xlate rb! -; - -: vga-b@ ( port -- value ) - vga-io-xlate rb@ -; - -: vga-crt@ ( index -- value ) - 3d4 vga-b! - 3d5 vga-b@ -; - -: vga-crt! ( value index -- ) - 3d4 vga-b! - 3d5 vga-b! -; - -: vga-seq@ ( index -- value ) - 3c4 vga-b! - 3c5 vga-b@ -; - -: vga-seq! ( value index -- ) - 3c4 vga-b! - 3c5 vga-b! -; - -: vga-att@ ( index -- value ) - 3c0 vga-b! - 3c1 vga-b@ -; - -: vga-att! ( value index -- ) - 3c0 vga-b! - 3c0 vga-b! -; - -: vga-gfx@ ( index -- value ) - 3ce vga-b! - 3cf vga-b@ -; - -: vga-gfx! ( value index -- ) - 3ce vga-b! - 3cf vga-b! -; - -: color! ( r g b number -- ) - 3c8 vga-b! - rot 2 >> 3c9 vga-b! - swap 2 >> 3c9 vga-b! - 2 >> 3c9 vga-b! -; - -: color@ ( number -- r g b ) - 3c8 vga-b! - 3c9 vga-b@ 2 << - 3c9 vga-b@ 2 << - 3c9 vga-b@ 2 << -; - -: set-colors ( adr number #numbers -- ) - over 3c8 vga-b! - swap DO - rb@ 2 >> 3c9 vga-b! - rb@ 2 >> 3c9 vga-b! - rb@ 2 >> 3c9 vga-b! - LOOP - 3drop -; - -: get-colors ( adr number #numbers -- ) - 3drop -; - -include graphics.fs - -: init-mode - 3da vga-b@ drop \ reset flip flop - 0f 3c2 vga-b! \ color mode, ram enable, ... - 12 06 vga-seq! \ unlock extensions - 05 06 vga-gfx! \ graphic mode - \ set bit depth. Note: we should set the hidden - \ dac register to differenciate 15 and 16bpp, but - \ it's annoying and in practice we don't care as - \ we are only displaying in black & white atm - disp-depth CASE \ set depth - 8 OF 01 07 vga-seq! ENDOF - f OF 07 07 vga-seq! ENDOF - 10 OF 07 07 vga-seq! ENDOF - 20 OF 09 07 vga-seq! ENDOF - ENDCASE - ff 02 vga-seq! \ enable plane write - 0a 04 vga-seq! \ memory mode - 03 17 vga-crt! \ disable display - \ calculate line offset & split - disp-width disp-depth 7 + 8 / * 3 >> - dup ff and 13 vga-crt! \ bottom bits - 4 >> 10 and 1b vga-crt! \ top bit - disp-width 3 >> 1 - 01 vga-crt! \ H_DISP - disp-height 1 - ff and 12 vga-crt! \ V_DISP - disp-height 1 - 7 >> 2 and - disp-height 1 - 3 >> 40 and - or 10 or 07 vga-crt! \ OFLOW - ff 18 vga-crt! \ LINE_COMPARE - 40 09 vga-crt! \ MAX_SCAN - 08 04 vga-crt! \ SYNC_START - 0f 02 vga-crt! \ BLANK_START - 00 0c vga-crt! - 00 0d vga-crt! - 40 05 vga-gfx! \ gfx mode - 83 17 vga-crt! \ enable display - 33 3c0 vga-b! \ gfx in ar index - 00 3c0 vga-b! - 01 01 vga-seq! \ enable seq -; - -: clear-screen - fb-base disp-width disp-height disp-depth 7 + 8 / * * 0 rfill -; - -: read-settings - s" qemu,graphic-width" get-chosen IF - decode-int to disp-width 2drop - THEN - s" qemu,graphic-height" get-chosen IF - decode-int to disp-height 2drop - THEN - s" qemu,graphic-depth" get-chosen IF - decode-int nip nip - dup 8 = - over f = or - over 10 = or - over 20 = or IF - to disp-depth - ELSE - ." Unsupported bit depth, using 8bpp " drop cr - THEN - THEN -; - -: add-legacy-reg - \ add legacy I/O Ports / Memory regions to assigned-addresses - \ see PCI Bus Binding Revision 2.1 Section 7. - s" reg" get-node get-property IF - \ "reg" does not exist, create new - encode-start - ELSE - \ "reg" does exist, copy it - encode-bytes - THEN - \ I/O Range 0x1ce-0x1d2 - my-space a1000000 or encode-int+ \ non-relocatable, aliased I/O space - 1ce encode-64+ 4 encode-64+ \ addr size - \ I/O Range 0x3B0-0x3BB - my-space a1000000 or encode-int+ \ non-relocatable, aliased I/O space - 3b0 encode-64+ c encode-64+ \ addr size - \ I/O Range 0x3C0-0x3DF - my-space a1000000 or encode-int+ \ non-relocatable, aliased I/O space - 3c0 encode-64+ 20 encode-64+ \ addr size - \ Memory Range 0xA0000-0xBFFFF - my-space a2000000 or encode-int+ \ non-relocatable, <1MB Memory space - a0000 encode-64+ 20000 encode-64+ \ addr size - s" reg" property \ store "reg" property -; - -: setup-properties - \ Shouldn't this be done from open ? - disp-width encode-int s" width" property - disp-height encode-int s" height" property - disp-width disp-depth 7 + 8 / * encode-int s" linebytes" property - disp-depth encode-int s" depth" property - s" ISO8859-1" encode-string s" character-set" property \ i hope this is ok... - \ add "device_type" property - s" display" device-type - \ XXX We don't create an "address" property because Linux doesn't know what - \ to do with it for >32-bit -; - -\ words for installation/removal, needed by is-install/is-remove, see display.fs -: display-remove ( -- ) -; - -: display-install ( -- ) - is-installed? NOT IF - ." Installing QEMU fb" cr - fb-base to frame-buffer-adr - default-font - set-font - disp-width disp-height - disp-width char-width / disp-height char-height / - disp-depth 7 + 8 / ( width height #lines #cols depth ) - fb-install - true to is-installed? - THEN -; - -: set-alias - s" screen" find-alias 0= IF - \ no previous screen alias defined, define it... - s" screen" get-node node>path set-alias - ELSE - drop - THEN -; - - -." cirrus vga" cr - -pci-master-enable -pci-mem-enable -pci-io-enable -add-legacy-reg -read-settings -init-mode -clear-screen -init-default-palette -setup-properties -' display-install is-install -' display-remove is-remove -set-alias |