summaryrefslogtreecommitdiff
path: root/sys-clipper.S
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2011-04-27 09:43:00 -0700
committerRichard Henderson <rth@twiddle.net>2011-04-27 09:43:00 -0700
commitea0e38f6bc1e458b34b11b40c1092036db34f548 (patch)
tree78a8757d7a5d6bc16cce2c63beb652b78dd520a6 /sys-clipper.S
parent331e6b4c75dd8095a29ed2991e32a862dc40074b (diff)
downloadqemu-palcode-ea0e38f6bc1e458b34b11b40c1092036db34f548.zip
qemu-palcode-ea0e38f6bc1e458b34b11b40c1092036db34f548.tar.gz
qemu-palcode-ea0e38f6bc1e458b34b11b40c1092036db34f548.tar.bz2
Re-org for Clipper system.
Diffstat (limited to 'sys-clipper.S')
-rw-r--r--sys-clipper.S90
1 files changed, 90 insertions, 0 deletions
diff --git a/sys-clipper.S b/sys-clipper.S
new file mode 100644
index 0000000..e3fc6f5
--- /dev/null
+++ b/sys-clipper.S
@@ -0,0 +1,90 @@
+#include "pal.h"
+#include SYSTEM_H
+
+/*
+ * Sys_Setup
+ *
+ * Do any system specific setup necessary.
+ *
+ * INPUT PARAMETERS
+ *
+ * r16 (a0) = whami
+ * r26 (ra) = return address
+ */
+ .globl Sys_Setup
+ .ent Sys_Setup
+Sys_Setup:
+ .frame $sp, 0, p7, 0
+ lda t0, TYPHOON_CCHIP_DIM0
+ lda t1, TYPHOON_CCHIP_DIM2
+ lda t2, TYPHOON_CCHIP_IIC0
+ lda t3, TYPHOON_CCHIP_IIC2
+ and a0, 2, t4
+ cmovne t4, t1, t0
+ cmovne t4, t3, t2
+ and a0, 1, t4
+ sll t4, 6, t4
+ addq t0, t4, t0
+ addq t2, t4, t2
+ LOAD_PHYS_CCHIP t4
+ addq t0, t4, t0
+ addq t2, t4, t2
+ mtpr t0, ptCpuDIR
+ mtpr t2, ptCpuIIC
+ ret
+ .end Sys_Setup
+
+/*
+ * Cserve_Ena
+ *
+ * Unmask a PCI interrupt
+ */
+ .globl Cserve_Ena
+Cserve_Ena:
+ // FIXME
+ hw_rei
+ENDFN Cserve_Ena
+
+/*
+ * Cserve_Dis
+ *
+ * Mask a PCI interrupt
+ */
+ .globl Cserve_Dis
+Cserve_Dis:
+ // FIXME
+ hw_rei
+ENDFN Cserve_Dis
+
+/*
+ * inb
+ *
+ * Read a byte from the PCI I/O bus.
+ */
+ .globl inb
+ .ent inb
+inb:
+ .frame $sp, 0, $26, 0
+ .prologue 0
+ LOAD_KSEG_PCI_IO v0
+ addq v0, a0, v0
+ ldbu v0, 0(v0)
+ ret
+ .end inb
+
+/*
+ * outb
+ *
+ * Write a byte to the PCI I/O bus.
+ */
+ .globl outb
+ .ent outb
+outb:
+ .frame $sp, 0, $26, 0
+ .prologue 0
+ LOAD_KSEG_PCI_IO p0
+ addq p0, a1, p0
+ stb a0, 0(p0)
+ ret
+ .end outb
+