summaryrefslogtreecommitdiffstats
path: root/qemu/roms/SLOF/slof/fs/nvram.fs
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/roms/SLOF/slof/fs/nvram.fs')
-rw-r--r--qemu/roms/SLOF/slof/fs/nvram.fs182
1 files changed, 0 insertions, 182 deletions
diff --git a/qemu/roms/SLOF/slof/fs/nvram.fs b/qemu/roms/SLOF/slof/fs/nvram.fs
deleted file mode 100644
index 5ea58d17f..000000000
--- a/qemu/roms/SLOF/slof/fs/nvram.fs
+++ /dev/null
@@ -1,182 +0,0 @@
-\ *****************************************************************************
-\ * Copyright (c) 2004, 2014 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
-\ ****************************************************************************/
-
-51 CONSTANT nvram-partition-type-cpulog
-\ types 53-55 are omitted because they have been used for
-\ storing binary tables in the past
-60 CONSTANT nvram-partition-type-sas
-61 CONSTANT nvram-partition-type-sms
-6e CONSTANT nvram-partition-type-debug
-6f CONSTANT nvram-partition-type-history
-70 CONSTANT nvram-partition-type-common
-7f CONSTANT nvram-partition-type-freespace
-a0 CONSTANT nvram-partition-type-linux
-
-: rztype ( str len -- ) \ stop at zero byte, read with nvram-c@
- 0 DO
- dup i + nvram-c@ ?dup IF ( str char )
- emit
- ELSE ( str )
- drop UNLOOP EXIT
- THEN
- LOOP
-;
-
-create tmpStr 500 allot
-: rzcount ( zstr -- str len )
- dup tmpStr >r BEGIN
- dup nvram-c@ dup r> dup 1+ >r c!
- WHILE
- char+
- REPEAT
- r> drop over - swap drop tmpStr swap
-;
-
-: calc-header-cksum ( offset -- cksum )
- dup nvram-c@
- 10 2 DO
- over I + nvram-c@ +
- LOOP
- wbsplit + nip
-;
-
-: bad-header? ( offset -- flag )
- dup 2+ nvram-w@ ( offset length )
- 0= IF ( offset )
- drop true EXIT ( )
- THEN
- dup calc-header-cksum ( offset checksum' )
- swap 1+ nvram-c@ ( checksum ' checksum )
- <> ( flag )
-;
-
-: .header ( offset -- )
- cr ( offset )
- dup bad-header? IF ( offset )
- ." BAD HEADER -- trying to print it anyway" cr
- THEN
- space ( offset )
- \ print type
- dup nvram-c@ 2 0.r ( offset )
- space space ( offset )
- \ print length
- dup 2+ nvram-w@ 10 * 5 .r ( offset )
- space space ( offset )
- \ print name
- 4 + 0c rztype ( )
-;
-
-: .headers ( -- )
- cr cr ." Type Size Name"
- cr ." ========================"
- 0 BEGIN ( offset )
- dup nvram-c@ ( offset type )
- WHILE
- dup .header ( offset )
- dup 2+ nvram-w@ 10 * + ( offset offset' )
- dup nvram-size < IF ( offset )
- ELSE
- drop EXIT ( )
- THEN
- REPEAT
- drop ( )
- cr cr
-;
-
-: reset-nvram ( -- )
- internal-reset-nvram
-;
-
-: dump-partition ['] nvram-c@ 1 (dump) ;
-
-: type-no-zero ( addr len -- )
- 0 DO
- dup I + dup nvram-c@ 0= IF drop ELSE nvram-c@ emit THEN
- LOOP
- drop
-;
-
-: type-no-zero-part ( from-str cnt-str addr len )
- 0 DO
- dup i + dup nvram-c@ 0= IF
- drop
- ELSE
- ( from-str cnt-str addr addr+i )
- ( from-str==0 AND cnt-str > 0 )
- 3 pick 0= 3 pick 0 > AND IF
- dup 1 type-no-zero
- THEN
-
- nvram-c@ a = IF
- 2 pick 0= IF
- over 1- 0 max
- rot drop swap
- THEN
- 2 pick 1- 0 max
- 3 roll drop rot rot
- ( from-str-- cnt-str-- addr addr+i )
- THEN
- THEN
- LOOP
- drop
-;
-
-: (dmesg-prepare) ( base-addr -- base-addr' addr len act-off )
- 10 - \ go back to header
- dup 14 + nvram-l@ dup >r
- ( base-addr act-off ) ( R: act-off )
- over over over + swap 10 + nvram-w@ + >r
- ( base-addr act-off ) ( R: act-off nvram-act-addr )
- over 2 + nvram-w@ 10 * swap - over swap
- ( base-addr base-addr start-size ) ( R: act-off nvram-act-addr )
- r> swap rot 10 + nvram-w@ - r>
-;
-
-: .dmesg ( base-addr -- )
- (dmesg-prepare) >r
- ( base-addr addr len )
- cr type-no-zero
- ( base-addr ) ( R: act-off )
- dup 10 + nvram-w@ + r> type-no-zero
-;
-
-: .dmesg-part ( from-str cnt-str base-addr -- )
- (dmesg-prepare) >r
- ( from-str cnt-str base-addr addr len )
- >r >r -rot r> r>
- ( base-addr from-str cnt-str addr len )
- cr type-no-zero-part rot
- ( base-addr ) ( R: act-off )
- dup 10 + nvram-w@ + r> type-no-zero-part
-;
-
-: dmesg-part ( from-str cnt-str -- left-from-str left-cnt-str )
- 2dup
- s" ibm,CPU0log" get-named-nvram-partition IF
- 2drop EXIT
- THEN
- drop .dmesg-part nip nip
-;
-
-: dmesg2 ( -- )
- s" ibm,CPU1log" get-named-nvram-partition IF
- ." No log partition." cr EXIT
- THEN
- drop .dmesg
-;
-
-: dmesg ( -- )
- s" ibm,CPU0log" get-named-nvram-partition IF
- ." No log partition." cr EXIT
- THEN
- drop .dmesg
-;