Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / SLOF / board-js2x / slof / ipmi-vpd.fs
diff --git a/qemu/roms/SLOF/board-js2x/slof/ipmi-vpd.fs b/qemu/roms/SLOF/board-js2x/slof/ipmi-vpd.fs
new file mode 100644 (file)
index 0000000..bfb3e50
--- /dev/null
@@ -0,0 +1,98 @@
+\ *****************************************************************************
+\ * Copyright (c) 2004, 2008 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
+\ ****************************************************************************/
+
+: vpd-read-bootlist  ( -- )
+   837 4 vpd-bootlist rtas-read-vpd IF vpd-bootlist 4 erase THEN
+;
+
+: vpd-write-bootlist  ( offset len data -- )
+   837 4 vpd-bootlist rtas-write-vpd
+;
+
+: .vpd-machine-type
+       e 7 vpd-cb rtas-read-vpd drop
+       0 vpd-cb 7 + c!
+       vpd-cb zcount type
+;
+
+: .vpd-machine-serial
+       15 7 vpd-cb rtas-read-vpd drop
+       0 vpd-cb 7 + c!
+       vpd-cb zcount type
+;
+
+: .vpd-card-serial
+       54 6 vpd-cb rtas-read-vpd drop
+       0 vpd-cb 6 + c!
+       vpd-cb zcount type
+;
+: .vpd-cardprefix-serial
+       5a 6 vpd-cb rtas-read-vpd drop
+       0 vpd-cb 6 + c!
+       vpd-cb zcount type
+;
+
+: .vpd-hw-revision
+       65 1 vpd-cb rtas-read-vpd drop
+       vpd-cb c@ .
+;
+
+: .vpd-part-number
+       3c c vpd-cb rtas-read-vpd drop
+       vpd-cb c type
+;
+
+: .vpd-fru-number
+       48 c vpd-cb rtas-read-vpd drop
+       vpd-cb c type
+;
+
+: .vpd-manufacturer-date
+       6b 4 vpd-cb rtas-read-vpd drop
+       0 vpd-cb 4 + c!
+       vpd-cb zcount type
+;
+
+: .vpd-uuid
+       9f 10 vpd-cb rtas-read-vpd drop
+       10 0 do i vpd-cb + c@ 2 0.r loop
+;
+
+: vpd-read-model  ( -- addr len )
+   60 4 vpd-cb rtas-read-vpd drop vpd-cb 4 -leading s" ," $cat 
+   e 7 vpd-cb rtas-read-vpd drop vpd-cb 4 $cat s" -" $cat vpd-cb 4 + 3 $cat
+;
+
+: .vpd
+       ." ===================== VPD =====================" 
+       cr ." Machine Type        : " .vpd-machine-type
+       cr ." Machine Serial No.  : " .vpd-machine-serial
+       cr ." Hardware Revision   : " .vpd-hw-revision  
+       cr ." Manuf. Date         : " .vpd-manufacturer-date
+       cr ." Part Number         : " .vpd-part-number
+       cr ." FRU Number          : " .vpd-fru-number
+       cr ." FRU Serial No.      : " .vpd-cardprefix-serial .vpd-card-serial
+       cr ." UUID                : " .vpd-uuid
+;
+
+: vpd-write-revision-and-build-id  ( -- )
+   406 24 vpd-cb rtas-read-vpd drop 0
+   vpd-cb 1a + zcount bdate2human drop a string=ci 0=
+   IF  bdate2human drop a vpd-cb 1a + zplace drop 1  THEN
+   vpd-cb zcount slof-revision string=ci 0=
+   IF  slof-revision vpd-cb zplace drop 1  THEN
+   vpd-cb 4 + zcount slof-build-id string=ci 0=
+   IF  slof-build-id vpd-cb 4 + rzplace drop 1  THEN
+   1 =  IF  406 24 vpd-cb rtas-write-vpd drop  THEN
+;
+
+vpd-write-revision-and-build-id