From ea0e38f6bc1e458b34b11b40c1092036db34f548 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 27 Apr 2011 09:43:00 -0700 Subject: Re-org for Clipper system. --- sys-clipper.S | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 sys-clipper.S (limited to 'sys-clipper.S') 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 + -- cgit v1.1