diff options
author | Steve Murphree <smurph@cvs.openbsd.org> | 1999-05-29 04:41:49 +0000 |
---|---|---|
committer | Steve Murphree <smurph@cvs.openbsd.org> | 1999-05-29 04:41:49 +0000 |
commit | 2205fd17e8627e7209de4cb73e2c1c335b324c53 (patch) | |
tree | bf535b9af17a64ea51dbb30f0a06956e580b283f /sys/arch/mvme88k/include | |
parent | dd813d9445c707cd93bbb0accfc42d555331789d (diff) |
Added vme bus device drivers. MVME328, MVME376, MVME332
Diffstat (limited to 'sys/arch/mvme88k/include')
-rw-r--r-- | sys/arch/mvme88k/include/board.h | 82 | ||||
-rw-r--r-- | sys/arch/mvme88k/include/exec.h | 12 | ||||
-rw-r--r-- | sys/arch/mvme88k/include/param.h | 6 | ||||
-rw-r--r-- | sys/arch/mvme88k/include/pmap.h | 8 | ||||
-rw-r--r-- | sys/arch/mvme88k/include/proc.h | 6 | ||||
-rw-r--r-- | sys/arch/mvme88k/include/prom.h | 30 |
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 { |