summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k/include
diff options
context:
space:
mode:
authorSteve Murphree <smurph@cvs.openbsd.org>1999-05-29 04:41:49 +0000
committerSteve Murphree <smurph@cvs.openbsd.org>1999-05-29 04:41:49 +0000
commit2205fd17e8627e7209de4cb73e2c1c335b324c53 (patch)
treebf535b9af17a64ea51dbb30f0a06956e580b283f /sys/arch/mvme88k/include
parentdd813d9445c707cd93bbb0accfc42d555331789d (diff)
Added vme bus device drivers. MVME328, MVME376, MVME332
Diffstat (limited to 'sys/arch/mvme88k/include')
-rw-r--r--sys/arch/mvme88k/include/board.h82
-rw-r--r--sys/arch/mvme88k/include/exec.h12
-rw-r--r--sys/arch/mvme88k/include/param.h6
-rw-r--r--sys/arch/mvme88k/include/pmap.h8
-rw-r--r--sys/arch/mvme88k/include/proc.h6
-rw-r--r--sys/arch/mvme88k/include/prom.h30
6 files changed, 72 insertions, 72 deletions
diff --git a/sys/arch/mvme88k/include/board.h b/sys/arch/mvme88k/include/board.h
index 9a49db4625b..a42a6968acb 100644
--- a/sys/arch/mvme88k/include/board.h
+++ b/sys/arch/mvme88k/include/board.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: board.h,v 1.4 1999/02/09 06:36:25 smurph Exp $ */
+/* $OpenBSD: board.h,v 1.5 1999/05/29 04:41:45 smurph Exp $ */
/*
* Copyright (c) 1996 Nivas Madhur
* All rights reserved.
@@ -62,66 +62,50 @@
# endif
#endif
-#define MAX_CPUS 1 /* no. of CPUs */
+#define MAX_CPUS 1 /* no. of CPUs */
#define MAX_CMMUS 2 /* 2 CMMUs - 1 data and 1 code */
-#define SYSV_BASE U(0x00000000) /* system virtual base */
+#define SYSV_BASE U(0x00000000) /* system virtual base */
-#define MAXU_ADDR U(0x40000000) /* size of user virtual space */
-#define MAXPHYSMEM U(0x10000000) /* max physical memory */
+#define MAXU_ADDR U(0x40000000) /* size of user virtual space */
+#define MAXPHYSMEM U(0x10000000) /* max physical memory */
-#define BUGROM_START U(0xFF800000) /* start of BUG PROM */
-#define BUGROM_SIZE U(0x003FFFFF) /* size of BUG PROM */
-#define SRAM_START U(0xFFE00000) /* start of sram used by bug */
-#define SRAM_SIZE U(0x0001FFFF) /* size of sram */
-#define OBIO_START U(0xFFF00000) /* start of local IO */
-#define OBIO_SIZE U(0x000EFFFF) /* size of obio space */
+#define BUGROM_START U(0xFF800000) /* start of BUG PROM */
+#define BUGROM_SIZE U(0x003FFFFF) /* size of BUG PROM */
+#define SRAM_START U(0xFFE00000) /* start of sram used by bug */
+#define SRAM_SIZE U(0x0001FFFF) /* size of sram */
+#define OBIO_START U(0xFFF00000) /* start of local IO */
+#define OBIO_SIZE U(0x000EFFFF) /* size of obio space */
#define INT_PRI_LEVEL U(0xFFF4203E) /* interrupt priority level */
#define INT_MASK_LEVEL U(0xFFF4203F) /* interrupt mask level */
#define LOCAL_IO_DEVS U(0xFFF00000) /* local IO devices */
-#define VMEA16 U(0xFFFF0000) /* VMEbus A16 */
-#define PCC2_ADDR U(0xFFF42000) /* PCCchip2 Regs */
-#define MEM_CTLR U(0xFFF43000) /* MEMC040 mem controller */
-#define SCC_ADDR U(0xFFF45000) /* Cirrus Chip */
-#define LANCE_ADDR U(0xFFF46000) /* 82596CA */
-#define SCSI_ADDR U(0xFFF47000) /* NCR 710 address */
-#define NCR710_SIZE U(0x00000040) /* NCR 710 size */
-#define MK48T08_ADDR U(0xFFFC0000) /* BBRAM, TOD */
+#define VMEA16 U(0xFFFF0000) /* VMEbus A16 */
+#define VMEA16_SIZE U(0x0000EFFF) /* VMEbus A16 size */
+#define VMEA32D16 U(0xFF000000) /* VMEbus A32/D16 */
+#define VMEA32D16_SIZE U(0x007FFFFF) /* VMEbus A32/D16 size */
-#define TOD_CAL_CTL U(0xFFFC1FF8) /* calendar control register */
-#define TOD_CAL_SEC U(0xFFFC1FF9) /* seconds */
-#define TOD_CAL_MIN U(0xFFFC1FFA) /* minutes */
-#define TOD_CAL_HOUR U(0xFFFC1FFB) /* hours */
-#define TOD_CAL_DOW U(0xFFFC1FFC) /* Day Of the Week */
-#define TOD_CAL_DAY U(0xFFFC1FFD) /* days */
-#define TOD_CAL_MON U(0xFFFC1FFE) /* months */
-#define TOD_CAL_YEAR U(0xFFFC1FFF) /* years */
+#define PCC2_ADDR U(0xFFF42000) /* PCCchip2 Regs */
+#define MEM_CTLR U(0xFFF43000) /* MEMC040 mem controller */
+#define SCC_ADDR U(0xFFF45000) /* Cirrus Chip */
+#define LANCE_ADDR U(0xFFF46000) /* 82596CA */
+#define SCSI_ADDR U(0xFFF47000) /* NCR 710 address */
+#define NCR710_SIZE U(0x00000040) /* NCR 710 size */
+#define MK48T08_ADDR U(0xFFFC0000) /* BBRAM, TOD */
-#define CMMU_I U(0xFFF77000) /* CMMU instruction */
-#define CMMU_D U(0xFFF7F000) /* CMMU data */
-#define CMMU_SIZE 0x1000
+#define TOD_CAL_CTL U(0xFFFC1FF8) /* calendar control register */
+#define TOD_CAL_SEC U(0xFFFC1FF9) /* seconds */
+#define TOD_CAL_MIN U(0xFFFC1FFA) /* minutes */
+#define TOD_CAL_HOUR U(0xFFFC1FFB) /* hours */
+#define TOD_CAL_DOW U(0xFFFC1FFC) /* Day Of the Week */
+#define TOD_CAL_DAY U(0xFFFC1FFD) /* days */
+#define TOD_CAL_MON U(0xFFFC1FFE) /* months */
+#define TOD_CAL_YEAR U(0xFFFC1FFF) /* years */
-#if 0
-/* interrupt vectors */
-
-#define PPBSY 0x50 /* printer port busy */
-#define PPPE 0x51 /* printer port PE */
-#define PPSEL 0x52 /* printer port select */
-#define PPFLT 0x53 /* printer port fault */
-#define PPACK 0x54 /* printer port ack */
-#define SCSIIRQ 0x55 /* SCSI IRQ */
-#define LANCERR 0x56 /* LANC ERR */
-#define LANCIRQ 0x57 /* LANC IRQ */
-#define TIMER2IRQ 0x58 /* Tick Timer 2 vec */
-#define TIMER1IRQ 0x59 /* Tick Timer 1 vec */
-#define GPIOIRQ 0x5A /* GPIO IRQ */
-#define SRXEXIRQ 0x5C /* Serial RX Exception IRQ */
-#define SRMIRQ 0x5D /* Serial Modem IRQ */
-#define STXIRQ 0x5E /* Serial TX IRQ */
-#define SRXIRQ 0x5F /* Serial RX IRQ */
-#endif /* 0 */
+#define CMMU_I U(0xFFF77000) /* CMMU instruction */
+#define CMMU_D U(0xFFF7F000) /* CMMU data */
+#define CMMU_SIZE 0x1000
#endif /* _MACHINE_BOARD_H */
diff --git a/sys/arch/mvme88k/include/exec.h b/sys/arch/mvme88k/include/exec.h
index e02b2e8166b..f599b77eb16 100644
--- a/sys/arch/mvme88k/include/exec.h
+++ b/sys/arch/mvme88k/include/exec.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: exec.h,v 1.6 1999/02/09 06:36:26 smurph Exp $ */
+/* $OpenBSD: exec.h,v 1.7 1999/05/29 04:41:45 smurph Exp $ */
#ifndef _MACHINE_EXEC_H_
#define _MACHINE_EXEC_H_
@@ -17,8 +17,14 @@ struct relocation_info_m88k {
};
#define relocation_info relocation_info_m88k
-#define _NLIST_DO_AOUT
+#define ELF_TARG_CLASS ELFCLASS32
+#define ELF_TARG_DATA ELFDATA2MSB
+#define ELF_TARG_MACH EM_88K
-#define _KERN_DO_AOUT
+#define _NLIST_DO_AOUT
+#define _NLIST_DO_ELF
+
+#define _KERN_DO_AOUT
+#define _KERN_DO_ELF
#endif _MACHINE_EXEC_H_
diff --git a/sys/arch/mvme88k/include/param.h b/sys/arch/mvme88k/include/param.h
index 34ecc00afe4..fced74b83d1 100644
--- a/sys/arch/mvme88k/include/param.h
+++ b/sys/arch/mvme88k/include/param.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: param.h,v 1.8 1999/02/09 06:36:27 smurph Exp $ */
+/* $OpenBSD: param.h,v 1.9 1999/05/29 04:41:45 smurph Exp $ */
/*
* Copyright (c) 1999 Steve Murphree, Jr.
* Copyright (c) 1988 University of Utah.
@@ -40,7 +40,7 @@
* from: Utah $Hdr: machparam.h 1.11 89/08/14$
*
* @(#)param.h 7.8 (Berkeley) 6/28/91
- * $Id: param.h,v 1.8 1999/02/09 06:36:27 smurph Exp $
+ * $Id: param.h,v 1.9 1999/05/29 04:41:45 smurph Exp $
*/
#ifndef _MACHINE_PARAM_H_
#define _MACHINE_PARAM_H_
@@ -96,7 +96,7 @@
#define SINCR 1 /* increment of stack/NBPG */
#define USPACE ctob(UPAGES)
-#define UPAGES 3 /* pages of u-area */
+#define UPAGES 4 /* pages of u-area */
#define UADDR 0xEEE00000 /* address of u */
#define UVPN (UADDR>>PGSHIFT)/* virtual page number of u */
#define KERNELSTACK (UADDR+UPAGES*NBPG) /* top of kernel stack */
diff --git a/sys/arch/mvme88k/include/pmap.h b/sys/arch/mvme88k/include/pmap.h
index 839727e5d8d..625b3efa533 100644
--- a/sys/arch/mvme88k/include/pmap.h
+++ b/sys/arch/mvme88k/include/pmap.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.h,v 1.5 1999/02/09 06:36:27 smurph Exp $ */
+/* $OpenBSD: pmap.h,v 1.6 1999/05/29 04:41:45 smurph Exp $ */
/*
* Mach Operating System
* Copyright (c) 1991 Carnegie Mellon University
@@ -95,6 +95,12 @@ void pmap_activate(pmap_t my_pmap, pcb_t);
void pmap_deactivate(pmap_t pmap, pcb_t);
int pmap_check_transaction(pmap_t pmap, vm_offset_t va, vm_prot_t type);
+vm_offset_t pmap_map(
+ vm_offset_t virt,
+ vm_offset_t start,
+ vm_offset_t end,
+ vm_prot_t prot);
+
vm_offset_t pmap_map_batc(
vm_offset_t virt,
vm_offset_t start,
diff --git a/sys/arch/mvme88k/include/proc.h b/sys/arch/mvme88k/include/proc.h
index b283c4a72ff..31acf460704 100644
--- a/sys/arch/mvme88k/include/proc.h
+++ b/sys/arch/mvme88k/include/proc.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: proc.h,v 1.4 1999/02/09 06:36:27 smurph Exp $ */
+/* $OpenBSD: proc.h,v 1.5 1999/05/29 04:41:45 smurph Exp $ */
/*
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
@@ -43,7 +43,7 @@
* @(#)proc.h 8.1 (Berkeley) 6/11/93
*
* from: Header: proc.h,v 1.6 92/11/26 02:04:41 torek Exp (LBL)
- * $Id: proc.h,v 1.4 1999/02/09 06:36:27 smurph Exp $
+ * $Id: proc.h,v 1.5 1999/05/29 04:41:45 smurph Exp $
*/
#include <machine/pcb.h>
@@ -56,4 +56,6 @@ struct mdproc {
struct trapframe *md_tf; /* trap/syscall registers */
struct fpstate *md_fpstate; /* fpu state, if any; always resident */
int md_upte[UPAGES]; /* ptes for mapping u page */
+ int md_ss_addr; /* single step address for ptrace */
+ int md_ss_instr; /* single step instruction for ptrace */
};
diff --git a/sys/arch/mvme88k/include/prom.h b/sys/arch/mvme88k/include/prom.h
index 015c65a3c54..2f1650c85be 100644
--- a/sys/arch/mvme88k/include/prom.h
+++ b/sys/arch/mvme88k/include/prom.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: prom.h,v 1.3 1999/02/09 06:36:27 smurph Exp $ */
+/* $OpenBSD: prom.h,v 1.4 1999/05/29 04:41:45 smurph Exp $ */
/*
* Copyright (c) 1998 Steve Murphree, Jr.
* Copyright (c) 1996 Nivas Madhur
@@ -98,19 +98,21 @@ struct mvmeprom_brdid {
u_short devtype;
u_short devnum;
u_long bug;
-
- /*
- * XXX: I have seen no documentation for these!
- *
- * The following (appears to) exist only on the MVME162 and
- * upwards. We should figure out what the other fields are.
- */
- u_char xx1[16];
- u_char xx2[4];
- u_char longname[12];
- u_char xx3[16];
- u_char speed[4];
- u_char xx4[12];
+ u_char version[4];
+ u_char serial[12]; /* SBC serial number */
+ u_char id[16]; /* SBC id */
+ u_char pwa[16]; /* printed wiring assembly number */
+ u_char speed[4]; /* cpu speed */
+ u_char etheraddr[6]; /* mac address, all zero if no ether */
+ u_char fill[2];
+ u_char scsiid[2]; /* local SCSI id */
+ u_char sysid[8]; /* system id - nothing on mvme187 */
+ u_char brd1_pwb[8]; /* memory board 1 pwb */
+ u_char brd1_serial[8]; /* memory board 1 serial */
+ u_char brd2_pwb[8]; /* memory board 2 pwb */
+ u_char brd2_serial[8]; /* memory board 2 serial */
+ u_char reserved[153];
+ u_char cksum[1];
};
struct mvmeprom_time {