diff options
author | imp <imp@cvs.openbsd.org> | 1999-01-30 22:39:39 +0000 |
---|---|---|
committer | imp <imp@cvs.openbsd.org> | 1999-01-30 22:39:39 +0000 |
commit | b7f409d3b5e520587d566a86d0c611285d9e0933 (patch) | |
tree | 0164ee9fb02ba5729f79faae957db4cad8b493f9 /sys/arch/arc | |
parent | e61ca35bb2e7988d48645ae5b9fa7d546c8a42db (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.c | 15 | ||||
-rw-r--r-- | sys/arch/arc/dev/pccons.c | 11 | ||||
-rw-r--r-- | sys/arch/arc/dti/desktech.h | 10 |
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_ */ |