Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / SLOF / lib / libbootmsg / bootmsg.code
diff --git a/qemu/roms/SLOF/lib/libbootmsg/bootmsg.code b/qemu/roms/SLOF/lib/libbootmsg/bootmsg.code
new file mode 100644 (file)
index 0000000..ae370af
--- /dev/null
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * 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
+ *****************************************************************************/
+#include <libbootmsg.h>
+
+// : cp ( cp-id -- )
+PRIM(bootmsg_X2d_cp)
+       int cpid = TOS.n; POP;
+       bootmsg_cp(cpid);
+MIRP
+
+// : bootmsg-warning ( cp-id lvl pstr -- )
+PRIM(bootmsg_X2d_warning)
+       char* str = TOS.a; POP;
+       short lvl = TOS.n; POP;
+       short cpid = TOS.n; POP;
+       bootmsg_warning(cpid, (const char*)str, lvl);
+MIRP
+
+// : bootmsg-error ( cp-id pstr -- )
+PRIM(bootmsg_X2d_error)
+       char* str = TOS.a; POP;
+       short cpid = TOS.n; POP;
+       bootmsg_error(cpid, (const char*)str);
+MIRP
+
+// : bootmsg-debugcp ( cp-id lvl pstr -- )
+PRIM(bootmsg_X2d_debugcp)
+       char* str = TOS.a; POP;
+       short lvl = TOS.n; POP;
+       short cpid = TOS.n; POP;
+       bootmsg_debugcp(cpid, (const char*)str, lvl);
+MIRP
+
+// : bootmsg-setlevel ( area lvl -- )
+PRIM(bootmsg_X2d_setlevel)
+       char lvl = TOS.n; POP;
+       short area = TOS.n; POP;
+       bootmsg_setlevel(area, lvl);
+MIRP
+
+// : bootmsg-checklevel ( area lvl -- [true|false] )
+PRIM(bootmsg_X2d_checklevel)
+       char lvl = TOS.n; POP;
+       short area = TOS.n; POP;
+       PUSH;
+       TOS.n = (bootmsg_checklevel(area, lvl)) ? -1 : 0;
+MIRP
+
+// : bootmsg-nvupdate ( -- )
+PRIM(bootmsg_X2d_nvupdate)
+       bootmsg_nvupdate();
+MIRP