diff --git a/sys/arch/sun2/sun2/ctrlsp.S b/sys/arch/sun2/sun2/ctrlsp.S deleted file mode 100644 index cccb792320bd..000000000000 --- a/sys/arch/sun2/sun2/ctrlsp.S +++ /dev/null @@ -1,96 +0,0 @@ -/* $NetBSD: ctrlsp.S,v 1.1 2001/04/06 15:05:55 fredette Exp $ */ - -/*- - * Copyright (c) 1996 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Adam Glass. - * - * 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 NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - */ - -/* - * This is shared with stand/libsa - * XXX - can not include cpu.h there... - */ - -#include -#define FC_CONTROL 3 /* from cpu.h */ - -/* - * unsigned char get_control_byte (char *addr) - */ -ENTRY(get_control_byte) - movc %sfc,%d1 | save sfc - moveq #FC_CONTROL,%d0 | sfc = FC_CONTROL - movec %d0,%sfc - movl %sp@(4),%a0 | src addr - moveq #0,%d0 | get byte - movsb %a0@,%d0 - movc %d1,%sfc | restore sfc - rts - -/* - * unsigned int get_control_word (char *addr) - */ -ENTRY(get_control_word) - movc %sfc,%d1 | save sfc - moveq #FC_CONTROL,%d0 | sfc = FC_CONTROL - movec %d0,%sfc - movl %sp@(4),%a0 | src addr - movsl %a0@,%d0 | get long - movc %d1,%sfc | restore sfc - rts - -/* - * void set_control_byte (char *addr, int value) - */ -ENTRY(set_control_byte) - movc %dfc,%d1 | save dfc - moveq #FC_CONTROL,%d0 | dfc = FC_CONTROL - movc %d0,%dfc - movl %sp@(4),%a0 | addr - movl %sp@(8),%d0 | value - movsb %d0,%a0@ | set byte - movc %d1,%dfc | restore dfc - rts - -/* - * void set_control_word (char *addr, int value) - */ -ENTRY(set_control_word) - movc %dfc,%d1 | save dfc - moveq #FC_CONTROL, %d0 | dfc = FC_CONTROL - movc %d0,%dfc - movl %sp@(4),%a0 | addr - movl %sp@(8),%d0 | value - movsl %d0,%a0@ | set long - movc %d1,%dfc | restore dfc - rts diff --git a/sys/arch/sun2/sun2/disksubr.c b/sys/arch/sun2/sun2/disksubr.c deleted file mode 100644 index 39a6ffedde45..000000000000 --- a/sys/arch/sun2/sun2/disksubr.c +++ /dev/null @@ -1,477 +0,0 @@ -/* $NetBSD: disksubr.c,v 1.1 2001/04/06 15:05:56 fredette Exp $ */ - -/* - * Copyright (c) 1994, 1995 Gordon W. Ross - * Copyright (c) 1994 Theo de Raadt - * Copyright (c) 1982, 1986, 1988 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. - * - * Credits: - * This file was based mostly on the i386/disksubr.c file: - * @(#)ufs_disksubr.c 7.16 (Berkeley) 5/4/91 - * The functions: disklabel_sun_to_bsd, disklabel_bsd_to_sun - * were originally taken from arch/sparc/scsi/sun_disklabel.c - * (which was written by Theo de Raadt) and then substantially - * rewritten by Gordon W. Ross. - */ - -#include -#include -#include -#include -#include -#include -#include - -#include - -#if LABELSECTOR != 0 -#error "Default value of LABELSECTOR no longer zero?" -#endif - -static char * disklabel_sun_to_bsd(char *, struct disklabel *); -static int disklabel_bsd_to_sun(struct disklabel *, char *); - -/* - * Attempt to read a disk label from a device - * using the indicated stategy routine. - * The label must be partly set up before this: - * secpercyl, secsize and anything required for a block i/o read - * operation in the driver's strategy/start routines - * must be filled in before calling us. - * - * Return buffer for use in signalling errors if requested. - * - * Returns null on success and an error string on failure. - */ -char * -readdisklabel(dev, strat, lp, clp) - dev_t dev; - void (*strat) __P((struct buf *)); - struct disklabel *lp; - struct cpu_disklabel *clp; -{ - struct buf *bp; - struct disklabel *dlp; - struct sun_disklabel *slp; - int error; - - /* minimal requirements for archtypal disk label */ - if (lp->d_secperunit == 0) - lp->d_secperunit = 0x1fffffff; - lp->d_npartitions = 1; - if (lp->d_partitions[0].p_size == 0) - lp->d_partitions[0].p_size = 0x1fffffff; - lp->d_partitions[0].p_offset = 0; - - /* obtain buffer to probe drive with */ - bp = geteblk((int)lp->d_secsize); - - /* next, dig out disk label */ - bp->b_dev = dev; - bp->b_blkno = LABELSECTOR; - bp->b_cylinder = 0; - bp->b_bcount = lp->d_secsize; - bp->b_flags |= B_READ; - (*strat)(bp); - - /* if successful, locate disk label within block and validate */ - error = biowait(bp); - if (!error) { - /* Save the whole block in case it has info we need. */ - bcopy(bp->b_data, clp->cd_block, sizeof(clp->cd_block)); - } - brelse(bp); - if (error) - return("disk label read error"); - - /* Check for a Sun disk label (for PROM compatibility). */ - slp = (struct sun_disklabel *) clp->cd_block; - if (slp->sl_magic == SUN_DKMAGIC) { - return(disklabel_sun_to_bsd(clp->cd_block, lp)); - } - - /* Check for a NetBSD disk label (PROM can not boot it). */ - for (dlp = (struct disklabel *)clp->cd_block; - dlp <= (struct disklabel *)((char *)clp->cd_block + - DEV_BSIZE - sizeof(*dlp)); - dlp = (struct disklabel *)((char *)dlp + sizeof(long))) { - if (dlp->d_magic != DISKMAGIC || dlp->d_magic2 != DISKMAGIC) { - continue; - } - if (dlp->d_npartitions > MAXPARTITIONS || dkcksum(dlp) != 0) - return("BSD disk label corrupted"); - else { - *lp = *dlp; - return(NULL); - } - } - -#if 0 - dlp = (struct disklabel *) (clp->cd_block + LABELOFFSET); - if (dlp->d_magic == DISKMAGIC) { - if (dkcksum(dlp)) - return("NetBSD disk label corrupted"); - *lp = *dlp; /* struct assignment */ - return(NULL); - } -#endif - - bzero(clp->cd_block, sizeof(clp->cd_block)); - return("no disk label"); -} - -/* - * Check new disk label for sensibility - * before setting it. - */ -int -setdisklabel(olp, nlp, openmask, clp) - struct disklabel *olp, *nlp; - u_long openmask; - struct cpu_disklabel *clp; -{ - struct partition *opp, *npp; - int i; - - /* sanity clause */ - if ((nlp->d_secpercyl == 0) || (nlp->d_secsize == 0) || - (nlp->d_secsize % DEV_BSIZE) != 0) - return(EINVAL); - - /* special case to allow disklabel to be invalidated */ - if (nlp->d_magic == 0xffffffff) { - *olp = *nlp; - return (0); - } - - if (nlp->d_magic != DISKMAGIC || - nlp->d_magic2 != DISKMAGIC || - dkcksum(nlp) != 0) - return (EINVAL); - - while (openmask != 0) { - i = ffs(openmask) - 1; - openmask &= ~(1 << i); - if (nlp->d_npartitions <= i) - return (EBUSY); - opp = &olp->d_partitions[i]; - npp = &nlp->d_partitions[i]; - if (npp->p_offset != opp->p_offset || - npp->p_size < opp->p_size) - return (EBUSY); - } - - /* We did not modify the new label, so the checksum is OK. */ - *olp = *nlp; - return (0); -} - - -/* - * Write disk label back to device after modification. - * Current label is already in clp->cd_block[] - */ -int -writedisklabel(dev, strat, lp, clp) - dev_t dev; - void (*strat) __P((struct buf *)); - struct disklabel *lp; - struct cpu_disklabel *clp; -{ - struct buf *bp; - int error; - - error = disklabel_bsd_to_sun(lp, clp->cd_block); - if (error) - return(error); - -#if 0 /* XXX - Allow writing NetBSD disk labels? */ - { - struct disklabel *dlp; - dlp = (struct disklabel *)(clp->cd_block + LABELOFFSET); - *dlp = *lp; /* struct assignment */ - } -#endif - - /* Get a buffer and copy the new label into it. */ - bp = geteblk((int)lp->d_secsize); - bcopy(clp->cd_block, bp->b_data, sizeof(clp->cd_block)); - - /* Write out the updated label. */ - bp->b_dev = dev; - bp->b_blkno = LABELSECTOR; - bp->b_cylinder = 0; - bp->b_bcount = lp->d_secsize; - bp->b_flags |= B_WRITE; - (*strat)(bp); - error = biowait(bp); - brelse(bp); - - return (error); -} - -/* - * Determine the size of the transfer, and make sure it is - * within the boundaries of the partition. Adjust transfer - * if needed, and signal errors or early completion. - */ -int -bounds_check_with_label(bp, lp, wlabel) - struct buf *bp; - struct disklabel *lp; - int wlabel; -{ - struct partition *p; - int sz, maxsz; - - p = lp->d_partitions + DISKPART(bp->b_dev); - maxsz = p->p_size; - sz = (bp->b_bcount + DEV_BSIZE - 1) >> DEV_BSHIFT; - - /* overwriting disk label ? */ - /* XXX should also protect bootstrap in first 8K */ - /* XXX PR#2598: labelsect is always sector zero. */ - if (((bp->b_blkno + p->p_offset) <= LABELSECTOR) && - ((bp->b_flags & B_READ) == 0) && (wlabel == 0)) - { - bp->b_error = EROFS; - goto bad; - } - - /* beyond partition? */ - if (bp->b_blkno < 0 || bp->b_blkno + sz > maxsz) { - /* if exactly at end of disk, return an EOF */ - if (bp->b_blkno == maxsz) { - bp->b_resid = bp->b_bcount; - return(0); - } - /* or truncate if part of it fits */ - sz = maxsz - bp->b_blkno; - if (sz <= 0) { - bp->b_error = EINVAL; - goto bad; - } - bp->b_bcount = sz << DEV_BSHIFT; - } - - /* calculate cylinder for disksort to order transfers with */ - bp->b_cylinder = (bp->b_blkno + p->p_offset) / lp->d_secpercyl; - return(1); - -bad: - bp->b_flags |= B_ERROR; - return(-1); -} - -/************************************************************************ - * - * The rest of this was taken from arch/sparc/scsi/sun_disklabel.c - * and then substantially rewritten by Gordon W. Ross - * - ************************************************************************/ - -/* What partition types to assume for Sun disklabels: */ -static u_char -sun_fstypes[8] = { - FS_BSDFFS, /* a */ - FS_SWAP, /* b */ - FS_OTHER, /* c - whole disk */ - FS_BSDFFS, /* d */ - FS_BSDFFS, /* e */ - FS_BSDFFS, /* f */ - FS_BSDFFS, /* g */ - FS_BSDFFS, /* h */ -}; - -/* - * Given a SunOS disk label, set lp to a BSD disk label. - * Returns NULL on success, else an error string. - * - * The BSD label is cleared out before this is called. - */ -static char * -disklabel_sun_to_bsd(cp, lp) - char *cp; - struct disklabel *lp; -{ - struct sun_disklabel *sl; - struct partition *npp; - struct sun_dkpart *spp; - int i, secpercyl; - u_short cksum, *sp1, *sp2; - - sl = (struct sun_disklabel *)cp; - - /* Verify the XOR check. */ - sp1 = (u_short *)sl; - sp2 = (u_short *)(sl + 1); - cksum = 0; - while (sp1 < sp2) - cksum ^= *sp1++; - if (cksum != 0) - return("SunOS disk label, bad checksum"); - - /* Format conversion. */ - lp->d_magic = DISKMAGIC; - lp->d_magic2 = DISKMAGIC; - memcpy(lp->d_packname, sl->sl_text, sizeof(lp->d_packname)); - - lp->d_secsize = 512; - lp->d_nsectors = sl->sl_nsectors; - lp->d_ntracks = sl->sl_ntracks; - lp->d_ncylinders = sl->sl_ncylinders; - - secpercyl = sl->sl_nsectors * sl->sl_ntracks; - lp->d_secpercyl = secpercyl; - lp->d_secperunit = secpercyl * sl->sl_ncylinders; - - lp->d_sparespercyl = sl->sl_sparespercyl; - lp->d_acylinders = sl->sl_acylinders; - lp->d_rpm = sl->sl_rpm; - lp->d_interleave = sl->sl_interleave; - - lp->d_npartitions = 8; - /* These are as defined in */ - lp->d_bbsize = 8192; /* XXX */ - lp->d_sbsize = 8192; /* XXX */ - - for (i = 0; i < 8; i++) { - spp = &sl->sl_part[i]; - npp = &lp->d_partitions[i]; - npp->p_offset = spp->sdkp_cyloffset * secpercyl; - npp->p_size = spp->sdkp_nsectors; - if (npp->p_size == 0) - npp->p_fstype = FS_UNUSED; - else { - /* Partition has non-zero size. Set type, etc. */ - npp->p_fstype = sun_fstypes[i]; - /* - * The sun label does not store the FFS fields, - * so just set them with default values here. - * XXX: This keeps newfs from trying to rewrite - * XXX: the disk label in the most common case. - * XXX: (Should remove that code from newfs...) - */ - if (npp->p_fstype == FS_BSDFFS) { - npp->p_fsize = 1024; - npp->p_frag = 8; - npp->p_cpg = 16; - } - } - } - - lp->d_checksum = 0; - lp->d_checksum = dkcksum(lp); - - return(NULL); -} - -/* - * Given a BSD disk label, update the Sun disklabel - * pointed to by cp with the new info. Note that the - * Sun disklabel may have other info we need to keep. - * Returns zero or error code. - */ -static int -disklabel_bsd_to_sun(lp, cp) - struct disklabel *lp; - char *cp; -{ - struct sun_disklabel *sl; - struct partition *npp; - struct sun_dkpart *spp; - int i, secpercyl; - u_short cksum, *sp1, *sp2; - - if (lp->d_secsize != 512) - return (EINVAL); - - sl = (struct sun_disklabel *)cp; - - /* Format conversion. */ - memcpy(sl->sl_text, lp->d_packname, sizeof(lp->d_packname)); - sl->sl_rpm = lp->d_rpm; - sl->sl_pcyl = lp->d_ncylinders + lp->d_acylinders; /* XXX */ - sl->sl_sparespercyl = lp->d_sparespercyl; - sl->sl_interleave = lp->d_interleave; - sl->sl_ncylinders = lp->d_ncylinders; - sl->sl_acylinders = lp->d_acylinders; - sl->sl_ntracks = lp->d_ntracks; - sl->sl_nsectors = lp->d_nsectors; - - secpercyl = sl->sl_nsectors * sl->sl_ntracks; - for (i = 0; i < 8; i++) { - spp = &sl->sl_part[i]; - npp = &lp->d_partitions[i]; - - if (npp->p_offset % secpercyl) - return (EINVAL); - spp->sdkp_cyloffset = npp->p_offset / secpercyl; - spp->sdkp_nsectors = npp->p_size; - } - sl->sl_magic = SUN_DKMAGIC; - - /* Correct the XOR check. */ - sp1 = (u_short *)sl; - sp2 = (u_short *)(sl + 1); - sl->sl_cksum = cksum = 0; - while (sp1 < sp2) - cksum ^= *sp1++; - sl->sl_cksum = cksum; - - return(0); -} - -/* - * Search the bad sector table looking for the specified sector. - * Return index if found. - * Return -1 if not found. - */ -int -isbad(bt, cyl, trk, sec) - struct dkbad *bt; - int cyl, trk, sec; -{ - int i; - long blk, bblk; - - blk = ((long)cyl << 16) + (trk << 8) + sec; - for (i = 0; i < 126; i++) { - bblk = ((long)bt->bt_bad[i].bt_cyl << 16) + - bt->bt_bad[i].bt_trksec; - if (blk == bblk) - return (i); - if (blk < bblk || bblk < 0) - break; - } - return (-1); -} diff --git a/sys/arch/sun2/sun2/kgdb_machdep.c b/sys/arch/sun2/sun2/kgdb_machdep.c deleted file mode 100644 index 2751e2912bcf..000000000000 --- a/sys/arch/sun2/sun2/kgdb_machdep.c +++ /dev/null @@ -1,105 +0,0 @@ -/* $NetBSD: kgdb_machdep.c,v 1.1 2001/04/06 15:05:56 fredette Exp $ */ - -/* - * Copyright (c) 1990, 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 Laboratories. - * - * 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. - * - * @(#)kgdb_stub.c 8.4 (Berkeley) 1/12/94 - */ - -/* - * Machine-dependent part of the KGDB remote "stub" - */ - -#include -#include -#include - -/* - * Determine if the memory at va..(va+len) is valid. - */ -int -kgdb_acc(va, ulen) - vm_offset_t va; - size_t ulen; -{ - - /* Just let the trap handler deal with it. */ - return (1); -} - -/* - * Trap into kgdb to wait for debugger to connect, - * noting on the console why nothing else is going on. - */ -void -kgdb_connect(verbose) - int verbose; -{ - - if (kgdb_dev < 0) - return; - - if (verbose) - printf("kgdb waiting..."); - - Debugger(); - - if (verbose) - printf("connected.\n"); - - kgdb_debug_panic = 1; -} - -/* - * Decide what to do on panic. - * - * The sun2 implementation of Debugger() arranges to call - * either kgdb_trap() or kdb_trap() as appropriate, so - * we can just call Debugger() here. - */ -void -kgdb_panic() -{ - if (kgdb_dev >= 0 && kgdb_debug_panic) { - printf("entering kgdb\n"); - Debugger(); - } -} diff --git a/sys/arch/sun2/sun2/stub.c b/sys/arch/sun2/sun2/stub.c deleted file mode 100644 index 88b637584d42..000000000000 --- a/sys/arch/sun2/sun2/stub.c +++ /dev/null @@ -1,59 +0,0 @@ -/* $NetBSD: stub.c,v 1.1 2001/04/06 15:05:57 fredette Exp $ */ - -/*- - * Copyright (c) 1996 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Adam Glass and Gordon W. Ross. - * - * 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 NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - */ - -/* - * Stubs to supply things needed when some options are OFF. - */ - -#include "opt_ddb.h" - -#include -#include - -#ifndef DDB -/* - * When DDB is included, cpu_Debugger() comes from db_interface.c - * otherwise we get the one compiled here. - */ -void -cpu_Debugger() -{ - __asm ("trap #15"); -} -#endif /* !DDB */ - diff --git a/sys/arch/sun2/sun2/vector.c b/sys/arch/sun2/sun2/vector.c deleted file mode 100644 index bc8089e77e86..000000000000 --- a/sys/arch/sun2/sun2/vector.c +++ /dev/null @@ -1,138 +0,0 @@ -/* $NetBSD: vector.c,v 1.1 2001/04/06 15:05:57 fredette Exp $ */ - -/*- - * Copyright (c) 1996 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Adam Glass and Gordon W. Ross. - * - * 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 NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - */ - -/* - * The interrupt vector table. - */ - -#include "opt_compat_netbsd.h" - -#include -#include - -#include "vector.h" - -#define BADTRAP16 badtrap, badtrap, badtrap, badtrap, \ - badtrap, badtrap, badtrap, badtrap, \ - badtrap, badtrap, badtrap, badtrap, \ - badtrap, badtrap, badtrap, badtrap - -#define fpbsun fpfault -#define fpdz fpfault -#define fpinex fpfault -#define fpoperr fpfault -#define fpovfl fpfault -#define fpsnan fpfault -#define fpunfl fpfault - -void *vector_table[NVECTORS] = { - (void*)0xfffe000, /* 0: NOT USED (reset SP) */ - (void*)0xfef0000, /* 1: NOT USED (reset PC) */ - buserr, /* 2: bus error */ - addrerr, /* 3: address error */ - illinst, /* 4: illegal instruction */ - zerodiv, /* 5: zero divide */ - chkinst, /* 6: CHK instruction */ - trapvinst, /* 7: TRAPV instruction */ - privinst, /* 8: privilege violation */ - trace, /* 9: trace (single-step) */ - illinst, /* 10: line 1010 emulator */ - fpfline, /* 11: line 1111 emulator */ - badtrap, /* 12: unassigned, reserved */ - coperr, /* 13: coprocessor protocol violatio */ - fmterr, /* 14: format error */ - badtrap, /* 15: uninitialized interrupt vecto */ - badtrap, /* 16: unassigned, reserved */ - badtrap, /* 17: unassigned, reserved */ - badtrap, /* 18: unassigned, reserved */ - badtrap, /* 19: unassigned, reserved */ - badtrap, /* 20: unassigned, reserved */ - badtrap, /* 21: unassigned, reserved */ - badtrap, /* 22: unassigned, reserved */ - badtrap, /* 23: unassigned, reserved */ - _isr_autovec, /* 24: spurious interrupt */ - _isr_autovec, /* 25: level 1 interrupt autovector */ - _isr_autovec, /* 26: level 2 interrupt autovector */ - _isr_autovec, /* 27: level 3 interrupt autovector */ - _isr_autovec, /* 28: level 4 interrupt autovector */ - _isr_autovec, /* 29: level 5 interrupt autovector */ - _isr_autovec, /* 30: level 6 interrupt autovector */ - _isr_autovec, /* 31: level 7 interrupt autovector */ - trap0, /* 32: syscalls */ -#ifdef COMPAT_13 - trap1, /* 33: compat_13_sigreturn */ -#else - illinst, -#endif - trap2, /* 34: trace */ - trap3, /* 35: sigreturn special syscall */ - illinst, /* 36: TRAP instruction vector */ - illinst, /* 37: TRAP instruction vector */ - illinst, /* 38: TRAP instruction vector */ - illinst, /* 39: TRAP instruction vector */ - illinst, /* 40: TRAP instruction vector */ - illinst, /* 41: TRAP instruction vector */ - illinst, /* 42: TRAP instruction vector */ - illinst, /* 43: TRAP instruction vector */ - trap12, /* 44: TRAP 12: cachectl */ - illinst, /* 45: TRAP instruction vector */ - illinst, /* 46: TRAP instruction vector */ - trap15, /* 47: TRAP 15: breakpoint */ - fpbsun, /* 48: FPCP branch/set on unordered */ - fpinex, /* 49: FPCP inexact result */ - fpdz, /* 50: FPCP divide by zero */ - fpunfl, /* 51: FPCP underflow */ - fpoperr, /* 52: FPCP operand error */ - fpovfl, /* 53: FPCP overflow */ - fpsnan, /* 54: FPCP signalling NAN */ - fpunsupp, /* 55: FPCP unimplemented data type */ - badtrap, /* 56: unassigned, reserved */ - badtrap, /* 57: unassigned, reserved */ - badtrap, /* 58: unassigned, reserved */ - badtrap, /* 59: unassigned, reserved */ - badtrap, /* 60: unassigned, reserved */ - badtrap, /* 61: unassigned, reserved */ - badtrap, /* 62: unassigned, reserved */ - badtrap, /* 63: unassigned, reserved */ - - /* 64-255: set later by isr_add_vectored() */ - - BADTRAP16, BADTRAP16, BADTRAP16, BADTRAP16, - BADTRAP16, BADTRAP16, BADTRAP16, BADTRAP16, - BADTRAP16, BADTRAP16, BADTRAP16, BADTRAP16, -}; diff --git a/sys/arch/sun2/sun2/vector.h b/sys/arch/sun2/sun2/vector.h deleted file mode 100644 index 964291de8a46..000000000000 --- a/sys/arch/sun2/sun2/vector.h +++ /dev/null @@ -1,66 +0,0 @@ -/* $NetBSD: vector.h,v 1.1 2001/04/06 15:05:57 fredette Exp $ */ - -/*- - * Copyright (c) 1996 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Adam Glass. - * - * 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 NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - */ - -#define NVECTORS 256 - -#define AUTOVEC_BASE 0x18 - -extern void *vector_table[]; - -void _isr_autovec __P((void)); - -void addrerr __P((void)); -void badtrap __P((void)); -void buserr __P((void)); -void chkinst __P((void)); -void coperr __P((void)); -void fmterr __P((void)); -void fpfline __P((void)); -void fpunsupp __P((void)); -void illinst __P((void)); -void privinst __P((void)); -void trace __P((void)); -void trap0 __P((void)); -void trap1 __P((void)); -void trap12 __P((void)); -void trap15 __P((void)); -void trap2 __P((void)); -void trap3 __P((void)); -void trapvinst __P((void)); -void zerodiv __P((void)); -void fpfault __P((void));