summaryrefslogtreecommitdiff
path: root/sys/arch/arc
diff options
context:
space:
mode:
authorimp <imp@cvs.openbsd.org>1999-01-30 22:39:39 +0000
committerimp <imp@cvs.openbsd.org>1999-01-30 22:39:39 +0000
commitb7f409d3b5e520587d566a86d0c611285d9e0933 (patch)
tree0164ee9fb02ba5729f79faae957db4cad8b493f9 /sys/arch/arc
parente61ca35bb2e7988d48645ae5b9fa7d546c8a42db (diff)
Remove various kludges I did to get rpc44 working.
o Use #define for addresses on Deskstation rPC44 o Attempt to support X on rpc44, it appears to kinda work, but hangs sometimes.
Diffstat (limited to 'sys/arch/arc')
-rw-r--r--sys/arch/arc/arc/machdep.c15
-rw-r--r--sys/arch/arc/dev/pccons.c11
-rw-r--r--sys/arch/arc/dti/desktech.h10
3 files changed, 22 insertions, 14 deletions
diff --git a/sys/arch/arc/arc/machdep.c b/sys/arch/arc/arc/machdep.c
index 8a86d98041f..8c6386a2cd7 100644
--- a/sys/arch/arc/arc/machdep.c
+++ b/sys/arch/arc/arc/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.34 1998/10/15 21:29:59 imp Exp $ */
+/* $OpenBSD: machdep.c,v 1.35 1999/01/30 22:39:31 imp Exp $ */
/*
* Copyright (c) 1988 University of Utah.
* Copyright (c) 1992, 1993
@@ -38,7 +38,7 @@
* SUCH DAMAGE.
*
* from: @(#)machdep.c 8.3 (Berkeley) 1/12/94
- * $Id: machdep.c,v 1.34 1998/10/15 21:29:59 imp Exp $
+ * $Id: machdep.c,v 1.35 1999/01/30 22:39:31 imp Exp $
*/
/* from: Utah Hdr: machdep.c 1.63 91/04/24 */
@@ -226,8 +226,8 @@ mips_init(argc, argv, envv)
case DESKSTATION_RPC44:
strcpy(cpu_model, "Deskstation rPC44");
- arc_bus_io.bus_base = 0xb0000000; /*XXX*/
- arc_bus_mem.bus_base = 0xa0000000; /*XXX*/
+ arc_bus_io.bus_base = RPC44_V_ISA_IO;
+ arc_bus_mem.bus_base = RPC44_V_ISA_MEM;
CONADDR = 0; /* Don't screew the mouse... */
break;
@@ -570,19 +570,19 @@ tlb_init_pica()
tlb.tlb_lo0 = vad_to_pfn(PICA_P_LOCAL_VIDEO_CTRL) | PG_IOPAGE;
tlb.tlb_lo1 = vad_to_pfn(PICA_P_LOCAL_VIDEO_CTRL + PICA_S_LOCAL_VIDEO_CTRL/2) | PG_IOPAGE;
R4K_TLBWriteIndexed(2, &tlb);
-
+
tlb.tlb_mask = PG_SIZE_1M;
tlb.tlb_hi = vad_to_vpn(PICA_V_EXTND_VIDEO_CTRL);
tlb.tlb_lo0 = vad_to_pfn(PICA_P_EXTND_VIDEO_CTRL) | PG_IOPAGE;
tlb.tlb_lo1 = vad_to_pfn(PICA_P_EXTND_VIDEO_CTRL + PICA_S_EXTND_VIDEO_CTRL/2) | PG_IOPAGE;
R4K_TLBWriteIndexed(3, &tlb);
-
+
tlb.tlb_mask = PG_SIZE_4M;
tlb.tlb_hi = vad_to_vpn(PICA_V_LOCAL_VIDEO);
tlb.tlb_lo0 = vad_to_pfn(PICA_P_LOCAL_VIDEO) | PG_IOPAGE;
tlb.tlb_lo1 = vad_to_pfn(PICA_P_LOCAL_VIDEO + PICA_S_LOCAL_VIDEO/2) | PG_IOPAGE;
R4K_TLBWriteIndexed(4, &tlb);
-
+
tlb.tlb_mask = PG_SIZE_16M;
tlb.tlb_hi = vad_to_vpn(PICA_V_ISA_IO);
tlb.tlb_lo0 = vad_to_pfn(PICA_P_ISA_IO) | PG_IOPAGE;
@@ -618,7 +618,6 @@ tlb_init_tyne()
tlb.tlb_lo0 = 0x03ffc000 | PG_IOPAGE;
tlb.tlb_lo1 = PG_G;
R4K_TLBWriteIndexed(4, &tlb);
-
}
/*
diff --git a/sys/arch/arc/dev/pccons.c b/sys/arch/arc/dev/pccons.c
index 2310b3a5885..c1da11d4fe8 100644
--- a/sys/arch/arc/dev/pccons.c
+++ b/sys/arch/arc/dev/pccons.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pccons.c,v 1.21 1998/03/17 05:33:13 deraadt Exp $ */
+/* $OpenBSD: pccons.c,v 1.22 1999/01/30 22:39:37 imp Exp $ */
/* $NetBSD: pccons.c,v 1.89 1995/05/04 19:35:20 cgd Exp $ */
/*-
@@ -1925,6 +1925,15 @@ pcmmap(dev, offset, nprot)
return mips_btop(PICA_P_LOCAL_VIDEO + offset - 0x40000000);
return -1;
+ case DESKSTATION_RPC44:
+ if (offset >= 0xa0000 && offset < 0xc0000)
+ return mips_btop(RPC44_P_ISA_MEM + offset);
+ if (offset >= 0x0000 && offset < 0x10000)
+ return mips_btop(RPC44_P_ISA_IO + offset);
+ if (offset >= 0x40000000 && offset < 0x40800000)
+ return mips_btop(RPC44_P_ISA_MEM + offset - 0x40000000);
+ return -1;
+
case DESKSTATION_TYNE:
/* Addresses returned are a fake to be able to handle >32 bit
* physical addresses used by the tyne. The real physical adr
diff --git a/sys/arch/arc/dti/desktech.h b/sys/arch/arc/dti/desktech.h
index 140314695b1..6453aed5b84 100644
--- a/sys/arch/arc/dti/desktech.h
+++ b/sys/arch/arc/dti/desktech.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: desktech.h,v 1.5 1998/05/03 19:44:40 imp Exp $ */
+/* $OpenBSD: desktech.h,v 1.6 1999/01/30 22:39:38 imp Exp $ */
/*
* Copyright (c) 1996 Per Fogelstrom
@@ -70,12 +70,12 @@
* Note: We really have EISA here, but no one has EISA cards yet to
* justify implmeneting EISA.
*/
-#define RPC44_P_ISA_IO (0xb0000000) /* ISA I/O control */
-#define RPC44_V_ISA_IO (0xe0000000)
+#define RPC44_P_ISA_IO (0x10000000LL) /* ISA I/O control */
+#define RPC44_V_ISA_IO (0xb0000000)
#define RPC44_S_ISA_IO (0x00010000)
-#define RPC44_P_ISA_MEM (0xa0000000) /* ISA Memory control */
-#define RPC44_V_ISA_MEM (0xe1000000)
+#define RPC44_P_ISA_MEM (0x00000000LL) /* ISA Memory control */
+#define RPC44_V_ISA_MEM (0xa0000000)
#define RPC44_S_ISA_MEM (0x01000000)
#endif /* _DESKTECH_H_ */