diff options
Diffstat (limited to 'sys/arch/mvme88k/include')
42 files changed, 0 insertions, 4863 deletions
diff --git a/sys/arch/mvme88k/include/ansi.h b/sys/arch/mvme88k/include/ansi.h deleted file mode 100644 index d73b85a8f99..00000000000 --- a/sys/arch/mvme88k/include/ansi.h +++ /dev/null @@ -1,73 +0,0 @@ -/*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)ansi.h 8.2 (Berkeley) 1/4/94 - * $Id: ansi.h,v 1.1 1995/10/18 10:54:21 deraadt Exp $ - */ - -#ifndef _ANSI_H_ -#define _ANSI_H_ - -/* - * Types which are fundamental to the implementation and may appear in - * more than one standard header are defined here. Standard headers - * then use: - * #ifdef _BSD_SIZE_T_ - * typedef _BSD_SIZE_T_ size_t; - * #undef _BSD_SIZE_T_ - * #endif - */ -#define _BSD_CLOCK_T_ unsigned long /* clock() */ -#define _BSD_PTRDIFF_T_ int /* ptr1 - ptr2 */ -#define _BSD_SIZE_T_ unsigned int /* sizeof() */ -#define _BSD_SSIZE_T_ int /* byte count or error */ -#define _BSD_TIME_T_ long /* time() */ -#define _BSD_VA_LIST_ char * /* va_list */ - -/* - * Runes (wchar_t) is declared to be an ``int'' instead of the more natural - * ``unsigned long'' or ``long''. Two things are happening here. It is not - * unsigned so that EOF (-1) can be naturally assigned to it and used. Also, - * it looks like 10646 will be a 31 bit standard. This means that if your - * ints cannot hold 32 bits, you will be in trouble. The reason an int was - * chosen over a long is that the is*() and to*() routines take ints (says - * ANSI C), but they use _RUNE_T_ instead of int. By changing it here, you - * lose a bit of ANSI conformance, but your programs will still work. - * - * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type. When wchar_t - * and rune_t are typedef'd, _WCHAR_T_ will be undef'd, but _RUNE_T remains - * defined for ctype.h. - */ -#define _BSD_WCHAR_T_ int /* wchar_t */ -#define _BSD_RUNE_T_ int /* rune_t */ - -#endif /* _ANSI_H_ */ diff --git a/sys/arch/mvme88k/include/asm.h b/sys/arch/mvme88k/include/asm.h deleted file mode 100644 index 84714410860..00000000000 --- a/sys/arch/mvme88k/include/asm.h +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1993-1992 Carnegie Mellon University - * Copyright (c) 1991 OMRON Corporation - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON AND OMRON ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON AND OMRON DISCLAIM ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ -/* - * HISTORY - * $Log: asm.h,v $ - * Revision 1.1 1995/10/18 10:54:22 deraadt - * Initial revision - * - * Revision 2.3 93/01/26 18:05:05 danner - * Added #ifndef file wrapper. - * [93/01/24 jfriedl] - * - * Revision 2.2 92/08/03 17:46:50 jfriedl - * Brought to m88k directory. - * [92/07/24 jfriedl] - * - * Revision 2.1.1.1 92/05/27 15:24:16 danner - * Move FLUSH_PIPELINE, REG_OFF definitions here. - * [92/05/17 danner] - * - * Revision 2.3 92/02/18 18:00:24 elf - * Typo correction (from Torbjorn Granlund <tege@sics.se>). - * [92/02/06 danner] - * - * moved RTE definition here - * [92/02/02 danner] - * - * Revision 2.2 91/07/09 23:16:20 danner - * Initial 3.0 Checkin - * [91/06/26 11:57:57 danner] - * - * Revision 2.2 91/04/05 13:55:26 mbj - * Initial code from the Omron 1.10 kernel release corresponding to X130. - * The Copyright has been adjusted to correspond to the understanding - * between CMU and the Omron Corporation. - * [91/04/04 rvb] - * - * Corrected ENTRY Macro to use NEWLINE instead of \\ Hack - * [91/03/07 danner] - * - */ - -/* - * File: m88k/asm.h - * - * This header file is intended to hold definitions useful for M88K - * assembly routines. - * - */ -#ifndef __M88K_ASM_H__ -#define __M88K_ASM_H__ - -#ifndef prepend_underbar -# ifdef __STDC__ -# define prepend_underbar(NAME) _##NAME -# else -# define prepend_underbar(NAME) _/**/NAME -# endif -#endif - -#define ENTRY(NAME) \ - align 4 NEWLINE prepend_underbar(NAME): NEWLINE global prepend_underbar(NAME) - -#define RTE NOP NEWLINE rte - -#define PID cr0 -#define PSR cr1 -#define EPSR cr2 -#define SSBR cr3 -#define SXIP cr4 -#define SNIP cr5 -#define SFIP cr6 -#define VBR cr7 -#define DMT0 cr8 -#define DMD0 cr9 -#define DMA0 cr10 -#define DMT1 cr11 -#define DMD1 cr12 -#define DMA1 cr13 -#define DMT2 cr14 -#define DMD2 cr15 -#define DMA2 cr16 -#define SR0 cr17 -#define SR1 cr18 -#define SR2 cr19 -#define SR3 cr20 -#define FPECR fcr0 -#define FPHS1 fcr1 -#define FPLS1 fcr2 -#define FPHS2 fcr3 -#define FPLS2 fcr4 -#define FPPT fcr5 -#define FPRH fcr6 -#define FPRL fcr7 -#define FPIT fcr8 -#define FPSR fcr62 -#define FPCR fcr63 - -/* - * At various times, there is the need to clear the pipeline (i.e. - * synchronize). A "tcnd ne0, r0, foo" will do that (because a trap - * instruction always synchronizes, and this particular instruction - * will never actually take the trap). - */ -#define FLUSH_PIPELINE tcnd ne0, r0, 0 -#define NOP or r0, r0, r0 - -/* REGister OFFset into the E.F. (exception frame) */ -#define REG_OFF(reg_num) ((reg_num) * 4) /* (num * sizeof(register int)) */ -#define GENREG_OFF(num) (REG_OFF(EF_R0 + (num))) /* GENeral REGister OFFset */ - -#if !defined(LABEL) -#define LABEL(name) name: global name NEWLINE -#define _LABEL(name) name: NEWLINE -#endif /* LABEL */ - -#endif /* __M88K_ASM_H__ */ diff --git a/sys/arch/mvme88k/include/asm_macro.h b/sys/arch/mvme88k/include/asm_macro.h deleted file mode 100644 index ac51ebefee6..00000000000 --- a/sys/arch/mvme88k/include/asm_macro.h +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1993-1991 Carnegie Mellon University - * Copyright (c) 1991 OMRON Corporation - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON AND OMRON ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON AND OMRON DISCLAIM ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ -/* - * HISTORY - * $Log: asm_macro.h,v $ - * Revision 1.1 1995/10/18 10:54:22 deraadt - * Initial revision - * - * Revision 2.2 93/01/26 18:07:26 danner - * Created. - * [93/01/24 jfriedl] - * - */ - -#ifndef __M88K_ASM_MACRO_H__ -#define __M88K_ASM_MACRO_H__ - -/* - ** Various compiler macros used for speed and efficiency. - ** Anyone can include. - */ - -/* - * PSR_TYPE is the type of the Process Status Register. - */ -typedef unsigned long m88k_psr_type; - -/* - * disable_interrupts_return_psr() - * - * The INTERRUPT_DISABLE bit is set in the PSR and the *PREVIOUS* - * PSR is returned. Intended to be used with set_psr() [below] as in: - * - * { - * m88k_psr_type psr; - * . - * . - * psr = disable_interrupts_return_psr(); - * . - * SHORT [time-wise] CRITICAL SECTION HERE - * . - * set_psr(psr); - * . - * . - */ -static inline m88k_psr_type disable_interrupts_return_psr(void) -{ - m88k_psr_type temp, oldpsr; - asm volatile ( - "ldcr %0, cr1 \n" - "set %1, %0, 1<1> \n" - "stcr %1, cr1 \n" - "tcnd ne0, r0, 0 " : "=r" (oldpsr), "=r" (temp)); - return oldpsr; -} -#define disable_interrupt() (void)disable_interrupts_return_psr() - -/* - * Sets the PSR. See comments above. - */ -static inline void set_psr(m88k_psr_type psr) -{ - asm volatile ("stcr %0, cr1" :: "r" (psr)); -} - -/* - * Enables interrupts. - */ -static inline m88k_psr_type enable_interrupts_return_psr(void) -{ - m88k_psr_type temp, oldpsr; /* need a temporary register */ - asm volatile ( - "ldcr %0, cr1 \n" - "clr %1, %0, 1<1> \n" - "stcr %1, cr1 " : "=r" (oldpsr), "=r" (temp)); - return oldpsr; -} -#define enable_interrupt() (void)enable_interrupts_return_psr() - -#define db_enable_interrupt enable_interrupt -#define db_disable_interrupt disable_interrupt - -/* - * flushes the data pipeline. - */ -static inline void flush_pipeline() -{ - asm volatile ("tcnd ne0, r0, 0"); -} -#define db_flush_pipeline flush_pipeline - -#endif /* __M88K_ASM_MACRO_H__ */ diff --git a/sys/arch/mvme88k/include/assert.h b/sys/arch/mvme88k/include/assert.h deleted file mode 100644 index c9e72557e77..00000000000 --- a/sys/arch/mvme88k/include/assert.h +++ /dev/null @@ -1,8 +0,0 @@ -#define assert(x) \ -({\ - if (!(x)) {\ - printf("assertion failure \"%s\" line %d file %s\n", \ - #x, __LINE__, __FILE__); \ - panic("assertion"); \ - } \ -}) diff --git a/sys/arch/mvme88k/include/assym.s b/sys/arch/mvme88k/include/assym.s deleted file mode 100644 index 1c61062f668..00000000000 --- a/sys/arch/mvme88k/include/assym.s +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef __GENASSYM_INCLUDED -#define __GENASSYM_INCLUDED 1 - -#ifdef ASSEMBLER -#define NEWLINE \\ -#endif -#define P_FORW 0 -#define P_BACK 4 -#define P_VMSPACE 32 -#define P_ADDR 240 -#define P_PRIORITY 208 -#define P_STAT 44 -#define P_WCHAN 96 -#define SRUN 2 -#define VM_PMAP 132 -#define V_INTR 12 -#define UPAGES 3 -#define PGSHIFT 12 -#define U_PROF 824 -#define U_PROFSCALE 836 -#define PCB_ONFAULT 328 -#define SIZEOF_PCB 332 -#define SYS_exit 1 -#define SYS_execve 59 -#define SYS_sigreturn 103 -#define EF_R0 0 -#define EF_R31 31 -#define EF_FPSR 32 -#define EF_FPCR 33 -#define EF_EPSR 34 -#define EF_SXIP 35 -#define EF_SFIP 37 -#define EF_SNIP 36 -#define EF_SSBR 38 -#define EF_DMT0 39 -#define EF_DMD0 40 -#define EF_DMA0 41 -#define EF_DMT1 42 -#define EF_DMD1 43 -#define EF_DMA1 44 -#define EF_DMT2 45 -#define EF_DMD2 46 -#define EF_DMA2 47 -#define EF_FPECR 48 -#define EF_FPHS1 49 -#define EF_FPLS1 50 -#define EF_FPHS2 51 -#define EF_FPLS2 52 -#define EF_FPPT 53 -#define EF_FPRH 54 -#define EF_FPRL 55 -#define EF_FPIT 56 -#define EF_VECTOR 57 -#define EF_MASK 58 -#define EF_MODE 59 -#define EF_RET 60 -#define EF_NREGS 62 -#define SIZEOF_EF 248 - -#endif /* __GENASSYM_INCLUDED */ diff --git a/sys/arch/mvme88k/include/autoconf.h b/sys/arch/mvme88k/include/autoconf.h deleted file mode 100644 index fc16b991c1a..00000000000 --- a/sys/arch/mvme88k/include/autoconf.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 1993 Adam Glass - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Adam Glass. - * 4. The name of the Author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY Adam Glass ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Header: /cvs/OpenBSD/src/sys/arch/mvme88k/include/autoconf.h,v 1.1 1995/10/18 10:54:22 deraadt Exp $ - */ - -int always_match __P((struct device *, struct cfdata *, void *)); - -#define DEVICE_UNIT(device) (device->dv_unit) -#define CFDATA_LOC(cfdata) (cfdata->cf_loc) diff --git a/sys/arch/mvme88k/include/board.h b/sys/arch/mvme88k/include/board.h deleted file mode 100644 index f53367b7cdf..00000000000 --- a/sys/arch/mvme88k/include/board.h +++ /dev/null @@ -1,78 +0,0 @@ -#ifndef _MACHINE_BOARD_H -#define _MACHINE_BOARD_H -/* - * VME187 CPU board constants - derived from Luna88k - */ - -/* - * Something to put append a 'U' to a long constant if it's C so that - * it'll be unsigned in both ANSI and traditional. - */ -#if defined(ASSEMBLER) -# define U(num) num -#else -# if defined(__STDC__) -# define U(num) num ## U -# else -# define U(num) num/**/U -# endif -#endif - -#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 MAXU_ADDR U(0x40000000) /* size of user virtual space */ -#define MAXPHYSMEM U(0x10000000) /* max physical memory */ - -#define IO_SPACE_START U(0xFFF00000) /* start of local IO */ -#define IO_SPACE_END U(0xFFFFFFFF) /* end of io space */ - -#define ILLADDRESS U(0x0F000000) /* any faulty address */ -#define PROM_ADDR U(0xFF800000) /* PROM */ - -#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 PCC_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 MK48T08_ADDR U(0xFFFC0000) /* BBRAM, TOD */ - -#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 CMMU_I U(0xFFF77000) /* CMMU instruction */ -#define CMMU_D U(0xFFF7F000) /* CMMU data */ - -/* 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 /* _MACHINE_BOARD_H */ diff --git a/sys/arch/mvme88k/include/bug.h b/sys/arch/mvme88k/include/bug.h deleted file mode 100644 index b1c3686f655..00000000000 --- a/sys/arch/mvme88k/include/bug.h +++ /dev/null @@ -1,12 +0,0 @@ -#include <machine/bugio.h> - -struct bugenv { - int clun; - int dlun; - int ipl; - int ctlr; - int (*entry)(); - int cfgblk; - char *argstart; - char *argend; -}; diff --git a/sys/arch/mvme88k/include/bugio.h b/sys/arch/mvme88k/include/bugio.h deleted file mode 100644 index 74bb77bd336..00000000000 --- a/sys/arch/mvme88k/include/bugio.h +++ /dev/null @@ -1,62 +0,0 @@ -#include "sys/cdefs.h" - -struct bugdisk_io { - char clun; - char dlun; - short status; - void *addr; - int blkno; -#define fileno blkno - short nblks; - char flag; -#define FILEMARKFLAG 0x80 -#define IGNOREFILENO 0x02 -#define ENDOFFILE 0x01 - char am; -}; - -/* values are in BCD {upper nibble+lower nibble} */ - -struct bugrtc { - unsigned char Y; - unsigned char M; - unsigned char D; - unsigned char d; - unsigned char H; - unsigned char m; - unsigned char s; - unsigned char c; -}; - -/* Board ID - lots of info */ - -struct bugbrdid { - unsigned char eye[4]; - char rev; - char month; - char day; - char year; - short packetsize; - short dummy; - short brdno; - unsigned char brdsuf[2]; - char options[3]; - char family:4; - char cpu:4; - short clun; - short dlun; - short type; - short dev; - int option; -}; - -char buginchr __P((void)); -int buginstat __P((void)); -int bugoutchr __P((unsigned char)); -int bugoutstr __P((char *, char *)); -int bugpcrlf __P((void)); -int bugdskrd __P((struct bugdisk_io *)); -int bugdskwr __P((struct bugdisk_io *)); -int bugrtcrd __P((struct bugrtc *)); -int bugreturn __P((void)); -int bugbrdid __P((struct bugbrdid *)); diff --git a/sys/arch/mvme88k/include/cdefs.h b/sys/arch/mvme88k/include/cdefs.h deleted file mode 100644 index 286edf32784..00000000000 --- a/sys/arch/mvme88k/include/cdefs.h +++ /dev/null @@ -1,37 +0,0 @@ -/* $NetBSD: cdefs.h,v 1.2 1995/03/23 20:10:48 jtc Exp $ */ - -/* - * Written by J.T. Conklin <jtc@wimsey.com> 01/17/95. - * Public domain. - */ - -#ifndef _MACHINE_CDEFS_H_ -#define _MACHINE_CDEFS_H_ - -#ifdef __STDC__ -#define _C_LABEL(x) _STRING(_ ## x) -#else -#define _C_LABEL(x) _STRING(_/**/x) -#endif - -#ifdef __GNUC__ -#ifdef __STDC__ -#define __indr_reference(sym,alias) \ - __asm__(".stabs \"_" #alias "\",11,0,0,0"); \ - __asm__(".stabs \"_" #sym "\",1,0,0,0") -#define __warn_references(sym,msg) \ - __asm__(".stabs \"" msg "\",30,0,0,0"); \ - __asm__(".stabs \"_" #sym "\",1,0,0,0") -#else -#define __indr_reference(sym,alias) \ - __asm__(".stabs \"_/**/alias\",11,0,0,0"); \ - __asm__(".stabs \"_/**/sym\",1,0,0,0") -#define __warn_references(sym,msg) \ - __asm__(".stabs msg,30,0,0,0"); \ - __asm__(".stabs \"_/**/sym\",1,0,0,0") -#endif -#else -#define __warn_references(sym,msg) /* nothing */ -#endif - -#endif /* !_MACHINE_CDEFS_H_ */ diff --git a/sys/arch/mvme88k/include/cpu.h b/sys/arch/mvme88k/include/cpu.h deleted file mode 100644 index 39890d72b66..00000000000 --- a/sys/arch/mvme88k/include/cpu.h +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Lawrence Berkeley Laboratory. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef _CPU_H_ -#define _CPU_H_ - -/* - * CTL_MACHDEP definitinos. - */ -#define CPU_MAXID 1 /* no valid machdep ids */ - -#define CTL_MACHDEP_NAMES { \ - { 0, 0 }, \ -} - -#ifdef KERNEL - -#include <machine/psl.h> - -/* - * definitions of cpu-dependent requirements - * referenced in generic code - */ -#define COPY_SIGCODE /* copy sigcode above user stack in exec */ - -#define cpu_exec(p) /* nothing */ -#define cpu_wait(p) /* nothing */ -#define cpu_swapout(p) /* nothing */ - -/* - * See syscall() for an explanation of the following. Note that the - * locore bootstrap code follows the syscall stack protocol. The - * framep argument is unused. - */ -#define cpu_set_init_frame(p, fp) \ - (p)->p_md.md_tf = (struct trapframe *) \ - ((caddr_t)(p)->p_addr) - -/* - * Arguments to hardclock and gatherstats encapsulate the previous - * machine state in an opaque clockframe. - */ -struct clockframe { - int pc; /* program counter at time of interrupt */ - int sr; /* status register at time of interrupt */ - int ipl; /* mask level at the time of interrupt */ -}; - -#define CLKF_USERMODE(framep) (((framep)->sr & 80000000) == 0) -#define CLKF_BASEPRI(framep) ((framep)->ipl == 0) -#define CLKF_PC(framep) ((framep)->pc & ~3) -#define CLKF_INTR(framep) (0) - -#define SIR_NET 1 -#define SIR_CLOCK 2 - -#define setsoftnet() (ssir |= SIR_NET, want_ast = 1) -#define setsoftclock() (ssir |= SIR_CLOCK, want_ast = 1) - -#define siroff(x) (ssir &= ~x) - -int ssir; -int want_ast; - -/* - * Preempt the current process if in interrupt from user mode, - * or after the current trap/syscall if in system mode. - */ -int want_resched; /* resched() was called */ -#define need_resched() (want_resched = 1, want_ast = 1) - -/* - * Give a profiling tick to the current process when the user profiling - * buffer pages are invalid. On the sparc, request an ast to send us - * through trap(), marking the proc as needing a profiling tick. - */ -#define need_proftick(p) ((p)->p_flag |= P_OWEUPC, want_ast = 1) - -/* - * Notify the current process (p) that it has a signal pending, - * process as soon as possible. - */ -#define signotify(p) (want_ast = 1) - -#endif /* KERNEL */ -#endif /* _CPU_H_ */ diff --git a/sys/arch/mvme88k/include/cpus.h b/sys/arch/mvme88k/include/cpus.h deleted file mode 100644 index 14501d90f26..00000000000 --- a/sys/arch/mvme88k/include/cpus.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1993-1992 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * - * HISTORY - */ -/* - Versions Idents for 88k family chips - */ - -#ifndef _M88K_CPUS_ -#define _M88K_CPUS_ - -/* - * cpu Processor Identification Register (PID). - */ -#ifndef ASSEMBLER -union cpupid { - unsigned cpupid; - struct { - unsigned - /*empty*/:16, - arc:8, - version:7, - master:1; - } m88100; - struct { - unsigned - id:8, - type:3, - version:5, - /*empty*/:16; - } m88200; -}; -#endif ASSEMBLER - -#define M88100 0 -#define M88200 5 -#define M88204 6 - -#endif _M88K_CPUS_ diff --git a/sys/arch/mvme88k/include/db_machdep.h b/sys/arch/mvme88k/include/db_machdep.h deleted file mode 100644 index c27653ab45f..00000000000 --- a/sys/arch/mvme88k/include/db_machdep.h +++ /dev/null @@ -1,169 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1993-1991 Carnegie Mellon University - * Copyright (c) 1991 OMRON Corporation - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON AND OMRON ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON AND OMRON DISCLAIM ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ -/* - * HISTORY - */ - -/* - * Machine-dependent defined for the new kernel debugger - */ - -#ifndef _M88K_DB_MACHDEP_H_ -#define _M88K_DB_MACHDEP_H_ 1 - -#include <sys/types.h> -#include <vm/vm_prot.h> -#include <vm/vm_param.h> -#include <vm/vm_inherit.h> -#include <vm/lock.h> -#include <machine/pcb.h> /* m88100_saved_state */ -#include <machine/psl.h> -#include <machine/trap.h> - -#define BKPT_SIZE (4) /* number of bytes in bkpt inst. */ -#define BKPT_INST (0xF000D082U) /* tb0, 0,r0, vector 132 */ -#define BKPT_SET(inst) (BKPT_INST) - -/* Entry trap for the debugger - used for inline assembly breaks*/ -#define ENTRY_ASM "tb0 0, r0, 132" -#define DDB_ENTRY_TRAP_NO 132 - -typedef vm_offset_t db_addr_t; -typedef int db_expr_t; -typedef struct m88100_saved_state db_regs_t; -db_regs_t ddb_regs; /* register state */ -#define DDB_REGS (&ddb_regs) - -/* - * the low two bits of sxip, snip, sfip have valid bits - * in them that need to masked to get the correct addresses - */ - -#define m88k_pc(regs) \ -({ \ - int ret; \ - \ - if (regs->sxip & 2) /* is valid */ \ - ret = regs->sxip & ~3; \ - else if (regs->snip & 2) \ - ret = regs->snip & ~3; \ - else if (regs->sfip & 2) \ - ret = regs->sfip & ~3; \ - /* we are in trouble - none of the program counters is valid */ \ - ret; \ -}) - -/* - * This is an actual function due to the fact that the sxip - * or snip could be nooped out due to a jmp or rte - */ -#define PC_REGS(regs) (regs->sxip & 2) ? regs->sxip & ~3 : (regs->snip & 2 ? \ - regs->snip & ~3 : regs->sfip & ~3) - -#define pC_REGS(regs) (regs->sxip & 2) ? regs->sxip : (regs->snip & 2 ? \ - regs->snip : regs->sfip) -extern int db_noisy; -#define NOISY(x) if (db_noisy) x -#define NOISY2(x) if (db_noisy >= 2) x -#define NOISY3(x) if (db_noisy >= 3) x - -extern int quiet_db_read_bytes; - -/* These versions are not constantly doing SPL */ -#define cnmaygetc db_getc -#define cngetc db_getc -#define cnputc db_putc - -/* breakpoint/watchpoint foo */ -#define IS_BREAKPOINT_TRAP(type,code) ((type)==T_KDB_BREAK) -#if defined(T_WATCHPOINT) -#define IS_WATCHPOINT_TRAP(type,code) ((type)==T_KDB_WATCH) -#else -#define IS_WATCHPOINT_TRAP(type,code) 0 -#endif /* T_WATCHPOINT */ - -/* we don't want coff support */ -#define DB_NO_COFF 1 - -/* need software single step */ -#define SOFTWARE_SSTEP 1 - -/* - * Debugger can get to any address space - */ - -#define DB_ACCESS_LEVEL DB_ACCESS_ANY - -#define DB_VALID_KERN_ADDR(addr) (!badaddr((void*)(addr), 1)) -#define DB_VALID_ADDRESS(addr,user) \ - (user ? db_check_user_addr(addr) : DB_VALID_KERN_ADDR(addr)) - -/* instruction type checking - others are implemented in db_sstep.c */ - -#define inst_trap_return(ins) ((ins) == 0xf400fc00U) - -/* don't need to load symbols */ -#define DB_SYMBOLS_PRELOADED 1 - -/* machine specific commands have been added to ddb */ -#define DB_MACHINE_COMMANDS 1 -/* inst_return(ins) - is the instruction a function call return. - * Not mutually exclusive with inst_branch. Should be a jmp r1. */ -#define inst_return(I) (((I)&0xfffffbffU) == 0xf400c001U ? TRUE : FALSE) - -#ifdef __GNUC__ -/* - * inst_call - function call predicate: is the instruction a function call. - * Could be either bsr or jsr - */ -#define inst_call(I) ({ unsigned i = (I); \ - ((((i) & 0xf8000000U) == 0xc8000000U || /*bsr*/ \ - ((i) & 0xfffffbe0U) == 0xf400c800U) /*jsr*/ \ - ? TRUE : FALSE) \ -;}) - -/* - * This routine should return true for instructions that result in unconditonal - * transfers of the flow of control. (Unconditional Jumps, subroutine calls, - * subroutine returns, etc). - * - * Trap and return from trap should not be listed here. - */ -#define inst_unconditional_flow_transfer(I) ({ unsigned i = (I); \ - ((((i) & 0xf0000000U) == 0xc0000000U || /* br, bsr */ \ - ((i) & 0xfffff3e0U) == 0xf400c000U) /* jmp, jsr */ \ - ? TRUE: FALSE) \ -;}) - -/* Return true if the instruction has a delay slot. */ -#define db_branch_is_delayed(I) inst_delayed(I) - -#endif /* __GNUC__ */ - -#define db_printf_enter db_printing - -#endif /* _M88K_DB_MACHDEP_H_ */ diff --git a/sys/arch/mvme88k/include/disklabel.h b/sys/arch/mvme88k/include/disklabel.h deleted file mode 100644 index c7419657305..00000000000 --- a/sys/arch/mvme88k/include/disklabel.h +++ /dev/null @@ -1,94 +0,0 @@ -#ifndef _MACHINE_DISKLABEL_H_ -#define _MACHINE_DISKLABEL_H_ - -#define MAXPARTITIONS 16 - -/* number of boot pieces , ie xxboot bootxx */ -#define NUMBOOT 2 - -#define RAW_PART 2 /* Xd0c is raw part. */ - -/* - * used to encode disk minor numbers - * this should probably be moved to sys/disklabel.h - */ -#define DISKUNIT(dev) (minor(dev) / MAXPARTITIONS) -#define DISKPART(dev) (minor(dev) % MAXPARTITIONS) -#define MAKEDISKDEV(maj, unit, part) \ - (makedev((maj), ((unit) * MAXPARTITIONS) + (part))) - -struct cpu_disklabel { - /* VID */ - unsigned char vid_id[4]; - unsigned char vid_0[16]; - unsigned int vid_oss; - unsigned short vid_osl; - unsigned char vid_1[4]; - unsigned short vid_osa_u; - unsigned short vid_osa_l; - unsigned char vid_2[2]; - unsigned short partitions; - unsigned char vid_vd[16]; - unsigned long bbsize; - unsigned long magic1; /* 4 */ - unsigned short type; /* 2 */ - unsigned short subtype; /* 2 */ - unsigned char packname[16]; /* 16 */ - unsigned long flags; /* 4 */ - unsigned long drivedata[5]; /* 4 */ - unsigned long spare[5]; /* 4 */ - unsigned short checksum; /* 2 */ - - unsigned long secpercyl; /* 4 */ - unsigned long secperunit; /* 4 */ - unsigned long headswitch; /* 4 */ - - unsigned char vid_3[4]; - unsigned int vid_cas; - unsigned char vid_cal; - unsigned char vid_4_0[3]; - unsigned char vid_4[64]; - unsigned char vid_4_1[28]; - unsigned long sbsize; - unsigned char vid_mot[8]; - /* CFG */ - unsigned char cfg_0[4]; - unsigned short cfg_atm; - unsigned short cfg_prm; - unsigned short cfg_atw; - unsigned short cfg_rec; - - unsigned short sparespertrack; - unsigned short sparespercyl; - unsigned long acylinders; - unsigned short rpm; - unsigned short cylskew; - - unsigned char cfg_spt; - unsigned char cfg_hds; - unsigned short cfg_trk; - unsigned char cfg_ilv; - unsigned char cfg_sof; - unsigned short cfg_psm; - unsigned short cfg_shd; - unsigned char cfg_2[2]; - unsigned short cfg_pcom; - unsigned char cfg_3; - unsigned char cfg_ssr; - unsigned short cfg_rwcc; - unsigned short cfg_ecc; - unsigned short cfg_eatm; - unsigned short cfg_eprm; - unsigned short cfg_eatw; - unsigned char cfg_gpb1; - unsigned char cfg_gpb2; - unsigned char cfg_gpb3; - unsigned char cfg_gpb4; - unsigned char cfg_ssc; - unsigned char cfg_runit; - unsigned short cfg_rsvc1; - unsigned short cfg_rsvc2; - unsigned long magic2; - unsigned char cfg_4[192]; -}; -#endif _MACHINE_DISKLABEL_H_ diff --git a/sys/arch/mvme88k/include/endian.h b/sys/arch/mvme88k/include/endian.h deleted file mode 100644 index ce22d3d35bc..00000000000 --- a/sys/arch/mvme88k/include/endian.h +++ /dev/null @@ -1,90 +0,0 @@ -/* $OpenBSD: endian.h,v 1.2 1996/11/25 13:11:28 niklas Exp $ */ - -/* - * Copyright (c) 1987, 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)endian.h 8.1 (Berkeley) 6/11/93 - */ - -#ifndef _ENDIAN_H_ -#define _ENDIAN_H_ - -/* - * Define the order of 32-bit words in 64-bit words. - */ -#define _QUAD_HIGHWORD 0 -#define _QUAD_LOWWORD 1 - -#ifndef _POSIX_SOURCE -/* - * Definitions for byte order, according to byte significance from low - * address to high. - */ - -#define LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ -#define BIG_ENDIAN 4321 /* MSB first: 68000, 88000 ibm, net */ -#define PDP_ENDIAN 3412 /* LSB first in word, MSW first in int32_t */ - -#define BYTE_ORDER BIG_ENDIAN - -#include <sys/cdefs.h> - -__BEGIN_DECLS -u_int32_t htonl __P((u_int32_t)); -u_int16_t htons __P((u_int16_t)); -u_int32_t ntohl __P((u_int32_t)); -u_int16_t ntohs __P((u_int16_t)); -__END_DECLS - -/* - * Macros for network/external number representation conversion. - */ -#if BYTE_ORDER == BIG_ENDIAN && !defined(lint) -#define ntohl(x) (x) -#define ntohs(x) (x) -#define htonl(x) (x) -#define htons(x) (x) - -#define NTOHL(x) (x) -#define NTOHS(x) (x) -#define HTONL(x) (x) -#define HTONS(x) (x) - -#else - -#define NTOHL(x) (x) = ntohl((u_int32_t)x) -#define NTOHS(x) (x) = ntohs((u_int16_t)x) -#define HTONL(x) (x) = htonl((u_int32_t)x) -#define HTONS(x) (x) = htons((u_int16_t)x) -#endif -#endif /* ! _POSIX_SOURCE */ -#endif /* !_ENDIAN_H_ */ diff --git a/sys/arch/mvme88k/include/exception_vectors.h b/sys/arch/mvme88k/include/exception_vectors.h deleted file mode 100644 index 3df57e99088..00000000000 --- a/sys/arch/mvme88k/include/exception_vectors.h +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1991, 1992 Carnegie Mellon University - * Copyright (c) 1991 OMRON Corporation - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON AND OMRON ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON AND OMRON DISCLAIM ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ - -#ifndef UNDEFINED -# define UNDEFINED unknown_handler -#endif -/* vector 0x00 (#0) */ word error_handler -/* vector 0x01 (#1) */ word interrupt_handler -/* vector 0x02 (#2) */ word instruction_access_handler -/* vector 0x03 (#3) */ word data_exception_handler -/* vector 0x04 (#4) */ word misaligned_handler -/* vector 0x05 (#5) */ word unimplemented_handler -/* vector 0x06 (#6) */ word privilege_handler -/* vector 0x07 (#7) */ word bounds_handler -/* vector 0x08 (#8) */ word divide_handler -/* vector 0x09 (#9) */ word overflow_handler -/* vector 0x0a (#10) */ word error_handler -/* vector 0x0b (#11) */ word UNDEFINED -/* vector 0x0c (#12) */ word UNDEFINED -/* vector 0x0d (#13) */ word UNDEFINED -/* vector 0x0e (#14) */ word UNDEFINED -/* vector 0x0f (#15) */ word UNDEFINED -/* vector 0x10 (#16) */ word UNDEFINED -/* vector 0x11 (#17) */ word UNDEFINED -/* vector 0x12 (#18) */ word UNDEFINED -/* vector 0x13 (#19) */ word UNDEFINED -/* vector 0x14 (#20) */ word UNDEFINED -/* vector 0x15 (#21) */ word UNDEFINED -/* vector 0x16 (#22) */ word UNDEFINED -/* vector 0x17 (#23) */ word UNDEFINED -/* vector 0x18 (#24) */ word UNDEFINED -/* vector 0x19 (#25) */ word UNDEFINED -/* vector 0x1a (#26) */ word UNDEFINED -/* vector 0x1b (#27) */ word UNDEFINED -/* vector 0x1c (#28) */ word UNDEFINED -/* vector 0x1d (#29) */ word UNDEFINED -/* vector 0x1e (#30) */ word UNDEFINED -/* vector 0x1f (#31) */ word UNDEFINED -/* vector 0x20 (#32) */ word UNDEFINED -/* vector 0x21 (#33) */ word UNDEFINED -/* vector 0x22 (#34) */ word UNDEFINED -/* vector 0x23 (#35) */ word UNDEFINED -/* vector 0x24 (#36) */ word UNDEFINED -/* vector 0x25 (#37) */ word UNDEFINED -/* vector 0x26 (#38) */ word UNDEFINED -/* vector 0x27 (#39) */ word UNDEFINED -/* vector 0x28 (#40) */ word UNDEFINED -/* vector 0x29 (#41) */ word UNDEFINED -/* vector 0x2a (#42) */ word UNDEFINED -/* vector 0x2b (#43) */ word UNDEFINED -/* vector 0x2c (#44) */ word UNDEFINED -/* vector 0x2d (#45) */ word UNDEFINED -/* vector 0x2e (#46) */ word UNDEFINED -/* vector 0x2f (#47) */ word UNDEFINED -/* vector 0x30 (#48) */ word UNDEFINED -/* vector 0x31 (#49) */ word UNDEFINED -/* vector 0x32 (#50) */ word UNDEFINED -/* vector 0x33 (#51) */ word UNDEFINED -/* vector 0x34 (#52) */ word UNDEFINED -/* vector 0x35 (#53) */ word UNDEFINED -/* vector 0x36 (#54) */ word UNDEFINED -/* vector 0x37 (#55) */ word UNDEFINED -/* vector 0x38 (#56) */ word UNDEFINED -/* vector 0x39 (#57) */ word UNDEFINED -/* vector 0x3a (#58) */ word UNDEFINED -/* vector 0x3b (#59) */ word UNDEFINED -/* vector 0x3c (#60) */ word UNDEFINED -/* vector 0x3d (#61) */ word UNDEFINED -/* vector 0x3e (#62) */ word UNDEFINED -/* vector 0x3f (#63) */ word UNDEFINED -/* vector 0x40 (#64) */ word UNDEFINED -/* vector 0x41 (#65) */ word UNDEFINED -/* vector 0x42 (#66) */ word UNDEFINED -/* vector 0x43 (#67) */ word UNDEFINED -/* vector 0x44 (#68) */ word UNDEFINED -/* vector 0x45 (#69) */ word UNDEFINED -/* vector 0x46 (#70) */ word UNDEFINED -/* vector 0x47 (#71) */ word UNDEFINED -/* vector 0x48 (#72) */ word UNDEFINED -/* vector 0x49 (#73) */ word UNDEFINED -/* vector 0x4a (#74) */ word UNDEFINED -/* vector 0x4b (#75) */ word UNDEFINED -/* vector 0x4c (#76) */ word UNDEFINED -/* vector 0x4d (#77) */ word UNDEFINED -/* vector 0x4e (#78) */ word UNDEFINED -/* vector 0x4f (#79) */ word UNDEFINED -/* vector 0x50 (#80) */ word UNDEFINED -/* vector 0x51 (#81) */ word UNDEFINED -/* vector 0x52 (#82) */ word UNDEFINED -/* vector 0x53 (#83) */ word UNDEFINED -/* vector 0x54 (#84) */ word UNDEFINED -/* vector 0x55 (#85) */ word UNDEFINED -/* vector 0x56 (#86) */ word UNDEFINED -/* vector 0x57 (#87) */ word UNDEFINED -/* vector 0x58 (#88) */ word UNDEFINED -/* vector 0x59 (#89) */ word UNDEFINED -/* vector 0x5a (#90) */ word UNDEFINED -/* vector 0x5b (#91) */ word UNDEFINED -/* vector 0x5c (#92) */ word UNDEFINED -/* vector 0x5d (#93) */ word UNDEFINED -/* vector 0x5e (#94) */ word UNDEFINED -/* vector 0x5f (#95) */ word UNDEFINED -/* vector 0x60 (#96) */ word UNDEFINED -/* vector 0x61 (#97) */ word UNDEFINED -/* vector 0x62 (#98) */ word UNDEFINED -/* vector 0x63 (#99) */ word UNDEFINED -/* vector 0x64 (#100) */ word UNDEFINED -/* vector 0x65 (#101) */ word UNDEFINED -/* vector 0x66 (#102) */ word UNDEFINED -/* vector 0x67 (#103) */ word UNDEFINED -/* vector 0x68 (#104) */ word UNDEFINED -/* vector 0x69 (#105) */ word UNDEFINED -/* vector 0x6a (#106) */ word UNDEFINED -/* vector 0x6b (#107) */ word UNDEFINED -/* vector 0x6c (#108) */ word UNDEFINED -/* vector 0x6d (#109) */ word UNDEFINED -/* vector 0x6e (#110) */ word UNDEFINED -/* vector 0x6f (#111) */ word UNDEFINED -/* vector 0x70 (#112) */ word UNDEFINED -/* vector 0x71 (#113) */ word UNDEFINED -/* vector 0x72 (#114) */ word fp_precise_handler -/* vector 0x73 (#115) */ word fp_imprecise_handler -/* vector 0x74 (#116) */ word unimplemented_handler -/* vector 0x75 (#117) */ word UNDEFINED -/* vector 0x76 (#118) */ word unimplemented_handler -/* vector 0x77 (#119) */ word UNDEFINED -/* vector 0x78 (#120) */ word unimplemented_handler -/* vector 0x79 (#121) */ word UNDEFINED -/* vector 0x7a (#122) */ word unimplemented_handler -/* vector 0x7b (#123) */ word UNDEFINED -/* vector 0x7c (#124) */ word unimplemented_handler -/* vector 0x7d (#125) */ word UNDEFINED -/* vector 0x7e (#126) */ word unimplemented_handler -/* vector 0x7f (#127) */ word UNDEFINED -/* vector 0x80 (#128) */ word syscall_handler -/* vector 0x81 (#129) */ word syscall_handler -/* vector 0x82 (#130) */ word break -/* vector 0x83 (#131) */ word trace -/* vector 0x84 (#132) */ word entry -#if defined(RAW_PRINTF) && RAW_PRINTF -/* vector 0x85 (#133) */ word user_raw_putstr /* for USER raw_printf() */ -/* vector 0x85 (#134) */ word user_raw_xpr /* for USER raw_xpr() */ -#endif diff --git a/sys/arch/mvme88k/include/exec.h b/sys/arch/mvme88k/include/exec.h deleted file mode 100644 index bbff3a67156..00000000000 --- a/sys/arch/mvme88k/include/exec.h +++ /dev/null @@ -1,337 +0,0 @@ -#ifndef __A_OUT_GNU_H__ -#define __A_OUT_GNU_H__ - -#include <machine/endian.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#define __GNU_EXEC_MACROS__ - -#ifndef __STRUCT_EXEC_OVERRIDE__ - -struct exec -{ - unsigned a_midmag; /* Use macros N_MAGIC, etc for access */ -#define a_info a_midmag - unsigned a_text; /* size of text, in bytes */ - unsigned a_data; /* size of data, in bytes */ - unsigned a_bss; /* size of uninitialized data area, in bytes */ - unsigned a_syms; /* length of symbol table data, in bytes */ - unsigned a_entry; /* start address */ - unsigned a_trsize; /* size of reloc info for text, in bytes */ - unsigned a_drsize; /* size of reloc info for data, in bytes */ -}; - -#endif /* __STRUCT_EXEC_OVERRIDE__ */ - -#define MID_ZERO 0 /* unknown - implementation dependent */ -#define MID_SUN010 1 /* sun 68010/68020 binary */ -#define MID_SUN020 2 /* sun 68020-only binary */ -#define MID_PC386 100 /* 386 PC binary. (so quoth BFD) */ -#define MID_HP200 200 /* hp200 (68010) BSD binary */ -#define MID_I386 134 /* i386 BSD binary */ -#define MID_M68K 135 /* m68k BSD binary with 8K page sizes */ -#define MID_M68K4K 136 /* m68k BSD binary with 4K page sizes */ -#define MID_NS32532 137 /* ns32532 */ -#define MID_SPARC 138 /* sparc */ -#define MID_PMAX 139 /* pmax */ -#define MID_VAX 140 /* vax */ -#define MID_ALPHA 141 /* Alpha BSD binary */ -#define MID_M88K 151 /* m88k BSD binary */ -#define MID_HP300 300 /* hp300 (68020+68881) BSD binary */ -#define MID_HPUX 0x20C /* hp200/300 HP-UX binary */ - -/* these go in the N_MACHTYPE field */ -enum machine_type { -#if defined (M_OLDSUN2) - M__OLDSUN2 = M_OLDSUN2, -#else - M_OLDSUN2 = 0, -#endif -#if defined (M_68010) - M__68010 = M_68010, -#else - M_68010 = 1, -#endif -#if defined (M_68020) - M__68020 = M_68020, -#else - M_68020 = 2, -#endif -#if defined (M_SPARC) - M__SPARC = M_SPARC, -#else - M_SPARC = 3, -#endif - /* skip a bunch so we don't run into any of sun's numbers */ - M_386 = 100, - M_88K = 151 -}; - -#define N_GETMAGIC(ex) \ - ((ex).a_midmag & 0xffff) - -#define N_GETMID(ex) \ - (((ex).a_midmag >> 16)&0xff) -#if !defined (N_MAGIC) -#define N_MAGIC(exec) ((exec).a_info & 0xffff) -#endif -#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff)) -#define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff) -#define N_SET_INFO(exec, magic, type, flags) \ - ((exec).a_info = ((magic) & 0xffff) \ - | (((int)(type) & 0xff) << 16) \ - | (((flags) & 0xff) << 24)) -#define N_SET_MAGIC(exec, magic) \ - ((exec).a_info = (((exec).a_info & 0xffff0000) | ((magic) & 0xffff))) - -#define N_SET_MACHTYPE(exec, machtype) \ - ((exec).a_info = \ - ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16)) - -#define N_SET_FLAGS(exec, flags) \ - ((exec).a_info = \ - ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24)) - -#ifndef OMAGIC -/* Code indicating object file or impure executable. */ -#define OMAGIC 0407 -/* Code indicating pure executable. */ -#define NMAGIC 0410 -/* Code indicating demand-paged executable. */ -#define ZMAGIC 0413 -#define QMAGIC 0314 /* "compact" demand load format; deprecated */ -#endif /* not OMAGIC */ - -#if !defined (N_BADMAG) -#define N_BADMAG(x) \ - (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ - && N_MAGIC(x) != ZMAGIC) -#endif - -#define _N_BADMAG(x) \ - (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ - && N_MAGIC(x) != ZMAGIC) - -#if !defined(sparc) && !defined(m88k) -#define _N_HDROFF(x) (SEGMENT_SIZE - sizeof (struct exec)) -#else -#define _N_HDROFF(x) (- sizeof (struct exec)) -#endif - -#if !defined (N_TXTOFF) -#define N_TXTOFF(x) \ - (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) : sizeof (struct exec)) -#endif - -#if !defined (N_DATOFF) -#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) -#endif - -#if !defined (N_TRELOFF) -#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) -#endif - -#if !defined (N_DRELOFF) -#define N_DRELOFF(x) (N_TRELOFF(x) + (x).a_trsize) -#endif - -#if !defined (N_SYMOFF) -#define N_SYMOFF(x) (N_DRELOFF(x) + (x).a_drsize) -#endif - -#if !defined (N_STROFF) -#define N_STROFF(x) (N_SYMOFF(x) + (x).a_syms) -#endif - -/* Address of text segment in memory after it is loaded. */ -#if !defined (N_TXTADDR) -#define N_TXTADDR(x) 0 -#endif - -/* Address of data segment in memory after it is loaded. - Note that it is up to you to define SEGMENT_SIZE - on machines not listed here. */ -#if defined (hp300) || defined (mips) || defined(m88k) -#ifndef PAGE_SIZE -#define PAGE_SIZE 4096 -#endif /* PAGE_SIZE */ -#endif -#if defined (sparc) || defined (NeXT) -#define PAGE_SIZE 0x2000 -#endif -#if defined (sony) || (defined (sun) && defined (mc68000)) -#define SEGMENT_SIZE 0x2000 -#endif /* Sony or 68k Sun. */ -#ifdef is68k -#define SEGMENT_SIZE 0x20000 -#endif -#if defined(m68k) && defined(PORTAR) -#define PAGE_SIZE 0x400 -#endif -#ifndef SEGMENT_SIZE -/* This used to be first in this paragraph and under: - if (defined(vax) || defined(hp300) || defined(pyr) || defined(sparc) \ - || (defined(m68k) && defined(PORTAR)) \ - || defined (NeXT) || defined (mips)) */ -#define SEGMENT_SIZE PAGE_SIZE -#endif -#ifndef PAGE_SIZE -/* This value is for i386-minix, but that has no predefine. - Making it default will only cause confusion on machines - which have no proper value defined. */ -#define PAGE_SIZE 16 -#endif - -#define PAGSIZ PAGE_SIZE -#define SEGSIZ SEGMENT_SIZE -#if !defined(__LDPGSZ) -#define __LDPGSZ PAGE_SIZE -#endif /* __LDPGSZ */ - -#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1)) - -#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) - -#ifndef N_DATADDR -#define N_DATADDR(x) \ - (N_MAGIC(x)==OMAGIC? (_N_TXTENDADDR(x)) \ - : (_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) -#endif - -/* Address of bss segment in memory after it is loaded. */ -#if !defined (N_BSSADDR) -#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) -#endif - -#if 0 -#if !defined (N_NLIST_DECLARED) -struct nlist { - union { - char *n_name; - struct nlist *n_next; - long n_strx; - } n_un; - unsigned char n_type; - char n_other; - short n_desc; - unsigned long n_value; -}; -#endif /* no N_NLIST_DECLARED. */ -#endif /* 0 */ - -#if !defined (N_UNDF) -#define N_UNDF 0 -#endif -#if !defined (N_ABS) -#define N_ABS 2 -#endif -#if !defined (N_TEXT) -#define N_TEXT 4 -#endif -#if !defined (N_DATA) -#define N_DATA 6 -#endif -#if !defined (N_BSS) -#define N_BSS 8 -#endif -#if !defined (N_COMM) -#define N_COMM 18 -#endif -#if !defined (N_FN) -#define N_FN 15 -#endif - -#if !defined (N_EXT) -#define N_EXT 1 -#endif -#if !defined (N_TYPE) -#define N_TYPE 036 -#endif -#if !defined (N_STAB) -#define N_STAB 0340 -#endif - -/* The following type indicates the definition of a symbol as being - an indirect reference to another symbol. The other symbol - appears as an undefined reference, immediately following this symbol. - - Indirection is asymmetrical. The other symbol's value will be used - to satisfy requests for the indirect symbol, but not vice versa. - If the other symbol does not have a definition, libraries will - be searched to find a definition. */ -#define N_INDR 0xa - -/* The following symbols refer to set elements. - All the N_SET[ATDB] symbols with the same name form one set. - Space is allocated for the set in the text section, and each set - element's value is stored into one word of the space. - The first word of the space is the length of the set (number of elements). - - The address of the set is made into an N_SETV symbol - whose name is the same as the name of the set. - This symbol acts like a N_DATA global symbol - in that it can satisfy undefined external references. */ - -/* These appear as input to LD, in a .o file. */ -#define N_SETA 0x14 /* Absolute set element symbol */ -#define N_SETT 0x16 /* Text set element symbol */ -#define N_SETD 0x18 /* Data set element symbol */ -#define N_SETB 0x1A /* Bss set element symbol */ - -/* This is output from LD. */ -#define N_SETV 0x1C /* Pointer to set vector in data area. */ - -#if !defined (N_RELOCATION_INFO_DECLARED) -/* This structure describes a single relocation to be performed. - The text-relocation section of the file is a vector of these structures, - all of which apply to the text section. - Likewise, the data-relocation section applies to the data section. */ - -struct relocation_info -{ - /* Address (within segment) to be relocated. */ - int r_address; - /* The meaning of r_symbolnum depends on r_extern. */ - unsigned int r_symbolnum:24; - /* Nonzero means value is a pc-relative offset - and it should be relocated for changes in its own address - as well as for changes in the symbol or section specified. */ - unsigned int r_pcrel:1; - /* Length (as exponent of 2) of the field to be relocated. - Thus, a value of 2 indicates 1<<2 bytes. */ - unsigned int r_length:2; - /* 1 => relocate with value of symbol. - r_symbolnum is the index of the symbol - in file's the symbol table. - 0 => relocate with the address of a segment. - r_symbolnum is N_TEXT, N_DATA, N_BSS or N_ABS - (the N_EXT bit may be set also, but signifies nothing). */ - unsigned int r_extern:1; - /* Four bits that aren't used, but when writing an object file - it is desirable to clear them. */ - unsigned int r_pad:4; -}; -#endif /* no N_RELOCATION_INFO_DECLARED. */ -#define M_32_SWAP(x) (x) -#define M_16_SWAP(x) (x) -#define M_8_SWAP(x) (x) - - -#ifdef __cplusplus -} -#endif - -#define ELF_TARG_CLASS ELFCLASS32 -#define ELF_TARG_DATA ELFDATA2MSB -#define ELF_TARG_MACH EM_88K - -#define _NLIST_DO_AOUT -#define _NLIST_DO_ELF - -#define _KERN_DO_AOUT -#define _KERN_DO_ELF - -#endif /* __A_OUT_GNU_H__ */ diff --git a/sys/arch/mvme88k/include/foo b/sys/arch/mvme88k/include/foo deleted file mode 100644 index 6d19c6950ab..00000000000 --- a/sys/arch/mvme88k/include/foo +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1993-1991 Carnegie Mellon University - * Copyright (c) 1991 OMRON Corporation - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON AND OMRON ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON AND OMRON DISCLAIM ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ -/* - * HISTORY - * $Log: foo,v $ - * Revision 1.1 1995/10/18 10:54:24 deraadt - * Initial revision - * - * Revision 2.6 93/01/26 18:01:15 danner - * Added #ifndef file wrapper. - * [93/01/25 jfriedl] - * - * Revision 2.5 93/01/14 17:53:26 danner - * u_int -> unsigned - * [92/12/02 jfriedl] - * - * Revision 2.4 92/08/03 17:52:34 jfriedl - * changed ifndef to depend on ASSEMBLER. [danner] - * - * Revision 2.3 92/05/21 17:23:01 jfriedl - * Appended 'U' to constants that would otherwise be signed. - * [92/05/16 jfriedl] - * - * Revision 2.2 92/02/18 18:03:52 elf - * Moved from luna88k - * [92/01/20 danner] - * - */ - -#ifndef __MOTOROLA_M88K_M88100_PSL_H__ -#define __MOTOROLA_M88K_M88100_PSL_H__ -/* - * 88100 control registers - */ - -/* - * processor identification register (PID) - */ -#define PID_ARN 0x0000FF00U /* architectural revision number */ -#define PID_VN 0x000000FEU /* version number */ -#define PID_MC 0x00000001U /* master/checker */ - -/* - * processor status register - */ -#define PSR_MODE 0x80000000U /* supervisor/user mode */ -#define PSR_BO 0x40000000U /* byte-ordering 0:big 1:little */ -#define PSR_SER 0x20000000U /* serial mode */ -#define PSR_C 0x10000000U /* carry */ -#define PSR_SFD 0x000003F0U /* SFU disable */ -#define PSR_SFD1 0x00000008U /* SFU1 (FPU) disable */ -#define PSR_MXM 0x00000004U /* misaligned access enable */ -#define PSR_IND 0x00000002U /* interrupt disable */ -#define PSR_SFRZ 0x00000001U /* shadow freeze */ - -/* - * This is used in ext_int() and hard_clock(). - */ -#define PSR_IPL 0x00001000 /* for basepri */ -#define PSR_IPL_LOG 12 /* = log2(PSR_IPL) */ - -#define PSR_MODE_LOG 31 /* = log2(PSR_MODE) */ -#define PSR_BO_LOG 30 /* = log2(PSR_BO) */ -#define PSR_SER_LOG 29 /* = log2(PSR_SER) */ -#define PSR_SFD1_LOG 3 /* = log2(PSR_SFD1) */ -#define PSR_MXM_LOG 2 /* = log2(PSR_MXM) */ -#define PSR_IND_LOG 1 /* = log2(PSR_IND) */ -#define PSR_SFRZ_LOG 0 /* = log2(PSR_SFRZ) */ - -#define PSR_SUPERVISOR (PSR_MODE | PSR_SFD) -#define PSR_USER (PSR_SFD) -#define PSR_SET_BY_USER (PSR_BO | PSR_SER | PSR_C | PSR_MXM) - -#ifndef ASSEMBLER -struct psr { - unsigned - psr_mode: 1, - psr_bo : 1, - psr_ser : 1, - psr_c : 1, - :18, - psr_sfd : 6, - psr_sfd1: 1, - psr_mxm : 1, - psr_ind : 1, - psr_sfrz: 1; -}; -#endif - -#define FIP_V 0x00000002U /* valid */ -#define FIP_E 0x00000001U /* exception */ -#define FIP_ADDR 0xFFFFFFFCU /* address mask */ -#define NIP_V 0x00000002U /* valid */ -#define NIP_E 0x00000001U /* exception */ -#define NIP_ADDR 0xFFFFFFFCU /* address mask */ -#define XIP_V 0x00000002U /* valid */ -#define XIP_E 0x00000001U /* exception */ -#define XIP_ADDR 0xFFFFFFFCU /* address mask */ - -#endif /* __MOTOROLA_M88K_M88100_PSL_H__ */ diff --git a/sys/arch/mvme88k/include/limits.h b/sys/arch/mvme88k/include/limits.h deleted file mode 100644 index abd96bd03e3..00000000000 --- a/sys/arch/mvme88k/include/limits.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)limits.h 8.3 (Berkeley) 1/4/94 - * $Id: limits.h,v 1.1 1995/10/18 10:54:21 deraadt Exp $ - */ - -#define CHAR_BIT 8 /* number of bits in a char */ -#define MB_LEN_MAX 6 /* Allow 31 bit UTF2 */ - - -#define CLK_TCK 60 /* ticks per second */ - -/* - * According to ANSI (section 2.2.4.2), the values below must be usable by - * #if preprocessing directives. Additionally, the expression must have the - * same type as would an expression that is an object of the corresponding - * type converted according to the integral promotions. The subtraction for - * INT_MIN and LONG_MIN is so the value is not unsigned; 2147483648 is an - * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). - * These numbers work for pcc as well. The UINT_MAX and ULONG_MAX values - * are written as hex so that GCC will be quiet about large integer constants. - */ -#define SCHAR_MAX 127 /* min value for a signed char */ -#define SCHAR_MIN (-128) /* max value for a signed char */ - -#define UCHAR_MAX 255 /* max value for an unsigned char */ -#define CHAR_MAX 127 /* max value for a char */ -#define CHAR_MIN (-128) /* min value for a char */ - -#define USHRT_MAX 65535 /* max value for an unsigned short */ -#define SHRT_MAX 32767 /* max value for a short */ -#define SHRT_MIN (-32768) /* min value for a short */ - -#define UINT_MAX 0xffffffff /* max value for an unsigned int */ -#define INT_MAX 2147483647 /* max value for an int */ -#define INT_MIN (-2147483647-1) /* min value for an int */ - -#define ULONG_MAX 0xffffffff /* max value for an unsigned long */ -#define LONG_MAX 2147483647 /* max value for a long */ -#define LONG_MIN (-2147483647-1) /* min value for a long */ - -#if !defined(_ANSI_SOURCE) -#define SSIZE_MAX INT_MAX /* max value for a ssize_t */ - -#if !defined(_POSIX_SOURCE) -#define SIZE_T_MAX UINT_MAX /* max value for a size_t */ - -/* GCC requires that quad constants be written as expressions. */ -#define UQUAD_MAX ((u_quad_t)0-1) /* max value for a uquad_t */ - /* max value for a quad_t */ -#define QUAD_MAX ((quad_t)(UQUAD_MAX >> 1)) -#define QUAD_MIN (-QUAD_MAX-1) /* min value for a quad_t */ - -#endif /* !_POSIX_SOURCE */ -#endif /* !_ANSI_SOURCE */ diff --git a/sys/arch/mvme88k/include/locore.h b/sys/arch/mvme88k/include/locore.h deleted file mode 100644 index cce0671b2f8..00000000000 --- a/sys/arch/mvme88k/include/locore.h +++ /dev/null @@ -1,301 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1993-1991 Carnegie Mellon University - * Copyright (c) 1991 OMRON Corporation - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON AND OMRON ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON AND OMRON DISCLAIM ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ -/* "locore.h" Omron Corporation - ********************************************************************** - * This file created by Omron Corporation, 1990. - * - * HISTORY - * - * - ********************************************************************** - * - * This file contains defines and such used by (most of) the assembly - * routines for Omron's Luna88 Mach system. It also may be included by - * some C language files. - * - ********************************************************************** - * NOTE: Any assembly file that includes this one must define ASSEMBLER first - * - */ - -#ifndef __MACHINE_LOCORE_H__ -#define __MACHINE_LOCORE_H__ - - -/* - ********************************************************************** - SYNTACTICAL AND SEMANTIC DOO-DADS - ********************************************************************** - */ -/* - * NEWLINE is defined in 'assmy.s' in the object area to be a double - * backslash, which 'as' interprets the same as '\n' - */ - -/* - * If this has been included in an assembly file, make sure - * LOCORE is defined. Always make sure KERNEL is defined. - */ -#if defined(ASSEMBLER) && !defined(LOCORE) -# define LOCORE -#endif -#if !defined(KERNEL) -# define KERNEL -#endif - -/* Define EH_DEBUG to be non-zero to compile-in various debugging things */ -#ifndef EH_DEBUG -#define EH_DEBUG 0 -#endif EH_DEBUG - -/* this gives the offsets into various structures of various elements, etc */ -#include "assym.s" - -/* - * LABEL(name) - * Defines the name to be a label visible to the world. - * - * _LABEL(name) - * Defines one visible only to the file, unless debugging - * is enabled, in which case it's visible to the world (and - * hence to debuggers, and such). - */ -#define LABEL(name) name: global name NEWLINE -#if EH_DEBUG -# define _LABEL(name) name: global name NEWLINE -#else -# define _LABEL(name) name: NEWLINE -#endif - - -/* - * Useful in some situations. - * NOTE: If ARG1 or ARG2 are r2 or r3, strange things may happen. Watch out! - */ -#define CALL(NAME, ARG1, ARG2) \ - subu r31, r31, 32 NEWLINE \ - or r2, r0, ARG1 NEWLINE \ - bsr.n NAME NEWLINE \ - or r3, r0, ARG2 NEWLINE \ - addu r31, r31, 32 - -/* - ********************************************************************** - SYMBOLIC CONSTANTS AND VALUES and other important things - ********************************************************************** - */ - -/* - * SR1 - CPU FLAGS REGISTER - * - * SR1 contains flags about the current CPU status. - * - * The lowest FLAG_CPU_FIELD_WIDTH bits hold the cpu number (currently 0-3). - * - * - * The bit FLAG_IGNORE_DATA_EXCEPTION indicates that any data exceptions - * should be ignored (well, at least treated in a special way). - * The bit FLAG_INTERRUPT_EXCEPTION indicates that the current exception - * is the interrupt exception. Such information can be gotten - * in other ways, but having it in the flags makes it easy for the - * exception handler to check quickly. - * The bit FLAG_ENABLING_FPU indicates that the exception handler is - * in the process of enabling the FPU (so that an exception can - * be serviced). This is needed because enabling the FPU can - * cause other exceptions to happen, and the whole system is - * in a rather precarious state and so special cautions must - * be taken. - */ -#define FLAG_CPU_FIELD_WIDTH 4 /* must be <= 12 */ - -#define FLAG_IGNORE_DATA_EXCEPTION 5 /* bit number 5 */ -#define FLAG_INTERRUPT_EXCEPTION 6 /* bit number 6 */ -#define FLAG_ENABLING_FPU 7 /* bit number 7 */ - - -/* REGister OFFset into the E.F. (exception frame) */ -#define REG_OFF(reg_num) ((reg_num) * 4) /* (num * sizeof(register int)) */ -#define GENREG_OFF(num) (REG_OFF(EF_R0 + (num))) /* GENeral REGister OFFset */ - - -#define GENERAL_BREATHING_ROOM /* arbitrarily */ 200 -#define KERNEL_STACK_BREATHING_ROOM \ - (GENERAL_BREATHING_ROOM + SIZEOF_STRUCT_PCB + SIZEOF_STRUCT_UTHREAD) - -/* - * Some registers used during the setting up of the new exception frame. - * Don't choose r1, r30, or r31 for any of them. - * - * Also, if any are 'r2' or 'r3', be careful using with CALL above! - */ -#define FLAGS r2 -#define TMP r3 -#define TMP2 r10 -#define TMP3 r11 -#define SAVE_TMP2 st r10, r31, GENREG_OFF(10) -#define SAVE_TMP3 st r11, r31, GENREG_OFF(11) -#define RESTORE_TMP2 ld r10, r31, GENREG_OFF(10) -#define RESTORE_TMP3 ld r11, r31, GENREG_OFF(11) - - -/* alternate CPU control register names */ -#define PID cr0 -#define PSR cr1 -#define EPSR cr2 -#define SSBR cr3 -#define SXIP cr4 -#define SNIP cr5 -#define SFIP cr6 -#define VBR cr7 -#define DMT0 cr8 -#define DMD0 cr9 -#define DMA0 cr10 -#define DMT1 cr11 -#define DMD1 cr12 -#define DMA1 cr13 -#define DMT2 cr14 -#define DMD2 cr15 -#define DMA2 cr16 -#define SR0 cr17 -#define SR1 cr18 -#define SR2 cr19 -#define SR3 cr20 -#define FPECR fcr0 -#define FPHS1 fcr1 -#define FPLS1 fcr2 -#define FPHS2 fcr3 -#define FPLS2 fcr4 -#define FPPT fcr5 -#define FPRH fcr6 -#define FPRL fcr7 -#define FPIT fcr8 -#define FPSR fcr62 -#define FPCR fcr63 - -/* - * Info about the PSR - */ -#define PSR_SHADOW_FREEZE_BIT 0 -#define PSR_INTERRUPT_DISABLE_BIT 1 -#define PSR_FPU_DISABLE_BIT 3 -#define PSR_BIG_ENDIAN_MODE 30 -#define PSR_SUPERVISOR_MODE_BIT 31 - -/* - * Status bits for an SXIP/SNIP/SFIP address. - */ -#define RTE_VALID_BIT 1 -#define RTE_ERROR_BIT 0 - -/* - * Info about DMT0/DMT1/DMT2 - */ -#define DMT_VALID_BIT 0 -#define DMT_WRITE_BIT 1 -#define DMT_LOCK_BIT 12 -#define DMT_DOUBLE_BIT 13 -#define DMT_DAS_BIT 14 -#define DMT_DREG_OFFSET 7 -#define DMT_DREG_WIDTH 5 - -/* - * Bits for eh_debug. - */ -#define DEBUG_INTERRUPT_BIT 0 -#define DEBUG_DATA_BIT 1 -#define DEBUG_INSTRUCTION_BIT 2 -#define DEBUG_MISALIGN_BIT 3 -#define DEBUG_UNIMP_BIT 4 -#define DEBUG_DIVIDE_BIT 5 -#define DEBUG_OF_BIT 6 -#define DEBUG_FPp_BIT 7 -#define DEBUG_FPi_BIT 8 -#define DEBUG_SYSCALL_BIT 9 -#define DEBUG_MACHSYSCALL_BIT 10 -#define DEBUG_UNIMPLEMENTED_BIT 11 -#define DEBUG_PRIVILEGE_BIT 12 -#define DEBUG_BOUNDS_BIT 13 -#define DEBUG_OVERFLOW_BIT 14 -#define DEBUG_ERROR_BIT 15 -#define DEBUG_SIGSYS_BIT 16 -#define DEBUG_SIGTRAP_BIT 17 -#define DEBUG_BREAK_BIT 18 -#define DEBUG_TRACE_BIT 19 -#define DEBUG_KDB_BIT 20 -#define DEBUG_JKDB_BIT 21 -#define DEBUG_BUGCALL_BIT 22 - -#define DEBUG_UNKNOWN_BIT 31 - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -#define YES 1 -#define NO 0 - -#define SCSI_INTS 0x10 -#define SCSI_SSTS 0x18 -#define SCSI_DREG 0x28 - -/* change software timer for 8mm device support -- 90/08/21 CEC OKUI */ -#define SCSI_WAIT 0x5000000 - -/* - * At various times, there is the need to clear the pipeline (i.e. - * synchronize). A "tcnd ne0, r0, foo" will do that (because a trap - * instruction always synchronizes, and this particular instruction - * will never actually take the trap). - */ -#define FLUSH_PIPELINE tcnd ne0, r0, 0 - -/* - * NOP -- NO-Operation. - * - * A do-nothing one clock doesn't-touch-the-scoreboard type of instruction, - * in case one's needed (sometimes useful for debugging). - */ -#define NOP or r0, r0, r0 - -/* - * These things for vector_init.c and locore.c - */ -#if defined(ASSEMBLER) -# define PREDEFINED_BY_ROM 0xffffffff -# define END_OF_VECTOR_LIST 0xfffffffe -#else -# define PREDEFINED_BY_ROM 0xffffffffU -# define END_OF_VECTOR_LIST 0xfffffffeU -#endif - -/* - * Define ERROR__XXX_USR if the xxx.usr bug (mask C82N) is present. - * This implements the workaround. - */ -#define ERRATA__XXX_USR 1 - -#define USERMODE(x) (!(x & (1 << PSR_SUPERVISOR_MODE_BIT))) - -#endif /* __MACHINE_LOCORE_H__ */ diff --git a/sys/arch/mvme88k/include/m88100.h b/sys/arch/mvme88k/include/m88100.h deleted file mode 100644 index eb047bb08e0..00000000000 --- a/sys/arch/mvme88k/include/m88100.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1993-1992 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * HISTORY - */ -/* - * M88100 flags - */ - -#ifndef _M88100_H_ -#define _M88100_H_ - - -/* - * 88100 RISC definitions - */ - -/* DMT0, DMT1, DMT2 */ -#define DMT_BO 0x00008000 /* Byte-Ordering */ -#define DMT_DAS 0x00004000 /* Data Access Space */ -#define DMT_DOUB1 0x00002000 /* Double Word */ -#define DMT_LOCKBAR 0x00001000 /* Bud Lock */ -#define DMT_DREG 0x00000F80 /* Destination Registers 5bits */ -#define DMT_SIGNED 0x00000040 /* Sign-Extended Bit */ -#define DMT_EN 0x0000003C /* Byte Enable Bit */ -#define DMT_WRITE 0x00000002 /* Read/Write Transaction Bit */ -#define DMT_VALID 0x00000001 /* Valid Transaction Bit */ - -#ifndef ASSEMBLER -#include "sys/types.h" - -struct dmt_reg { - unsigned int :16, - dmt_bo:1, - dmt_das:1, - dmt_doub1:1, - dmt_lockbar:1, - dmt_dreg:5, - dmt_signed:1, - dmt_en:4, - dmt_write:1, - dmt_valid:1; -}; -#endif - -#endif _M88100_H_ diff --git a/sys/arch/mvme88k/include/m882xx.h b/sys/arch/mvme88k/include/m882xx.h deleted file mode 100644 index 4c9759db1bc..00000000000 --- a/sys/arch/mvme88k/include/m882xx.h +++ /dev/null @@ -1,259 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1993-1992 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * HISTORY - * - */ - - -#ifndef __MACHINE_M882XX_H__ -#define __MACHINE_M882XX_H__ - -#ifndef ASSEMBLER -# include <machine/mmu.h> /* batc_template_t */ -#endif - -#include <machine/board.h> - -/* - * 88200 CMMU definitions - */ -#define CMMU_IDR 0x000 /* CMMU id register */ -#define CMMU_SCR 0x004 /* system command register */ -#define CMMU_SSR 0x008 /* system status register */ -#define CMMU_SAR 0x00C /* system address register */ -#define CMMU_SCTR 0x104 /* system control register */ -#define CMMU_PFSR 0x108 /* P bus fault status register */ -#define CMMU_PFAR 0x10C /* P bus fault address register */ -#define CMMU_SAPR 0x200 /* supervisor area pointer register */ -#define CMMU_UAPR 0x204 /* user area pointer register */ -#define CMMU_BWP0 0x400 /* block ATC writer port 0 */ -#define CMMU_BWP1 0x404 /* block ATC writer port 1 */ -#define CMMU_BWP2 0x408 /* block ATC writer port 2 */ -#define CMMU_BWP3 0x40C /* block ATC writer port 3 */ -#define CMMU_BWP4 0x410 /* block ATC writer port 4 */ -#define CMMU_BWP5 0x414 /* block ATC writer port 5 */ -#define CMMU_BWP6 0x418 /* block ATC writer port 6 */ -#define CMMU_BWP7 0x41C /* block ATC writer port 7 */ -#define CMMU_CDP0 0x800 /* cache data port 0 */ -#define CMMU_CDP1 0x804 /* cache data port 1 */ -#define CMMU_CDP2 0x808 /* cache data port 2 */ -#define CMMU_CDP3 0x80C /* cache data port 3 */ -#define CMMU_CTP0 0x840 /* cache tag port 0 */ -#define CMMU_CTP1 0x844 /* cache tag port 1 */ -#define CMMU_CTP2 0x848 /* cache tag port 2 */ -#define CMMU_CTP3 0x84C /* cache tag port 3 */ -#define CMMU_CSSP 0x880 /* cache set status register */ - -/* 88204 CMMU definitions */ -#define CMMU_CSSP0 0x880 /* cache set status register */ -#define CMMU_CSSP1 0x890 /* cache set status register */ -#define CMMU_CSSP2 0x8A0 /* cache set status register */ -#define CMMU_CSSP3 0x8B0 /* cache set status register */ - -/* CMMU systerm commands */ -#define CMMU_FLUSH_USER_LINE 0x30 /* flush PATC */ -#define CMMU_FLUSH_USER_PAGE 0x31 -#define CMMU_FLUSH_USER_SEGMENT 0x32 -#define CMMU_FLUSH_USER_ALL 0x33 -#define CMMU_FLUSH_SUPER_LINE 0x34 -#define CMMU_FLUSH_SUPER_PAGE 0x35 -#define CMMU_FLUSH_SUPER_SEGMENT 0x36 -#define CMMU_FLUSH_SUPER_ALL 0x37 -#define CMMU_PROBE_USER 0x20 /* probe user address */ -#define CMMU_PROBE_SUPER 0x24 /* probe supervisor address */ -#define CMMU_FLUSH_CACHE_INV_LINE 0x14 /* data cache invalidate */ -#define CMMU_FLUSH_CACHE_INV_PAGE 0x15 -#define CMMU_FLUSH_CACHE_INV_SEGMENT 0x16 -#define CMMU_FLUSH_CACHE_INV_ALL 0x17 -#define CMMU_FLUSH_CACHE_CB_LINE 0x18 /* data cache copyback */ -#define CMMU_FLUSH_CACHE_CB_PAGE 0x19 -#define CMMU_FLUSH_CACHE_CB_SEGMENT 0x1A -#define CMMU_FLUSH_CACHE_CB_ALL 0x1B -#define CMMU_FLUSH_CACHE_CBI_LINE 0x1C /* copyback and invalidate */ -#define CMMU_FLUSH_CACHE_CBI_PAGE 0x1D -#define CMMU_FLUSH_CACHE_CBI_SEGMENT 0x1E -#define CMMU_FLUSH_CACHE_CBI_ALL 0x1F - -/* CMMU system control command */ -#define CMMU_SCTR_PE 0x00008000 /* parity enable */ -#define CMMU_SCTR_SE 0x00004000 /* snoop enable */ -#define CMMU_SCTR_PR 0x00002000 /* priority arbitration */ - -/* CMMU P bus fault status */ -#define CMMU_PFSR_SUCCESS 0 /* no fault */ -#define CMMU_PFSR_BERROR 3 /* bus error */ -#define CMMU_PFSR_SFAULT 4 /* segment fault */ -#define CMMU_PFSR_PFAULT 5 /* page fault */ -#define CMMU_PFSR_SUPER 6 /* supervisor violation */ -#define CMMU_PFSR_WRITE 7 /* writer violation */ - -/* Area Description */ -#define AREA_D_WT 0x00000200 /* write through */ -#define AREA_D_G 0x00000080 /* global */ -#define AREA_D_CI 0x00000040 /* cache inhibit */ -#define AREA_D_TE 0x00000001 /* translation enable */ - -/* Segment Description */ -#define SEG_D_WT 0x00000200 /* write through */ -#define SEG_D_SP 0x00000100 /* supervisor protection */ -#define SEG_D_G 0x00000080 /* global */ -#define SEG_D_CI 0x00000040 /* cache inhibit */ -#define SEG_D_WP 0x00000004 /* write protect */ -#define SEG_D_V 0x00000001 /* valid */ - -/* - * Flags for cmmu_flush_tlb - */ -#define FLUSH_KERNEL 1 -#define FLUSH_USER 0 -#define FLUSH_ALL ((vm_offset_t)~0) - - -#ifndef ASSEMBLER -/* - * This file defines the data structures for the mmu. - * One major data structure, the page descriptor, is not defined here - * but rather in pte.h as struct pte. - */ - -struct area_d { /* area descriptor */ - unsigned - ad_addr:20, /* segment table base address */ - : 2, - ad_wt : 1, /* write through */ - : 1, - ad_g : 1, /* global */ - ad_ci : 1, /* cache inhibit */ - : 5, - ad_te : 1; /* translation enable */ -}; - -struct segment_d { /* segment descriptor */ - unsigned - sd_addr:20, /* page table base address */ - : 2, - sd_wt : 1, /* write through */ - sd_sp : 1, /* supervisor protection */ - sd_g : 1, /* global */ - sd_ci : 1, /* cache inhibit */ - : 3, - sd_wp : 1, /* write protect */ - : 1, - sd_v : 1; /* valid */ -}; - -typedef struct segment_d segment_d_t; - -struct pfsr { /* P bus fault status register */ - unsigned - :13, - pfsr_fc: 3, /* falut code */ - :16; -}; - -struct batc { /* block address translation register */ - unsigned - batc_lba:13, /* logical block address */ - batc_pba:13, /* physical block address */ - batc_s : 1, /* supervisor */ - batc_wt : 4, /* write through */ - batc_g : 1, /* global */ - batc_ci : 1, /* cache inhibit */ - batc_wp : 1, /* write protect */ - batc_v : 1; /* valid */ -}; - -/* - * Prototypes and stuff for cmmu.c. - */ -extern unsigned cpu_sets[MAX_CPUS]; -extern unsigned ncpus; -extern unsigned cache_policy; - -#ifdef CMMU_DEBUG - void show_apr(unsigned value); - void show_sctr(unsigned value); -#endif - -/* - * Prototypes from "motorola/m88k/m88100/cmmu.c" - */ -unsigned cmmu_cpu_number(void); -#if !DDB -static -#endif /* !DDB */ -unsigned cmmu_remote_get(unsigned cpu, unsigned r, unsigned data); -unsigned cmmu_get_idr(unsigned data); -void cmmu_init(void); -void cmmu_shutdown_now(void); -void cmmu_parity_enable(void); -#if !DDB -static -#endif /* !DDB */ -void cmmu_remote_set(unsigned cpu, unsigned r, unsigned data, unsigned x); -void cmmu_set_sapr(unsigned ap); -void cmmu_remote_set_sapr(unsigned cpu, unsigned ap); -void cmmu_set_uapr(unsigned ap); -void cmmu_flush_tlb(unsigned kernel, vm_offset_t vaddr, int size); -void cmmu_flush_remote_cache(int cpu, vm_offset_t physaddr, int size); -void cmmu_flush_cache(vm_offset_t physaddr, int size); -void cmmu_flush_remote_inst_cache(int cpu, vm_offset_t physaddr, int size); -void cmmu_flush_inst_cache(vm_offset_t physaddr, int size); -void cmmu_flush_remote_data_cache(int cpu, vm_offset_t physaddr, int size); -void cmmu_flush_data_cache(vm_offset_t physaddr, int size); - -void cmmu_pmap_activate( - unsigned cpu, - unsigned uapr, - batc_template_t i_batc[BATC_MAX], - batc_template_t d_batc[BATC_MAX]); - -void cmmu_flush_remote_tlb( - unsigned cpu, - unsigned kernel, - vm_offset_t vaddr, - int size); - -void cmmu_set_batc_entry( - unsigned cpu, - unsigned entry_no, - unsigned data, /* 1 = data, 0 = instruction */ - unsigned value); /* the value to stuff into the batc */ - -void cmmu_set_pair_batc_entry( - unsigned cpu, - unsigned entry_no, - unsigned value); /* the value to stuff into the batc */ - -#endif /* ASSEMBLER */ - -#define INST_CMMU 0 -#define DATA_CMMU 1 - -#define NBSG (4*1024*1024) /* segment size */ - -#endif /* __MACHINE_M882XX_H__ */ diff --git a/sys/arch/mvme88k/include/mmu.h b/sys/arch/mvme88k/include/mmu.h deleted file mode 100644 index fda1117f667..00000000000 --- a/sys/arch/mvme88k/include/mmu.h +++ /dev/null @@ -1,306 +0,0 @@ -/* - * Ashura Project - */ -/* - * HISTORY - * - * Original SCCS ID in ISEDL - * @(#)mmu.h 1.22 90/09/20 19:13:34 - */ - -#ifndef _MACHINE_MMU_ -#define _MACHINE_MMU_ - -/* for m88k_pgbytes, m8kk_pgshift */ -#include <machine/vmparam.h> - - -/* - * Parameters which determine the 'geometry' of the M88K page tables in memory. - */ -#define SDT_BITS 10 /* M88K segment table size bits */ -#define PDT_BITS 10 /* M88K page table size bits */ -#define PG_BITS M88K_PGSHIFT /* M88K hardware page size bits */ - -/* - * Shifts and masks for M88K (hardware) page - */ -/* M88K_PGBYTES, PG_SHIFT in vm_param.h */ -#define M88K_PGOFSET (M88K_PGBYTES-1) /* offset into M88K page */ -#define M88K_PGMASK (~M88K_PGOFSET) /* page mask */ - -/* - * Convert byte address to page frame number - */ -#define M88K_BTOP(x) (((unsigned) (x)) >> M88K_PGSHIFT) -#define M88K_PTOB(x) (((unsigned) (x)) << M88K_PGSHIFT) - -/* - * Round off or truncate to the nearest page. These will work for - * either addresses of counts. (i.e. 1 byte round to 1 page bytes). - */ -#define M88K_TRUNC_PAGE(x) (((unsigned) (x) & M88K_PGMASK)) -#define M88K_ROUND_PAGE(x) M88K_TRUNC_PAGE((x) + M88K_PGOFSET) - -/* - * M88K area descriptors - */ -typedef struct cmmu_apr { - unsigned long - st_base:20, /* segment table base address */ - rsvA:2, /* reserved */ - wt:1, /* writethrough (cache control) */ - rsvB:1, /* reserved */ - g:1, /* global (cache control) */ - ci:1, /* cache inhibit */ - rsvC:5, /* reserved */ - te:1; /* transration enable */ -} cmmu_apr_t; - -typedef union apr_template { - cmmu_apr_t field; - unsigned long bits; -} apr_template_t; - -/* - * M88K segment descriptors - */ -typedef struct sdt_entry { - unsigned long - table_addr:20, /* page table base address */ - rsvA:2, /* reserved */ - wt:1, /* writethrough (cache control) */ - sup:1, /* supervisor protection */ - g:1, /* global (cache control) */ - no_cache:1, /* cache inhibit */ - rsvB:3, /* reserved */ - prot:1, /* write protect */ - rsvC:1, /* reserved */ - dtype:1; /* valid */ -} sdt_entry_t; - -typedef union sdt_entry_template { - sdt_entry_t sdt_desc; - unsigned long bits; -} sdt_entry_template_t; - -#define SDT_ENTRY_NULL ((sdt_entry_t *) 0) - -/* - * M88K page descriptors - */ -typedef struct pt_entry { - unsigned long - pfn:20, /* page frame address */ - rsvA:1, /* reserved */ - wired:1, /* wired bit <<software>> */ - wt:1, /* writethrough (cache control) */ - sup:1, /* supervisor protection */ - g:1, /* global (cache control) */ - ci:1, /* cache inhibit */ - rsvB:1, /* reserved */ - modified:1, /* modified */ - pg_used:1, /* used (referenced) */ - prot:1, /* write protect */ - rsvC:1, /* reserved */ - dtype:1; /* valid */ -} pt_entry_t; - -typedef union pte_template { - pt_entry_t pte; - unsigned long bits; -} pte_template_t; - -#define PT_ENTRY_NULL ((pt_entry_t *) 0) - -/* - * 88200 PATC (TLB) - */ - -#define PATC_ENTRIES 56 - -/* - * M88K BATC entries - */ -typedef struct { - unsigned long - lba:13, /* logical block address */ - pba:13, /* physical block address */ - sup:1, /* supervisor mode bit */ - wt:1, /* writethrough (cache control) */ - g:1, /* global (cache control) */ - ci:1, /* cache inhibit */ - wp:1, /* write protect */ - v:1; /* valid */ -} batc_entry_t; - -typedef union batc_template { - batc_entry_t field; - unsigned long bits; -} batc_template_t; - -/* - * Parameters and macros for BATC - */ -#define BATC_BLKBYTES (512*1024) /* 'block' size of a BATC entry mapping */ -#define BATC_BLKSHIFT 19 /* number of bits to BATC shift (log2(BATC_BLKBYTES)) */ -#define BATC_BLKMASK (BATC_BLKBYTES-1) /* BATC block mask */ - -#define BATC_MAX 8 /* number of BATC entries */ - -#define BATC_BLK_ALIGNED(x) ((x & BATC_BLKMASK) == 0) - -#define M88K_BTOBLK(x) (x >> BATC_BLKSHIFT) - -/* - * protection codes (prot field) - */ -#define M88K_RO 1 /* read only */ -#define M88K_RW 0 /* read/write */ - -/* - * protection codes (sup field) - */ -#define M88K_SUPV 1 /* translation can only be done in supervisor mode */ -#define M88K_USER 0 /* translation can be done supv. or user mode */ - -/* - * descriptor types - */ -#define DT_INVALID 0 -#define DT_VALID 1 - -/* - * Number of entries in a page table. - */ -#define SDT_ENTRIES (1<<(SDT_BITS)) -#define PDT_ENTRIES (1<<(PDT_BITS)) - -/* - * Size in bytes of a single page table. - */ -#define SDT_SIZE (sizeof(sdt_entry_t) * SDT_ENTRIES) -#define PDT_SIZE (sizeof(pt_entry_t) * PDT_ENTRIES) - -/* - * Shifts and masks - */ -#define SDT_SHIFT (PDT_BITS + PG_BITS) -#define PDT_SHIFT (PG_BITS) - -#define SDT_MASK (((1<<SDT_BITS)-1) << SDT_SHIFT) -#define PDT_MASK (((1<<PDT_BITS)-1) << PDT_SHIFT) - -#define SDT_NEXT(va) ((va + (1<<SDT_SHIFT)) & SDT_MASK) -#define PDT_NEXT(va) ((va + (1<<PDT_SHIFT)) & (SDT_MASK|PDT_MASK)) - -#define SDTIDX(va) ((va & SDT_MASK) >> SDT_SHIFT) -#define PDTIDX(va) ((va & PDT_MASK) >> PDT_SHIFT) - -#define SDTENT(map, va) ((sdt_entry_t *)(map->sdt_vaddr + SDTIDX(va))) - -/* - * Size of a PDT table group. - */ -#define LOG2_PDT_SIZE (PDT_BITS + 2) -#define LOG2_PDT_TABLE_GROUP_SIZE (PAGE_SHIFT - LOG2_PDT_SIZE) -#define PDT_TABLE_GROUP_SIZE (1 << LOG2_PDT_TABLE_GROUP_SIZE) -#define PT_FREE(tbl) kmem_free(kernel_map, tbl, PAGE_SIZE) - -/* - * Va spaces mapped by tables and PDT table group. - */ -#define PDT_VA_SPACE (PDT_ENTRIES * M88K_PGBYTES) -#define PDT_TABLE_GROUP_VA_SPACE (PDT_VA_SPACE * PDT_TABLE_GROUP_SIZE) - -/* - * Number of sdt entries used to map user and kernel space. - */ -#define USER_SDT_ENTRIES SDTIDX(VM_MIN_KERNEL_ADDRESS) -#define KERNEL_SDT_ENTRIES (SDT_ENTRIES - USER_SDT_ENTRIES) - -/* - * Macros to check if the descriptor is valid. - */ -#define SDT_VALID(sd_ptr) ((sd_ptr)->dtype == DT_VALID) -#define PDT_VALID(pd_ptr) ((pd_ptr)->dtype == DT_VALID) - -/* - * Alignment checks for pages (must lie on page boundaries). - */ -#define PAGE_ALIGNED(ad) (((vm_offset_t)(ad) & ~M88K_PGMASK) == 0) -#define CHECK_PAGE_ALIGN(ad,who) \ - if (!PAGE_ALIGNED(ad)) \ - printf("%s: addr %x not page aligned.\n", who, ad) - -/* - * Validate PTE's for all hardware pages in a VM page. - * "ptes_per_vm_page" should be set in pmap_bootstrap. - * - * PARAMETERS: - * pt_entry_t *start; - * unsigned long template; - */ -#define DO_PTES(start, template) \ -{ \ - int i_; \ - pt_entry_t *p_ = start; \ - \ - for (i_ = ptes_per_vm_page; i_>0; i_--) { \ - *(int *)p_++ = (unsigned long)(template); \ - template += M88K_PGBYTES; \ - /* (unsigned long)(template) for m88k C compiler\ - '90.7.24 Fuzzy */ \ - } \ -} - -/* - * Flags for cmmu_store() <cmmu.s> - */ -#define STORE_CMD 0 -#define STORE_UAPR 4 -#define STORE_SAPR 8 -#define STORE_BATCWP 0x400 - -#define C_CMMU 0 -#define D_CMMU 0x1000 - -/* - * Parameters for ATC(TLB) fulsh - */ - -#define CMMU_SCR 0x004 - -#define FLUSH_SUP_ALL 0x37 -#define FLUSH_USR_ALL 0x33 -#define FLUSH_SUP_SEG 0x36 -#define FLUSH_USR_SEG 0x32 -#define FLUSH_SUP_PG 0x35 -#define FLUSH_USR_PG 0x31 - -/* - * Cache coontrol bits for pte - */ -#define CACHE_DFL 0 -#define CACHE_INH 0x40 -#define CACHE_GLOBAL 0x80 -#define CACHE_WT 0x200 - -#define CACHE_MASK (~(unsigned)(CACHE_INH | CACHE_GLOBAL | CACHE_WT)) - -/* - * Prototype for invalidate_pte found in "motorola/m88k/m88100/misc.s" - */ -unsigned invalidate_pte(pt_entry_t *pointer); - -extern vm_offset_t kmapva; - -#define kvtopte(va) \ -({ \ - sdt_entry_t *sdt; \ - sdt = (sdt_entry_t *)kmapva + SDTIDX(va) + SDT_ENTRIES; \ - (pte_template_t *)(sdt->table_addr << PDT_SHIFT) + PDTIDX(va); \ -}) - -#endif -/* endif _MACHINE_MMU_ */ diff --git a/sys/arch/mvme88k/include/param.h b/sys/arch/mvme88k/include/param.h deleted file mode 100644 index c246503d7f8..00000000000 --- a/sys/arch/mvme88k/include/param.h +++ /dev/null @@ -1,224 +0,0 @@ -/* $OpenBSD: param.h,v 1.3 1997/02/28 22:57:38 niklas Exp $ */ - -/* - * Copyright (c) 1988 University of Utah. - * Copyright (c) 1982, 1986, 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * the Systems Programming Group of the University of Utah Computer - * Science Department. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: Utah $Hdr: machparam.h 1.11 89/08/14$ - */ -#ifndef _MACHINE_PARAM_H_ -#define _MACHINE_PARAM_H_ - -/* - * Machine dependent constants for mvme88k - */ -#define MACHINE "mvme88k" -#define _MACHINE mvme88k -#define MACHINE_ARCH "m88k" -#define _MACHINE_ARCH m88k -#define MID_MACHINE MID_M88K - -/* - * Round p (pointer or byte index) up to a correctly-aligned value - * for all data types (int, long, ...). The result is u_int and - * must be cast to any desired pointer type. - */ -#define ALIGNBYTES (sizeof(int) - 1) -#define ALIGN(p) (((u_int)(p) + (sizeof(int) - 1)) &~ (sizeof(int) - 1)) - -#ifndef NBPG -#define NBPG 4096 /* bytes/page */ -#endif /* NBPG */ -#define PGOFSET (NBPG-1) /* byte offset into page */ -#define PGSHIFT 12 /* LOG2(NBPG) */ -#define NPTEPG (NBPG/(sizeof(u_int))) - -#define NBSEG (1<<22) /* bytes/segment */ -#define SEGOFSET (NBSEG-1) /* byte offset into segment */ -#define SEGSHIFT 22 /* LOG2(NBSEG) */ - -/* - * 187 Bug uses the bottom 64k. We allocate ptes to map this into the - * kernel. But when we link the kernel, we tell it to start linking - * past this 64k. How does this change KERNBASE? XXX - */ - -#define KERNBASE 0x0 /* start of kernel virtual */ -#define BTOPKERNBASE ((u_long)KERNBASE >> PGSHIFT) - -#define DEV_BSIZE 512 -#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */ -#define BLKDEV_IOSIZE 2048 /* Should this be changed? XXX */ -#define MAXPHYS (64 * 1024) /* max raw I/O transfer size */ - -#define CLSIZE 1 -#define CLSIZELOG2 0 - -/* NOTE: SSIZE, SINCR and UPAGES must be multiples of CLSIZE */ -#define SSIZE 1 /* initial stack size/NBPG */ -#define SINCR 1 /* increment of stack/NBPG */ -#define USPACE ctob(UPAGES) - -#define UPAGES 3 /* pages of u-area */ -#define UADDR 0xFFEE0000 /* address of u */ -#define UVPN (UADDR>>PGSHIFT)/* virtual page number of u */ -#define KERNELSTACK (UADDR+UPAGES*NBPG) /* top of kernel stack */ - -/* - * Constants related to network buffer management. - * MCLBYTES must be no larger than CLBYTES (the software page size), and, - * on machines that exchange pages of input or output buffers with mbuf - * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple - * of the hardware page size. - */ -#define MSIZE 128 /* size of an mbuf */ -#define MCLSHIFT 11 -#define MCLBYTES (1 << MCLSHIFT) -#define MCLOFSET (MCLBYTES - 1) -#ifndef NMBCLUSTERS -#ifdef GATEWAY -#define NMBCLUSTERS 512 /* map size, max cluster allocation */ -#else -#define NMBCLUSTERS 256 /* map size, max cluster allocation */ -#endif -#endif - -/* - * Size of kernel malloc arena in CLBYTES-sized logical pages - */ -#ifndef NKMEMCLUSTERS -#define NKMEMCLUSTERS (3072*1024/CLBYTES) -#endif - -#define MAXPARTITIONS 16 - -/* pages ("clicks") to disk blocks */ -#define ctod(x) ((x)<<(PGSHIFT-DEV_BSHIFT)) -#define dtoc(x) ((x)>>(PGSHIFT-DEV_BSHIFT)) -#define dtob(x) ((x)<<DEV_BSHIFT) - -/* pages to bytes */ -#define ctob(x) ((x)<<PGSHIFT) - -/* bytes to pages */ -#define btoc(x) (((unsigned)(x)+(NBPG-1))>>PGSHIFT) - -#define btodb(bytes) /* calculates (bytes / DEV_BSIZE) */ \ - ((unsigned)(bytes) >> DEV_BSHIFT) -#define dbtob(db) /* calculates (db * DEV_BSIZE) */ \ - ((unsigned)(db) << DEV_BSHIFT) - -/* - * Map a ``block device block'' to a file system block. - * This should be device dependent, and should use the bsize - * field from the disk label. - * For now though just use DEV_BSIZE. - */ -#define bdbtofsb(bn) ((bn) / (BLKDEV_IOSIZE/DEV_BSIZE)) -#include <machine/psl.h> - -#ifdef JUNK -/* - * Mach derived conversion macros - */ -#define m88k_round_seg(x) ((((unsigned)(x)) + NBSEG - 1) & ~(NBSEG-1)) -#define m88k_trunc_seg(x) ((unsigned)(x) & ~(NBSEG-1)) -#define m88k_round_page(x) ((((unsigned)(x)) + NBPG - 1) & ~(NBPG-1)) -#define m88k_trunc_page(x) ((unsigned)(x) & ~(NBPG-1)) -#define m88k_btos(x) ((unsigned)(x) >> SEGSHIFT) -#define m88k_stob(x) ((unsigned)(x) << SEGSHIFT) -#define m88k_btop(x) ((unsigned)(x) >> PGSHIFT) -#define m88k_ptob(x) ((unsigned)(x) << PGSHIFT) - -/* - * spl functions; all but spl0 are done in-line - */ -#include <machine/psl.h> - -#define _debug_spl(s) \ -({ \ - register int _spl_r; \ -\ - asm __volatile ("clrl %0; movew sr,%0; movew %1,sr" : \ - "&=d" (_spl_r) : "di" (s)); \ - if ((_spl_r&PSL_IPL) > (s&PSL_IPL)) \ - printf ("%s:%d:spl(%d) ==> spl(%d)!!\n",__FILE__,__LINE__, \ - ((PSL_IPL&_spl_r)>>8), ((PSL_IPL&s)>>8)); \ - _spl_r; \ -}) - -#define _spl_no_check(s) \ -({ \ - register int _spl_r; \ -\ - asm __volatile ("clrl %0; movew sr,%0; movew %1,sr" : \ - "&=d" (_spl_r) : "di" (s)); \ - _spl_r; \ -}) -#if defined (DEBUG) -#define _spl _debug_spl -#else -#define _spl _spl_no_check -#endif - -/* spl0 requires checking for software interrupts */ -#define spl1() _spl(PSL_S|PSL_IPL1) -#define spl2() _spl(PSL_S|PSL_IPL2) -#define spl3() _spl(PSL_S|PSL_IPL3) -#define spl4() _spl(PSL_S|PSL_IPL4) -#define spl5() _spl(PSL_S|PSL_IPL5) -#define spl6() _spl(PSL_S|PSL_IPL6) -#define spl7() _spl(PSL_S|PSL_IPL7) - - -#define splnone() spl0() -#define splsoftclock() spl1() -#define splnet() spl1() -#define splbio() spl3() -#define splimp() spl3() -#define spltty() spl4() -#define splclock() spl6() -#define splstatclock() spl6() -#define splvm() spl6() -#define splhigh() spl7() -#define splsched() spl7() -#endif /* JUNK */ - -#ifdef _KERNEL -#define DELAY(x) delay(x) -#endif - -#endif /* !_MACHINE_PARAM_H_ */ diff --git a/sys/arch/mvme88k/include/pcb.h b/sys/arch/mvme88k/include/pcb.h deleted file mode 100644 index 96628d11b34..00000000000 --- a/sys/arch/mvme88k/include/pcb.h +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1993-1992 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON AND OMRON ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON AND OMRON DISCLAIM ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * Motorola 88100 pcb definitions - * - */ -/* - */ -#ifndef _PCB_H_ -#define _PCB_H_ - -/* - * Our PCB is the regular PCB+Save area for kernel frame. - * Upon entering kernel mode from user land, save the user context - * in the saved_state area - this is passed as the exception frame. - * On a context switch, only registers that need to be saved by the - * C calling convention and few other regs (pc, psr etc) are saved - * in the kernel_state part of the PCB. - */ - -/* This must always be an even number of words long */ - -struct m88100_pcb { - unsigned pcb_pc; /* address to return */ - unsigned pcb_r14; - unsigned pcb_r15; - unsigned pcb_r16; - unsigned pcb_r17; - unsigned pcb_r18; - unsigned pcb_r19; - unsigned pcb_r20; - unsigned pcb_r21; - unsigned pcb_r22; - unsigned pcb_r23; - unsigned pcb_r24; - unsigned pcb_r25; - unsigned pcb_r26; - unsigned pcb_r27; - unsigned pcb_r28; - unsigned pcb_r29; - unsigned pcb_r30; - unsigned pcb_sp; /* kernel stack pointer */ - unsigned pcb_mask; -}; - - -/* - * m88100_saved_state this structure corresponds to the state - * of the user registers as saved on the - * stack upon kernel entry. This structure - * is used internally only. Since this - * structure may change from version to - * version, it is hidden from the user. - */ - -/* This must always be an even number of words long */ - -struct m88100_saved_state { - unsigned r[32]; - unsigned fpsr; - unsigned fpcr; - unsigned epsr; - unsigned sxip; - unsigned snip; - unsigned sfip; - unsigned ssbr; - unsigned dmt0; - unsigned dmd0; - unsigned dma0; - unsigned dmt1; - unsigned dmd1; - unsigned dma1; - unsigned dmt2; - unsigned dmd2; - unsigned dma2; - unsigned fpecr; - unsigned fphs1; - unsigned fpls1; - unsigned fphs2; - unsigned fpls2; - unsigned fppt; - unsigned fprh; - unsigned fprl; - unsigned fpit; - unsigned vector; /* exception vector number */ - unsigned mask; /* interrupt mask level */ - unsigned mode; /* interrupt mode */ - unsigned scratch1; /* used by locore trap handling code */ - unsigned pad; /* to make an even length */ -} ; - -#define trapframe m88100_saved_state - -struct pcb -{ - struct m88100_saved_state user_state; - struct m88100_pcb kernel_state; - int pcb_onfault; /* for copyin/copyout faults */ -}; - -typedef struct pcb *pcb_t; /* exported */ - -/* - * Location of saved user registers for the proc. - */ -#define USER_REGS(p) \ - (((struct m88100_saved_state *) (&((p)->p_addr->u_pcb.user_state)))) -/* - * The pcb is augmented with machine-dependent additional data for - * core dumps. Note that the trapframe here is a copy of the one - * from the top of the kernel stack (included here so that the kernel - * stack itself need not be dumped). - */ -struct md_coredump { - struct trapframe md_tf; -}; - -#endif _PCB_H_ diff --git a/sys/arch/mvme88k/include/pcctworeg.h b/sys/arch/mvme88k/include/pcctworeg.h deleted file mode 100644 index eecc7d47479..00000000000 --- a/sys/arch/mvme88k/include/pcctworeg.h +++ /dev/null @@ -1,146 +0,0 @@ -/* $NetBSD$ */ - -/* - * Copyright (c) 1995 Theo de Raadt - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Theo de Raadt - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * MVME1x7/16x PCC2 chip: sort of a confused mish-mash of the MC in the 162 - * and the PCC in the 147 - */ -struct pcctworeg { - volatile u_char pcc2_chipid; - volatile u_char pcc2_chiprev; - volatile u_char pcc2_genctl; - volatile u_char pcc2_vecbase; /* irq vector base */ - volatile u_long pcc2_t1cmp; /* timer1 compare */ - volatile u_long pcc2_t1count; /* timer1 count */ - volatile u_long pcc2_t2cmp; /* timer2 compare */ - volatile u_long pcc2_t2count; /* timer2 count */ - volatile u_char pcc2_pscalecnt; /* timer prescaler counter */ - volatile u_char pcc2_pscaleadj; /* timer prescaler adjust */ - volatile u_char pcc2_t2ctl; /* timer2 ctrl reg */ - volatile u_char pcc2_t1ctl; /* timer1 ctrl reg */ - volatile u_char pcc2_gpioirq; /* gpio irq */ - volatile u_char pcc2_gpio; /* gpio i/o */ - volatile u_char pcc2_t2irq; - volatile u_char pcc2_t1irq; - volatile u_char pcc2_sccerr; - volatile u_char pcc2_sccirq; - volatile u_char pcc2_scctx; - volatile u_char pcc2_sccrx; - volatile u_char :8; - volatile u_char :8; - volatile u_char :8; - volatile u_char pcc2_sccmoiack; - volatile u_char :8; - volatile u_char pcc2_scctxiack; - volatile u_char :8; - volatile u_char pcc2_sccrxiack; - volatile u_char pcc2_ieerr; - volatile u_char :8; - volatile u_char pcc2_iectl; - volatile u_char pcc2_ieirq; - volatile u_char pcc2_ncrerr; - volatile u_char :8; - volatile u_char :8; - volatile u_char pcc2_ncrirq; - volatile u_char pcc2_prtairq; - volatile u_char pcc2_prtfirq; - volatile u_char pcc2_prtsirq; - volatile u_char pcc2_prtpirq; - volatile u_char pcc2_prtbirq; - volatile u_char :8; - volatile u_char pcc2_prtstat; - volatile u_char pcc2_prtctl; - volatile u_short pcc2_speed; /* DO NOT USE */ - volatile u_short pcc2_prtdat; - volatile u_short :16; - volatile u_char pcc2_ipl; - volatile u_char pcc2_mask; -}; -#define PCC2_PCC2CHIP_ADDR 0xFFF42000 -#define PCC2_PCC2CHIP_OFF 0x42000 -#define PCC2_CHIPID 0x20 - -/* - * points to system's PCCTWO. This is not active until the pcctwo0 - * device has been attached. After that, it gives the virtual address - * at which the PCCTWO can be accessed. - */ -extern struct pcctworeg *sys_pcc2; - -/* - * We lock off our interrupt vector at 0x50. - */ -#define PCC2_VECBASE 0x50 -#define PCC2_NVEC 12 - -/* - * Vectors we use - */ -#define PCC2V_NCR 0x05 -#define PCC2V_IE_ERR 0x06 -#define PCC2V_IE 0x07 -#define PCC2V_TIMER2 0x08 -#define PCC2V_TIMER1 0x09 -#define PCC2V_GPIO 0x0A - -#define PCC2_TCTL_CEN 0x01 -#define PCC2_TCTL_COC 0x02 -#define PCC2_TCTL_COVF 0x04 -#define PCC2_TCTL_OVF 0xf0 - -#define PCC2_GPIO_PLTY 0x80 -#define PCC2_GPIO_EL 0x40 - -#define PCC2_GPIOCR_OE 0x2 -#define PCC2_GPIOCR_O 0x1 - -#define PCC2_SCC_AVEC 0x08 -#define PCC2_SCCRX_INHIBIT (0 << 6) -#define PCC2_SCCRX_SNOOP (1 << 6) -#define PCC2_SCCRX_INVAL (2 << 6) -#define PCC2_SCCRX_RESV (3 << 6) - -#define pcc2_timer_us2lim(us) (us) /* timer increments in "us" */ - -#define PCC2_IRQ_IPL 0x07 -#define PCC2_IRQ_ICLR 0x08 -#define PCC2_IRQ_IEN 0x10 -#define PCC2_IRQ_INT 0x20 - -#define PCC2_GENCTL_FAST 0x01 -#define PCC2_GENCTL_IEN 0x02 -#define PCC2_GENCTL_C040 0x03 - -#define PCC2_SC_INHIBIT (0 << 6) -#define PCC2_SC_SNOOP (1 << 6) -#define PCC2_SC_INVAL (2 << 6) -#define PCC2_SC_RESV (3 << 6) diff --git a/sys/arch/mvme88k/include/pmap.h b/sys/arch/mvme88k/include/pmap.h deleted file mode 100644 index fc1380b3297..00000000000 --- a/sys/arch/mvme88k/include/pmap.h +++ /dev/null @@ -1,219 +0,0 @@ -/* - * HISTORY - */ -#ifndef _MACHINE_PMAP_H_ -#define _MACHINE_PMAP_H_ -#define OMRON_PMAP - -/* use builtin memcpy in gcc 2.0 */ -#if (__GNUC__ > 1) -#define bcopy(a,b,c) memcpy(b,a,c) -#endif - -#include <machine/psl.h> /* get standard goodies */ -#include <vm/vm_param.h> -#include <vm/vm_prot.h> /* vm_prot_t */ -#include <machine/mmu.h> /* batc_template_t, BATC_MAX, etc.*/ -#include <machine/pcb.h> /* pcb_t, etc.*/ - -typedef struct sdt_entry *sdt_ptr_t; - -/* - * PMAP structure - */ -typedef struct pmap *pmap_t; - -struct pmap { - sdt_ptr_t sdt_paddr; /* physical pointer to sdt */ - sdt_ptr_t sdt_vaddr; /* virtual pointer to sdt */ - int ref_count; /* reference count */ - - struct pmap_statistics stats; /* pmap statistics */ - -#ifdef DEBUG - pmap_t next; - pmap_t prev; -#endif - - /* for OMRON_PMAP */ - batc_template_t i_batc[BATC_MAX]; /* instruction BATCs */ - batc_template_t d_batc[BATC_MAX]; /* data BATCs */ - /* end OMRON_PMAP */ - -}; - -#include <vm/vm.h> - -#define PMAP_NULL ((pmap_t) 0) - -extern pmap_t kernel_pmap; - -#define PMAP_ACTIVATE(pmap, th, my_cpu) _pmap_activate(pmap, th, my_cpu) -#define PMAP_DEACTIVATE(pmap, th, my_cpu) _pmap_deactivate(pmap, th, my_cpu) - -#define PMAP_CONTEXT(pmap, thread) - -#define pmap_resident_count(pmap) ((pmap)->stats.resident_count) - -/* Used in builtin/device_pager.c */ -#define pmap_phys_address(frame) ((vm_offset_t) (M88K_PTOB(frame))) - -/* Used in kern/mach_timedev.c */ -#define pmap_phys_to_frame(phys) ((int) (M88K_BTOP(phys))) - -/* - * Since Our PCB has no infomation about the mapping, - * we have nothing to do in PMAP_PCB_INITIALIZE. - * XXX - */ -/* Used in machine/pcb.c */ -#define PMAP_PCB_INITIALIZE(x) - -/* - * Modes used when calling pmap_cache_fulsh(). - */ -#define FLUSH_CACHE 0 -#define FLUSH_CODE_CACHE 1 -#define FLUSH_DATA_CACHE 2 -#define FLUSH_LOCAL_CACHE 3 -#define FLUSH_LOCAL_CODE_CACHE 4 -#define FLUSH_LOCAL_DATA_CACHE 5 - -/**************************************************************************/ -/*** Prototypes for public functions defined in pmap.c ********************/ -/**************************************************************************/ - -void _pmap_activate(pmap_t pmap, pcb_t, int my_cpu); -void _pmap_deactivate(pmap_t pmap, pcb_t, int my_cpu); -void pmap_activate(pmap_t my_pmap, pcb_t); -void pmap_deactivate(pmap_t pmap, pcb_t); -void pmap_protect(pmap_t pmap, vm_offset_t s, vm_offset_t e, vm_prot_t prot); -int pmap_check_transaction(pmap_t pmap, vm_offset_t va, vm_prot_t type); -void pmap_page_protect(vm_offset_t phys, vm_prot_t prot); - -vm_offset_t pmap_map( - vm_offset_t virt, - vm_offset_t start, - vm_offset_t end, - vm_prot_t prot - #ifdef OMRON_PMAP - , unsigned cmode - #endif - ); - -vm_offset_t pmap_map_batc( - vm_offset_t virt, - vm_offset_t start, - vm_offset_t end, - vm_prot_t prot, - unsigned cmode); - -void pmap_enter( - pmap_t pmap, - vm_offset_t va, - vm_offset_t pa, - vm_prot_t prot, - boolean_t wired); - - -#ifdef JUNK -int pmap_attribute( - pmap_t pmap, - vm_offset_t address, - vm_size_t size, - vm_machine_attribute_t attribute, - vm_machine_attribute_val_t* value); /* IN/OUT */ -#endif /* JUNK */ - -void pmap_bootstrap( - vm_offset_t load_start, /* IN */ - vm_offset_t *phys_start, /* IN/OUT */ - vm_offset_t *phys_end, /* IN */ - vm_offset_t *virt_start, /* OUT */ - vm_offset_t *virt_end); /* OUT */ - -#ifdef MACH_KERNEL - void pmap_init(); -#else - void pmap_init(vm_offset_t phys_start, vm_offset_t phys_end); -#endif - -void pmap_copy( - pmap_t dst_pmap, - pmap_t src_pmap, - vm_offset_t dst_addr, - vm_size_t len, - vm_offset_t src_addr); - -void pmap_pageable( - pmap_t pmap, - vm_offset_t start, - vm_offset_t end, - boolean_t pageable); - -pt_entry_t *pmap_pte(pmap_t map, vm_offset_t virt); -void pmap_cache_ctrl(pmap_t pmap, vm_offset_t s, vm_offset_t e, unsigned mode); -void pmap_zero_page(vm_offset_t phys); -pmap_t pmap_create(vm_size_t size); -void pmap_pinit(pmap_t p); -void pmap_release(pmap_t p); -void pmap_destroy(pmap_t p); -void pmap_reference(pmap_t p); -void pmap_remove(pmap_t map, vm_offset_t s, vm_offset_t e); -void pmap_remove_all(vm_offset_t phys); -void pmap_change_wiring(pmap_t map, vm_offset_t v, boolean_t wired); -vm_offset_t pmap_extract(pmap_t pmap, vm_offset_t va); -vm_offset_t pmap_extract_unlocked(pmap_t pmap, vm_offset_t va); -void pmap_update(void); -void pmap_collect(pmap_t pmap); -pmap_t pmap_kernel(void); -void pmap_copy_page(vm_offset_t src, vm_offset_t dst); -void copy_to_phys(vm_offset_t srcva, vm_offset_t dstpa, int bytecount); -void copy_from_phys(vm_offset_t srcpa, vm_offset_t dstva, int bytecount); -void pmap_redzone(pmap_t pmap, vm_offset_t va); -void pmap_clear_modify(vm_offset_t phys); -boolean_t pmap_is_modified(vm_offset_t phys); -void pmap_clear_reference(vm_offset_t phys); -boolean_t pmap_is_referenced(vm_offset_t phys); -boolean_t pmap_verify_free(vm_offset_t phys); -boolean_t pmap_valid_page(vm_offset_t p); -void icache_flush(vm_offset_t pa); -void pmap_dcache_flush(pmap_t pmap, vm_offset_t va); -void pmap_cache_flush(pmap_t pmap, vm_offset_t virt, int bytes, int mode); -void pmap_print (pmap_t pmap); -void pmap_print_trace (pmap_t pmap, vm_offset_t va, boolean_t long_format); -void pmap_virtual_space(vm_offset_t *startp, vm_offset_t *endp); -unsigned pmap_free_pages(void); -boolean_t pmap_next_page(vm_offset_t *addrp); - -#if 0 -#ifdef OMRON_PMAP - void pmap_set_batc( - pmap_t pmap, - boolean_t data, - int i, - vm_offset_t va, - vm_offset_t pa, - boolean_t super, - boolean_t wt, - boolean_t global, - boolean_t ci, - boolean_t wp, - boolean_t valid); - - void use_batc( - task_t task, - boolean_t data, /* for data-cmmu ? */ - int i, /* batc number */ - vm_offset_t va, /* virtual address */ - vm_offset_t pa, /* physical address */ - boolean_t s, /* for super-mode ? */ - boolean_t wt, /* is writethrough */ - boolean_t g, /* is global ? */ - boolean_t ci, /* is cache inhibited ? */ - boolean_t wp, /* is write-protected ? */ - boolean_t v); /* is valid ? */ -#endif -#endif /* 0 */ - -#endif /* endif _MACHINE_PMAP_H_ */ diff --git a/sys/arch/mvme88k/include/pmap_table.h b/sys/arch/mvme88k/include/pmap_table.h deleted file mode 100644 index 555789144ac..00000000000 --- a/sys/arch/mvme88k/include/pmap_table.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1992 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ - -/* - * HISTORY - */ - - -/* an entry is considered invalid if pm_size = 0 */ -/* end of list is indicated by pm_size 0xffffffff */ - -typedef struct { - vm_offset_t phys_start; /* in bytes */ - vm_offset_t virt_start; /* in bytes */ - unsigned int size; /* in bytes */ - unsigned int prot; /* vm_prot_read, vm_prot_write */ - unsigned int cacheability; /* none, writeback, normal */ -} pmap_table_entry; - -typedef pmap_table_entry *pmap_table_t; - diff --git a/sys/arch/mvme88k/include/proc.h b/sys/arch/mvme88k/include/proc.h deleted file mode 100644 index 95209084379..00000000000 --- a/sys/arch/mvme88k/include/proc.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Lawrence Berkeley Laboratory. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)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.1 1995/10/18 10:54:21 deraadt Exp $ - */ - -#include <machine/pcb.h> -#include <machine/mmu.h> - -/* - * Machine-dependent part of the proc structure for VME1X7. - */ -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 */ -}; diff --git a/sys/arch/mvme88k/include/profile.h b/sys/arch/mvme88k/include/profile.h deleted file mode 100644 index 095919c1ed7..00000000000 --- a/sys/arch/mvme88k/include/profile.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)profile.h 8.1 (Berkeley) 6/11/93 - * $Id: profile.h,v 1.3 1997/01/27 20:34:17 deraadt Exp $ - */ - -#define _MCOUNT_DECL static inline void _mcount - -#define MCOUNT \ -extern void mcount __P((void)) __asm("mcount"); \ -void \ -mcount() \ -{ \ - register int selfret, callerret; \ - /* \ - * find the return address for mcount, \ - * and the return address for mcount's caller. \ - * \ - * selfret = ret pushed by mcount call \ - */ \ - __asm volatile("ld %0,r31,36" : "=r" (selfret)); \ - /* \ - * callerret = ret pushed by call into self. \ - */ \ - /* \ - * This may not be right. It all depends on where the \ - * caller stores the return address. XXX \ - */ \ - __asm volatile("addu r10,r31,48"); \ - __asm volatile("ld %0,r10,36" : "=r" (callerret)); \ - _mcount(callerret, selfret); \ -} - -#ifdef KERNEL -/* - * Note that we assume splhigh() and splx() cannot call mcount() - * recursively. - */ -#define MCOUNT_ENTER s = splhigh() -#define MCOUNT_EXIT splx(s) -#endif /* KERNEL */ diff --git a/sys/arch/mvme88k/include/psl.h b/sys/arch/mvme88k/include/psl.h deleted file mode 100644 index f7f35dcd1c6..00000000000 --- a/sys/arch/mvme88k/include/psl.h +++ /dev/null @@ -1,97 +0,0 @@ -#ifndef __M88K_M88100_PSL_H__ -#define __M88K_M88100_PSL_H__ - -/* needs major cleanup - XXX nivas */ - -#define spl0() spln(0) -#define spl1() spln(1) -#define spl2() spln(2) -#define spl3() spln(3) -#define spl4() spln(4) -#define spl5() spln(5) -#define spl6() spln(6) -#define spl7() spln(7) - -#define splnone() spln(0) -#define splsoftclock() spln(1) -#define splnet() spln(1) -#define splbio() spln(3) -#define splimp() spln(3) -#define spltty() spln(4) -#define splclock() spln(6) -#define splstatclock() spln(6) -#define splvm() spln(6) -#define splhigh() spln(7) -#define splsched() spln(7) - -#define splx(x) spln(x) - -/* - * 88100 control registers - */ - -/* - * processor identification register (PID) - */ -#define PID_ARN 0x0000FF00U /* architectural revision number */ -#define PID_VN 0x000000FEU /* version number */ -#define PID_MC 0x00000001U /* master/checker */ - -/* - * processor status register - */ -#define PSR_MODE 0x80000000U /* supervisor/user mode */ -#define PSR_BO 0x40000000U /* byte-ordering 0:big 1:little */ -#define PSR_SER 0x20000000U /* serial mode */ -#define PSR_C 0x10000000U /* carry */ -#define PSR_SFD 0x000003F0U /* SFU disable */ -#define PSR_SFD1 0x00000008U /* SFU1 (FPU) disable */ -#define PSR_MXM 0x00000004U /* misaligned access enable */ -#define PSR_IND 0x00000002U /* interrupt disable */ -#define PSR_SFRZ 0x00000001U /* shadow freeze */ - -/* - * This is used in ext_int() and hard_clock(). - */ -#define PSR_IPL 0x00001000 /* for basepri */ -#define PSR_IPL_LOG 12 /* = log2(PSR_IPL) */ - -#define PSR_MODE_LOG 31 /* = log2(PSR_MODE) */ -#define PSR_BO_LOG 30 /* = log2(PSR_BO) */ -#define PSR_SER_LOG 29 /* = log2(PSR_SER) */ -#define PSR_SFD1_LOG 3 /* = log2(PSR_SFD1) */ -#define PSR_MXM_LOG 2 /* = log2(PSR_MXM) */ -#define PSR_IND_LOG 1 /* = log2(PSR_IND) */ -#define PSR_SFRZ_LOG 0 /* = log2(PSR_SFRZ) */ - -#define PSR_SUPERVISOR (PSR_MODE | PSR_SFD) -#define PSR_USER (PSR_SFD) -#define PSR_SET_BY_USER (PSR_BO | PSR_SER | PSR_C | PSR_MXM) - -#ifndef ASSEMBLER -struct psr { - unsigned - psr_mode: 1, - psr_bo : 1, - psr_ser : 1, - psr_c : 1, - :18, - psr_sfd : 6, - psr_sfd1: 1, - psr_mxm : 1, - psr_ind : 1, - psr_sfrz: 1; -}; -#endif - -#define FIP_V 0x00000002U /* valid */ -#define FIP_E 0x00000001U /* exception */ -#define FIP_ADDR 0xFFFFFFFCU /* address mask */ -#define NIP_V 0x00000002U /* valid */ -#define NIP_E 0x00000001U /* exception */ -#define NIP_ADDR 0xFFFFFFFCU /* address mask */ -#define XIP_V 0x00000002U /* valid */ -#define XIP_E 0x00000001U /* exception */ -#define XIP_ADDR 0xFFFFFFFCU /* address mask */ - -#endif /* __M88K_M88100_PSL_H__ */ diff --git a/sys/arch/mvme88k/include/ptrace.h b/sys/arch/mvme88k/include/ptrace.h deleted file mode 100644 index 2aecaab88eb..00000000000 --- a/sys/arch/mvme88k/include/ptrace.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Lawrence Berkeley Laboratory. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ptrace.h 8.1 (Berkeley) 6/11/93 - * - * from: Header: ptrace.h,v 1.6 92/11/26 02:04:43 torek Exp (LBL) - * $Id: ptrace.h,v 1.1 1995/10/18 10:54:23 deraadt Exp $ - */ - -/* - * m88k-dependent ptrace definitions. - */ -#define PT_GETREGS (PT_FIRSTMACH + 0) -#define PT_SETREGS (PT_FIRSTMACH + 1) -#define PT_GETFPREGS (PT_FIRSTMACH + 2) -#define PT_SETFPREGS (PT_FIRSTMACH + 3) diff --git a/sys/arch/mvme88k/include/reg.h b/sys/arch/mvme88k/include/reg.h deleted file mode 100644 index 6e7fc265cca..00000000000 --- a/sys/arch/mvme88k/include/reg.h +++ /dev/null @@ -1,47 +0,0 @@ -#include <machine/pcb.h> - -struct reg { - unsigned r_r[32]; - unsigned r_fpsr; - unsigned r_fpcr; - unsigned r_epsr; - unsigned r_sxip; - unsigned r_snip; - unsigned r_sfip; - unsigned r_ssbr; - unsigned r_dmt0; - unsigned r_dmd0; - unsigned r_dma0; - unsigned r_dmt1; - unsigned r_dmd1; - unsigned r_dma1; - unsigned r_dmt2; - unsigned r_dmd2; - unsigned r_dma2; - unsigned r_fpecr; - unsigned r_fphs1; - unsigned r_fpls1; - unsigned r_fphs2; - unsigned r_fpls2; - unsigned r_fppt; - unsigned r_fprh; - unsigned r_fprl; - unsigned r_fpit; - unsigned r_vector; /* exception vector number */ - unsigned r_mask; /* interrupt mask level */ - unsigned r_mode; /* interrupt mode */ - unsigned r_scratch1; /* used by locore trap handling code */ - unsigned r_pad; /* to make an even length */ -} ; - -struct fpreg { - unsigned fp_fpecr; - unsigned fp_fphs1; - unsigned fp_fpls1; - unsigned fp_fphs2; - unsigned fp_fpls2; - unsigned fp_fppt; - unsigned fp_fprh; - unsigned fp_fprl; - unsigned fp_fpit; -}; diff --git a/sys/arch/mvme88k/include/setjmp.h b/sys/arch/mvme88k/include/setjmp.h deleted file mode 100644 index aee3a668b34..00000000000 --- a/sys/arch/mvme88k/include/setjmp.h +++ /dev/null @@ -1,7 +0,0 @@ -/* $NetBSD: setjmp.h,v 1.1 1994/12/20 10:37:10 cgd Exp $ */ - -/* - * machine/setjmp.h: machine dependent setjmp-related information. - */ - -#define _JBLEN 19 /* size, in longs, of a jmp_buf */ diff --git a/sys/arch/mvme88k/include/signal.h b/sys/arch/mvme88k/include/signal.h deleted file mode 100644 index fb5c3e1c960..00000000000 --- a/sys/arch/mvme88k/include/signal.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Stolen from SVR4 (/usr/include/sys/signal.h) */ - -typedef int sig_atomic_t; - -/* - * Information pushed on stack when a signal is delivered. - * This is used by the kernel to restore state following - * execution of the signal handler. It is also made available - * to the handler to allow it to restore state properly if - * a non-standard exit is performed. - * - * All machines must have an sc_onstack and sc_mask. - */ -struct sigcontext { - int sc_onstack; /* sigstack state to restore */ - int sc_mask; /* signal mask to restore */ - /* begin machine dependent portion */ - int sc_regs[32]; -#define sc_sp sc_regs[31] - int sc_xip; - int sc_nip; - int sc_fip; - int sc_ps; - int sc_fpsr; - int sc_fpcr; - int sc_ssbr; - int sc_dmt0; - int sc_dmd0; - int sc_dma0; - int sc_dmt1; - int sc_dmd1; - int sc_dma1; - int sc_dmt2; - int sc_dmd2; - int sc_dma2; - int sc_fpecr; - int sc_fphs1; - int sc_fpls1; - int sc_fphs2; - int sc_fpls2; - int sc_fppt; - int sc_fprh; - int sc_fprl; - int sc_fpit; -}; diff --git a/sys/arch/mvme88k/include/stdarg.h b/sys/arch/mvme88k/include/stdarg.h deleted file mode 100644 index 9820ff6fb8c..00000000000 --- a/sys/arch/mvme88k/include/stdarg.h +++ /dev/null @@ -1,176 +0,0 @@ -/* This file has local changes by MOTOROLA -Thu Sep 9 09:06:29 CDT 1993 Dale Rahn (drahn@pacific) - * (gstdarg.h, gvarargs.h) C-Front requires all builtins to - be defined. This is to insert these definitions if - __cplusplus is defined but not using the G++ compiler. - */ -/* stdarg.h for GNU. - Note that the type used in va_arg is supposed to match the - actual type **after default promotions**. - Thus, va_arg (..., short) is not valid. */ - -#ifndef _STDARG_H -#ifndef _ANSI_STDARG_H_ -#ifndef __need___va_list -#define _STDARG_H -#define _ANSI_STDARG_H_ -#endif /* not __need___va_list */ -#undef __need___va_list - -#ifndef __GNUC__ -/* Use the system's macros with the system's compiler. - This is relevant only when building GCC with some other compiler. */ -#include <stdarg.h> -#else -#ifdef __clipper__ -#include <va-clipper.h> -#else -#ifdef __m88k__ -#include <va-m88k.h> -#else -#ifdef __i860__ -#include <va-i860.h> -#else -#ifdef __hppa__ -#include <va-pa.h> -#else -#ifdef __mips__ -#include <va-mips.h> -#else -#ifdef __sparc__ -#include <va-sparc.h> -#else -#ifdef __i960__ -#include <va-i960.h> -#else -#ifdef __alpha__ -#include <va-alpha.h> -#else - -/* Define __gnuc_va_list. */ - -#ifndef __GNUC_VA_LIST -#define __GNUC_VA_LIST -#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) -typedef char *__gnuc_va_list; -#else -typedef void *__gnuc_va_list; -#endif -#endif - -/* Define the standard macros for the user, - if this invocation was from the user program. */ -#ifdef _STDARG_H - -/* Amount of space required in an argument list for an arg of type TYPE. - TYPE may alternatively be an expression whose type is used. */ - -#define __va_rounded_size(TYPE) \ - (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int)) - -#define va_start(AP, LASTARG) \ - (AP = ((__gnuc_va_list) __builtin_next_arg ())) - -#undef va_end -void va_end (__gnuc_va_list); /* Defined in libgcc.a */ -#define va_end(AP) - -/* We cast to void * and then to TYPE * because this avoids - a warning about increasing the alignment requirement. */ - -#if defined (__arm__) || defined (__i386__) || defined (__ns32000__) || defined (__vax__) -/* This is for little-endian machines; small args are padded upward. */ -#define va_arg(AP, TYPE) \ - (AP = (__gnuc_va_list) ((char *) (AP) + __va_rounded_size (TYPE)), \ - *((TYPE *) (void *) ((char *) (AP) - __va_rounded_size (TYPE)))) -#else /* big-endian */ -/* This is for big-endian machines; small args are padded downward. */ -#define va_arg(AP, TYPE) \ - (AP = (__gnuc_va_list) ((char *) (AP) + __va_rounded_size (TYPE)), \ - *((TYPE *) (void *) ((char *) (AP) - ((sizeof (TYPE) < 4 \ - ? sizeof (TYPE) \ - : __va_rounded_size (TYPE)))))) -#endif /* big-endian */ -#endif /* _STDARG_H */ - -#endif /* not alpha */ -#endif /* not i960 */ -#endif /* not sparc */ -#endif /* not mips */ -#endif /* not hppa */ -#endif /* not i860 */ -#endif /* not m88k */ -#endif /* not clipper */ - -#ifdef _STDARG_H -/* Define va_list, if desired, from __gnuc_va_list. */ -/* We deliberately do not define va_list when called from - stdio.h, because ANSI C says that stdio.h is not supposed to define - va_list. stdio.h needs to have access to that data type, - but must not use that name. It should use the name __gnuc_va_list, - which is safe because it is reserved for the implementation. */ - -#ifdef _HIDDEN_VA_LIST /* On OSF1, this means varargs.h is "half-loaded". */ -#undef _VA_LIST -#endif - -#ifdef _BSD_VA_LIST -#undef _BSD_VA_LIST -#endif - -#ifdef __svr4__ -/* SVR4.2 uses _VA_LIST for an internal alias for va_list, - so we must avoid testing it and setting it here. - SVR4 uses _VA_LIST as a flag in stdarg.h, but we should - have no conflict with that. */ -#ifndef _VA_LIST_ -#define _VA_LIST_ -#ifdef __i860__ -#ifndef _VA_LIST -#define _VA_LIST va_list -#endif -#endif /* __i860__ */ -typedef __gnuc_va_list va_list; -#endif /* _VA_LIST_ */ -#else /* not __svr4__ */ - -/* The macro _VA_LIST_ is the same thing used by this file in Ultrix. - But on BSD NET2 we must not test or define or undef it. - (Note that the comments in NET 2's ansi.h - are incorrect for _VA_LIST_--see stdio.h!) */ -#if !defined (_VA_LIST_) || defined (__BSD_NET2__) || defined (____386BSD____) -/* The macro _VA_LIST is used in SCO Unix 3.2. */ -#ifndef _VA_LIST -/* The macro _VA_LIST_T_H is used in the Bull dpx2 */ -#ifndef _VA_LIST_T_H -#define _VA_LIST_T_H -#if !(defined (__BSD_NET2__) || defined (____386BSD____)) -#define _VA_LIST_ -#endif -#define _VA_LIST -typedef __gnuc_va_list va_list; -#endif /* not _VA_LIST_T_H */ -#endif /* not _VA_LIST */ -#endif /* not _VA_LIST_ */ - -#endif /* not __svr4__ */ - -#if defined(__cplusplus) && !defined(__GNUG__) - -/* This is added to work with AT&T C++. */ -extern "C" { - char *__builtin_next_arg(void); - __gnuc_va_list *__builtin_saveregs(void); - void *__builtin_saveregs2(int); - int *__builtin_argptr(void); - int __builtin_argsize(void); - int __builtin_classify_type(...); - int __alignof__(...); -} -#endif - -#endif /* _STDARG_H */ - -#endif /* __GNUC__ */ -#endif /* not _ANSI_STDARG_H_ */ -#endif /* not _STDARG_H */ diff --git a/sys/arch/mvme88k/include/trap.h b/sys/arch/mvme88k/include/trap.h deleted file mode 100644 index 4f8f3d4aa3f..00000000000 --- a/sys/arch/mvme88k/include/trap.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1992 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * HISTORY - * $Log: trap.h,v $ - * Revision 1.1 1995/10/18 10:54:21 deraadt - * Initial revision - * - * Revision 2.3 92/08/03 17:52:42 jfriedl - * watchpoint support - * [92/07/31 jfriedl] - * - * Revision 2.2 92/02/18 18:03:58 elf - * Liberated. - * [92/01/30 danner] - * - */ -/* - * Trap codes - */ - -#ifndef _M88K_TRAP_H -#define _M88K_TRAP_H 1 - -/* - * Trap type values - */ - -#define T_RESADFLT 0 /* reserved addressing fault */ -#define T_PRIVINFLT 1 /* privileged instruction fault */ -#define T_RESOPFLT 2 /* reserved operand fault */ - -/* End of known constants */ - -#define T_INSTFLT 3 /* instruction access exception */ -#define T_DATAFLT 4 /* data access exception */ -#define T_MISALGNFLT 5 /* misaligned access exception */ -#define T_ILLFLT 6 /* unimplemented opcode exception */ -#define T_BNDFLT 7 /* bounds check violation exception */ -#define T_ZERODIV 8 /* illegal divide exception */ -#define T_OVFFLT 9 /* integer overflow exception */ -#define T_ERRORFLT 10 /* error exception */ -#define T_FPEPFLT 11 /* floating point precise exception */ -#define T_FPEIFLT 12 /* floating point imprecise exception */ -#define T_ASTFLT 13 /* software trap */ -#if DDB -#define T_KDB_ENTRY 14 /* force entry to kernel debugger */ -#define T_KDB_BREAK 15 /* break point hit */ -#define T_KDB_TRACE 16 /* trace */ -#endif /* DDB */ -#define T_UNKNOWNFLT 17 /* unknown exception */ -#define T_SIGTRAP 18 /* generate SIGTRAP */ -#define T_SIGSYS 19 /* generate SIGSYS */ -#define T_STEPBPT 20 /* special breakpoint for single step */ -#define T_USERBPT 21 /* user set breakpoint (for debugger) */ -#define T_SYSCALL 22 /* Syscall */ -#define T_USER 23 /* user mode fault */ -#if DDB -#define T_KDB_WATCH 24 /* watchpoint hit */ -#endif /* DDB */ - -#endif _M88K_TRAP_H - diff --git a/sys/arch/mvme88k/include/types.h b/sys/arch/mvme88k/include/types.h deleted file mode 100644 index 7bcdde45938..00000000000 --- a/sys/arch/mvme88k/include/types.h +++ /dev/null @@ -1,85 +0,0 @@ -/* $NetBSD: types.h,v 1.7 1995/07/05 17:46:11 pk Exp $ */ - -/* - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Lawrence Berkeley Laboratory. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)types.h 8.1 (Berkeley) 6/11/93 - */ - -#ifndef _MACHTYPES_H_ -#define _MACHTYPES_H_ - -#include <sys/cdefs.h> - -#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE) -typedef struct _physadr { - short r[1]; -} *physadr; - -typedef struct label_t { - int val[2]; -} label_t; -#endif - -typedef unsigned long vm_offset_t; -typedef unsigned long vm_size_t; - -/* - * Basic integral types. Omit the typedef if - * not possible for a machine/compiler combination. - */ -#define __BIT_TYPES_DEFINED__ -typedef __signed char int8_t; -typedef unsigned char u_int8_t; -typedef short int16_t; -typedef unsigned short u_int16_t; -typedef int int32_t; -typedef unsigned int u_int32_t; -/* LONGLONG */ -typedef long long int64_t; -/* LONGLONG */ -typedef unsigned long long u_int64_t; - -typedef int32_t register_t; - -#define __BDEVSW_DUMP_OLD_TYPE - -#endif /* _MACHTYPES_H_ */ diff --git a/sys/arch/mvme88k/include/va-m88k.h b/sys/arch/mvme88k/include/va-m88k.h deleted file mode 100644 index caa77c3c12d..00000000000 --- a/sys/arch/mvme88k/include/va-m88k.h +++ /dev/null @@ -1,85 +0,0 @@ -/* This file has local changes by MOTOROLA -Thu Sep 9 09:06:29 CDT 1993 Dale Rahn (drahn@pacific) - * Due to C-Front's usage of __alignof__ builtin the - usage of it must be changed to have an object of that type - as the argument not just the type. - */ -/* GNU C varargs support for the Motorola 88100 */ - -/* Define __gnuc_va_list. */ - -#ifndef __GNUC_VA_LIST -#define __GNUC_VA_LIST - -typedef struct -{ - int __va_arg; /* argument number */ - int *__va_stk; /* start of args passed on stack */ - int *__va_reg; /* start of args passed in regs */ -} __gnuc_va_list; -#endif /* not __GNUC_VA_LIST */ - -/* If this is for internal libc use, don't define anything but - __gnuc_va_list. */ -#if defined (_STDARG_H) || defined (_VARARGS_H) - -#ifdef _STDARG_H /* stdarg.h support */ - -#if __GNUC__ > 1 /* GCC 2.0 and beyond */ -#define va_start(AP,LASTARG) ((AP) = *(__gnuc_va_list *)__builtin_saveregs()) -#else -#define va_start(AP,LASTARG) \ - ( (AP).__va_reg = (int *) __builtin_saveregs2(0), \ - (AP).__va_stk = (int *) __builtin_argptr(), \ - (AP).__va_arg = (int) (__builtin_argsize() + 3) / 4 ) -#endif - -#else /* varargs.h support */ - -#if __GNUC__ > 1 /* GCC 2.0 and beyond */ -#define va_start(AP) ((AP) = *(__gnuc_va_list *)__builtin_saveregs()) -#else -#define va_start(AP) \ - ( (AP).__va_reg = (int *) __builtin_saveregs2(1), \ - (AP).__va_stk = (int *) __builtin_argptr(), \ - (AP).__va_arg = (int) (__builtin_argsize() - 4 + 3) / 4 ) -#endif -#define va_alist __va_1st_arg -#define va_dcl register int va_alist; - -#endif /* _STDARG_H */ - -/* Avoid trouble between this file and _int_varargs.h under DG/UX. This file - can be included by <stdio.h> and others and provides definitions of - __va_size and __va_reg_p and a va_list typedef. Avoid defining va_list - again with _VA_LIST. */ -#ifdef __INT_VARARGS_H -#undef __va_size -#undef __va_reg_p -#define __gnuc_va_list va_list -#define _VA_LIST -#else -/* Similarly, if this gets included first, do nothing in _int_varargs.h. */ -#define __INT_VARARGS_H -#endif - -#define __va_reg_p(TYPE) \ - (__builtin_classify_type(*(TYPE *)0) < 12 \ - ? sizeof(TYPE) <= 8 : sizeof(TYPE) == 4 && __alignof__(*(TYPE *)0) == 4) - -#define __va_size(TYPE) ((sizeof(TYPE) + 3) >> 2) - -/* We cast to void * and then to TYPE * because this avoids - a warning about increasing the alignment requirement. */ -#define va_arg(AP,TYPE) \ - ( (AP).__va_arg = (((AP).__va_arg + (1 << (__alignof__(*(TYPE *)0) >> 3)) - 1) \ - & ~((1 << (__alignof__(*(TYPE *)0) >> 3)) - 1)) \ - + __va_size(TYPE), \ - *((TYPE *) (void *) ((__va_reg_p(TYPE) \ - && (AP).__va_arg < 8 + __va_size(TYPE) \ - ? (AP).__va_reg : (AP).__va_stk) \ - + ((AP).__va_arg - __va_size(TYPE))))) - -#define va_end(AP) - -#endif /* defined (_STDARG_H) || defined (_VARARGS_H) */ diff --git a/sys/arch/mvme88k/include/varargs.h b/sys/arch/mvme88k/include/varargs.h deleted file mode 100644 index a04933a211c..00000000000 --- a/sys/arch/mvme88k/include/varargs.h +++ /dev/null @@ -1,189 +0,0 @@ -/* This file has local changes by MOTOROLA -Thu Sep 9 09:06:29 CDT 1993 Dale Rahn (drahn@pacific) - * (gstdarg.h, gvarargs.h) C-Front requires all builtins to - be defined. This is to insert these definitions if - __cplusplus is defined but not using the G++ compiler. - */ -#ifndef __GNUC__ -/* Use the system's macros with the system's compiler. */ -#include <varargs.h> -#else -/* Record that this is varargs.h; this turns off stdarg.h. */ - -#ifndef _VARARGS_H -#define _VARARGS_H - -#ifdef __sparc__ -#include <va-sparc.h> -#else -#ifdef __spur__ -#include <va-spur.h> -#else -#ifdef __mips__ -#include <va-mips.h> -#else -#ifdef __i860__ -#include <va-i860.h> -#else -#ifdef __pyr__ -#include <va-pyr.h> -#else -#ifdef __clipper__ -#include <va-clipper.h> -#else -#ifdef __m88k__ -#include <va-m88k.h> -#else -#if defined(__hppa__) || defined(hp800) -#include <va-pa.h> -#else -#ifdef __i960__ -#include <va-i960.h> -#else -#ifdef __alpha__ -#include <va-alpha.h> -#else - -#ifdef __NeXT__ - -/* On Next, erase any vestiges of stdarg.h. */ - -#ifdef _ANSI_STDARG_H_ -#define _VA_LIST_ -#endif -#define _ANSI_STDARG_H_ - -#undef va_alist -#undef va_dcl -#undef va_list -#undef va_start -#undef va_end -#undef __va_rounded_size -#undef va_arg -#endif /* __NeXT__ */ - -/* In GCC version 2, we want an ellipsis at the end of the declaration - of the argument list. GCC version 1 can't parse it. */ - -#if __GNUC__ > 1 -#define __va_ellipsis ... -#else -#define __va_ellipsis -#endif - -/* These macros implement traditional (non-ANSI) varargs - for GNU C. */ - -#define va_alist __builtin_va_alist -/* The ... causes current_function_varargs to be set in cc1. */ -#define va_dcl int __builtin_va_alist; __va_ellipsis - -/* Define __gnuc_va_list, just as in gstdarg.h. */ - -#ifndef __GNUC_VA_LIST -#define __GNUC_VA_LIST -#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) -typedef char *__gnuc_va_list; -#else -typedef void *__gnuc_va_list; -#endif -#endif - -#define va_start(AP) AP=(char *) &__builtin_va_alist - -#define va_end(AP) - -#define __va_rounded_size(TYPE) \ - (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int)) - -#if defined (__arm__) || defined (__i386__) || defined (__ns32000__) || defined (__vax__) -/* This is for little-endian machines; small args are padded upward. */ -#define va_arg(AP, TYPE) \ - (AP = (__gnuc_va_list) ((char *) (AP) + __va_rounded_size (TYPE)), \ - *((TYPE *) (void *) ((char *) (AP) - __va_rounded_size (TYPE)))) -#else /* big-endian */ -/* This is for big-endian machines; small args are padded downward. */ -#define va_arg(AP, TYPE) \ - (AP = (__gnuc_va_list) ((char *) (AP) + __va_rounded_size (TYPE)), \ - *((TYPE *) (void *) ((char *) (AP) - ((sizeof (TYPE) < 4 \ - ? sizeof (TYPE) \ - : __va_rounded_size (TYPE)))))) -#endif /* big-endian */ - -#endif /* not alpha */ -#endif /* not i960 */ -#endif /* not hppa */ -#endif /* not m88k */ -#endif /* not clipper */ -#endif /* not pyr */ -#endif /* not i860 */ -#endif /* not mips */ -#endif /* not spur */ -#endif /* not sparc */ -#endif /* not _VARARGS_H */ - -/* Define va_list from __gnuc_va_list. */ - -#ifdef _HIDDEN_VA_LIST /* On OSF1, this means varargs.h is "half-loaded". */ -#undef _VA_LIST -#endif - -#ifdef __svr4__ -/* SVR4.2 uses _VA_LIST for an internal alias for va_list, - so we must avoid testing it and setting it here. - SVR4 uses _VA_LIST as a flag in stdarg.h, but we should - have no conflict with that. */ -#ifndef _VA_LIST_ -#define _VA_LIST_ -#ifdef __i860__ -#ifndef _VA_LIST -#define _VA_LIST va_list -#endif -#endif /* __i860__ */ -typedef __gnuc_va_list va_list; -#endif /* _VA_LIST_ */ - -#else /* not __svr4__ */ - -/* The macro _VA_LIST_ is the same thing used by this file in Ultrix. - But on BSD NET2 we must not test or define or undef it. - (Note that the comments in NET 2's ansi.h - are incorrect for _VA_LIST_--see stdio.h!) */ -#if !defined (_VA_LIST_) || defined (__BSD_NET2__) || defined (____386BSD____) -/* The macro _VA_LIST is used in SCO Unix 3.2. */ -#ifndef _VA_LIST -/* The macro _VA_LIST_T_H is used in the Bull dpx2 */ -#ifndef _VA_LIST_T_H -#define _VA_LIST_T_H -#if !(defined (__BSD_NET2__) || defined (____386BSD____)) -#define _VA_LIST_ -#endif -#define _VA_LIST -typedef __gnuc_va_list va_list; -#endif /* not _VA_LIST_T_H */ -#endif /* not _VA_LIST */ -#endif /* not _VA_LIST_ */ - -#endif /* not __svr4__ */ - -/* The next BSD release (if there is one) wants this symbol to be - undefined instead of _VA_LIST_. */ -#ifdef _BSD_VA_LIST -#undef _BSD_VA_LIST -#endif -#if defined(__cplusplus) && !defined(__GNUG__) - -/* This is added to work with AT&T C++. */ -extern "C" { - char *__builtin_next_arg(void); - __gnuc_va_list *__builtin_saveregs(void); - void *__builtin_saveregs2(int); - int *__builtin_argptr(void); - int __builtin_argsize(void); - int __builtin_classify_type(...); - int __alignof__(...); -} -#endif - - -#endif /* __GNUC__ */ diff --git a/sys/arch/mvme88k/include/vid.h b/sys/arch/mvme88k/include/vid.h deleted file mode 100644 index acaa280dace..00000000000 --- a/sys/arch/mvme88k/include/vid.h +++ /dev/null @@ -1,56 +0,0 @@ -#define START_BLOCK 1 -#define LOADER_SIZE 2 -#define LOADER_ADDRESS 0x1F0000 - -#ifndef __ASSEMBLER__ -struct vid { - unsigned char vid_id[4]; - unsigned char vid_0[16]; - unsigned int vid_oss; - unsigned short vid_osl; - unsigned char vid_1[4]; - unsigned short vid_osa_u; - unsigned short vid_osa_l; - unsigned char vid_2[4]; - unsigned char vid_vd[20]; - unsigned char vid_3[86]; - unsigned int vid_cas; - unsigned char vid_cal; - unsigned char vid_4[99]; - unsigned char vid_mot[8]; -}; -struct cfg { - - unsigned char cfg_0[4]; - unsigned short cfg_atm; - unsigned short cfg_prm; - unsigned short cfg_atw; - unsigned short cfg_rec; - unsigned char cfg_1[12]; - unsigned char cfg_spt; - unsigned char cfg_hds; - unsigned short cfg_trk; - unsigned char cfg_ilv; - unsigned char cfg_sof; - unsigned short cfg_psm; - unsigned short cfg_shd; - unsigned char cfg_2[2]; - unsigned short cfg_pcom; - unsigned char cfg_3; - unsigned char cfg_ssr; - unsigned short cfg_rwcc; - unsigned short cfg_ecc; - unsigned short cfg_eatm; - unsigned short cfg_eprm; - unsigned short cfg_eatw; - unsigned char cfg_gpb1; - unsigned char cfg_gpb2; - unsigned char cfg_gpb3; - unsigned char cfg_gpb4; - unsigned char cfg_ssc; - unsigned char cfg_runit; - unsigned short cfg_rsvc1; - unsigned short cfg_rsvc2; - unsigned char cfg_4[196]; -}; -#endif diff --git a/sys/arch/mvme88k/include/vmparam.h b/sys/arch/mvme88k/include/vmparam.h deleted file mode 100644 index 586fb83fe38..00000000000 --- a/sys/arch/mvme88k/include/vmparam.h +++ /dev/null @@ -1,219 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1992 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ - -/* - * HISTORY - */ -/* - * File: vm_param.h - * - * machine dependent virtual memory parameters. - * Most of the declarations are preceeded by M88K_ (or m88k_) - * which is OK because only M88K specific code will be using - * them. - */ - - -#ifndef _MACHINE_VM_PARAM_ -#define _MACHINE_VM_PARAM_ - -/* - * USRTEXT is the start of the user text/data space, while USRSTACK - * is the top (end) of the user stack. - */ -#define USRTEXT 0x1000 /* Start of user text */ -#define USRSTACK 0x80000000 /* Start of user stack */ - -/* - * Virtual memory related constants, all in bytes - */ -#ifndef MAXTSIZ -#define MAXTSIZ (8*1024*1024) /* max text size */ -#endif -#ifndef DFLDSIZ -#define DFLDSIZ (16*1024*1024) /* initial data size limit */ -#endif -#ifndef MAXDSIZ -#define MAXDSIZ (64*1024*1024) /* max data size */ -#endif -#ifndef DFLSSIZ -#define DFLSSIZ (512*1024) /* initial stack size limit */ -#endif -#ifndef MAXSSIZ -#define MAXSSIZ MAXDSIZ /* max stack size */ -#endif - -/* - * Default sizes of swap allocation chunks (see dmap.h). - * The actual values may be changed in vminit() based on MAXDSIZ. - * With MAXDSIZ of 16Mb and NDMAP of 38, dmmax will be 1024. - * DMMIN should be at least ctod(1) so that vtod() works. - * vminit() insures this. - */ -#define DMMIN 32 /* smallest swap allocation */ -#define DMMAX 4096 /* largest potential swap allocation */ -#define DMTEXT 1024 /* swap allocation for text */ - -/* - * Size of shared memory map - */ -#ifndef SHMMAXPGS -#define SHMMAXPGS 1024 -#endif - -/* - * The time for a process to be blocked before being very swappable. - * This is a number of seconds which the system takes as being a non-trivial - * amount of real time. You probably shouldn't change this; - * it is used in subtle ways (fractions and multiples of it are, that is, like - * half of a ``long time'', almost a long time, etc.) - * It is related to human patience and other factors which don't really - * change over time. - */ -#define MAXSLP 20 - -/* - * A swapped in process is given a small amount of core without being bothered - * by the page replacement algorithm. Basically this says that if you are - * swapped in you deserve some resources. We protect the last SAFERSS - * pages against paging and will just swap you out rather than paging you. - * Note that each process has at least UPAGES+CLSIZE pages which are not - * paged anyways (this is currently 8+2=10 pages or 5k bytes), so this - * number just means a swapped in process is given around 25k bytes. - * Just for fun: current memory prices are 4600$ a megabyte on VAX (4/22/81), - * so we loan each swapped in process memory worth 100$, or just admit - * that we don't consider it worthwhile and swap it out to disk which costs - * $30/mb or about $0.75. - */ -#define SAFERSS 4 /* nominal ``small'' resident set size - protected against replacement */ - -#define VM_MINUSER_ADDRESS ((vm_offset_t) 0) -#define VM_MAXUSER_ADDRESS ((vm_offset_t) 0xffc00000U) - -#define VM_MINKERNEL_ADDRESS ((vm_offset_t) 0) -#define VM_MAXKERNEL_ADDRESS ((vm_offset_t) 0x1fffffff) - -/* - * Mach derived constants - */ -#define BYTE_SIZE 8 /* byte size in bits */ - -#define M88K_PGBYTES (1<<12) /* bytes per m88k page */ -#define M88K_PGSHIFT 12 /* number of bits to shift for pages */ - -/* - * Convert bytes to pages and convert pages to bytes. - * No rounding is used. - */ - -#define m88k_btop(x) (((unsigned)(x)) >> M88K_PGSHIFT) -#define m88k_ptob(x) (((unsigned)(x)) << M88K_PGSHIFT) - -/* - * Round off or truncate to the nearest page. These will work - * for either addresses or counts. (i.e. 1 byte rounds to 1 page - * bytes. - */ - -#define m88k_round_page(x) ((((unsigned)(x)) + M88K_PGBYTES - 1) & \ - ~(M88K_PGBYTES-1)) -#define m88k_trunc_page(x) (((unsigned)(x)) & ~(M88K_PGBYTES-1)) - -#define VM_MIN_ADDRESS ((vm_offset_t) 0) -#define VM_MAX_ADDRESS ((vm_offset_t) 0xffc00000U) - -#define VM_MIN_USER_ADDRESS ((vm_offset_t) 0) -#define VM_MAX_USER_ADDRESS ((vm_offset_t) 0xffc00000U) - -/* on vme188, max = 0xf0000000 */ - -#define VM_MIN_KERNEL_ADDRESS ((vm_offset_t) 0) -#define VM_MAX_KERNEL_ADDRESS ((vm_offset_t) 0x1fffffff) - -#define KERNEL_STACK_SIZE (3*4096) /* kernel stack size */ -#define INTSTACK_SIZE (3*4096) /* interrupt stack size */ - -/* virtual sizes (bytes) for various kernel submaps */ -#define VM_MBUF_SIZE (NMBCLUSTERS*MCLBYTES) -#define VM_KMEM_SIZE (NKMEMCLUSTERS*CLBYTES) - -/* - * Conversion between MACHINE pages and VM pages - */ - -#define trunc_m88k_to_vm(p) (atop(trunc_page(m88k_ptob(p)))) -#define round_m88k_to_vm(p) (atop(round_page(m88k_ptob(p)))) -#define vm_to_m88k(p) (m88k_btop(ptoa(p))) - -#if 1 /*Do we really need all this stuff*/ -#if 1 /*Do we really need all this stuff*/ -#if 1 /*Do we really need all this stuff*/ -#define M88K_SGPAGES (1<<10) /* pages per m88k segment */ -#define M88K_SGPGSHIFT 10 /* number of bits to shift for segment-page */ -#define M88K_ALSEGMS (1<<10) /* segments per m88k all space */ -#define M88K_ALSGSHIFT 10 /* number of bits to shift for all-segment */ - -#define M88K_SGBYTES (1<<22) /* bytes per m88k segments */ -#define M88K_SGSHIFT 22 /* number of bits to shift for segment */ -#define M88K_ALPAGES (1<<20) /* pages per m88k all space */ -#define M88K_ALPGSHIFT 20 /* number of bits to shift for all-page */ - -/* - * Convert bytes to pages and convert pages to bytes. - * No rounding is used. - */ - -#define m88k_btopr(x) (((unsigned)(x) + (M88K_PGBYTES - 1)) >> M88K_PGSHIFT) -#define m88k_btosr(x) (((unsigned)(x) + (M88K_SGBYTES - 1)) >> M88K_SGSHIFT) -#define m88k_btos(x) (((unsigned)(x)) >> M88K_SGSHIFT) -#define m88k_stob(x) (((unsigned)(x)) << M88K_SGSHIFT) -#define m88k_ptosr(x) (((unsigned)(x) + (M88K_SGPAGES - 1)) >> M88K_SGPGSHIFT) -#define m88k_ptos(x) (((unsigned)(x)) >> M88K_SGPGSHIFT) -#define m88k_stop(x) (((unsigned)(x)) << M88K_SGPGSHIFT) - -/* - * Round off or truncate to the nearest page. These will work - * for either addresses or counts. (i.e. 1 byte rounds to 1 page - * bytes. - */ - -#define m88k_round_segm(x) ((((unsigned)(x)) + M88K_SGBYTES - 1) & \ - ~(M88K_SGBYTES-1)) -#define m88k_next_segm(x) ((((unsigned)(x)) & ~(M88K_SGBYTES-1)) + \ - M88K_SGBYTES) -#define m88k_trunc_segm(x) (((unsigned)(x)) & ~(M88K_SGBYTES-1)) - -#define m88k_round_seg(x) ((((unsigned)(x)) + M88K_SGBYTES - 1) & \ - ~(M88K_SGBYTES-1)) -#define m88k_trunc_seg(x) (((unsigned)(x)) & ~(M88K_SGBYTES-1)) - -#define VEQR_ADDR 0x20000000 /* kernel virtual eq phy mapping */ -#endif /* Do we really need all this stuff */ -#endif /* Do we really need all this stuf */ -#endif /* Do we really need all this stuff */ - -#endif _MACHINE_VM_PARAM_ |