Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / SLOF / board-qemu / llfw / board_io.S
diff --git a/qemu/roms/SLOF/board-qemu/llfw/board_io.S b/qemu/roms/SLOF/board-qemu/llfw/board_io.S
new file mode 100644 (file)
index 0000000..7d572ab
--- /dev/null
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * Copyright (c) 2004, 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
+ *****************************************************************************/
+
+#include <macros.h>
+#include <cpu.h>
+
+       .text
+
+/****************************************************************************
+ * prints one character to serial console
+ *
+ * Input:
+ * R3 - character
+ *
+ * Returns: -
+ *
+ * Modifies Registers:
+ * R3, R4, R5, R6, R7
+ ****************************************************************************/
+ENTRY(io_putchar)
+       sldi    r6,r3,(24+32)
+       li      r3,0x58
+       li      r4,0
+       li      r5,1
+       .long 0x44000022
+       blr
+       
+ENTRY(io_getchar)
+       mr      r10,r3
+       li      r3,0x54
+       li      r4,0
+       .long 0x44000022
+       mr.     r3,r4
+       beq     1f
+       srdi    r3,r5,(24+32)
+       stb     r3,0(r10)
+1:     blr