diff options
Diffstat (limited to 'sys/arch/hp300/stand/common/machdep.c')
-rw-r--r-- | sys/arch/hp300/stand/common/machdep.c | 208 |
1 files changed, 0 insertions, 208 deletions
diff --git a/sys/arch/hp300/stand/common/machdep.c b/sys/arch/hp300/stand/common/machdep.c deleted file mode 100644 index 4adf12b9323..00000000000 --- a/sys/arch/hp300/stand/common/machdep.c +++ /dev/null @@ -1,208 +0,0 @@ -/* $OpenBSD: machdep.c,v 1.9 2013/02/02 13:34:29 miod Exp $ */ -/* $NetBSD: machdep.c,v 1.4 1997/06/28 07:20:25 thorpej Exp $ */ - -/* - * Copyright (c) 1988 University of Utah. - * Copyright (c) 1982, 1986, 1990, 1993 - * 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. 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: machdep.c 1.10 92/06/18 - * - * @(#)machdep.c 8.1 (Berkeley) 6/10/93 - */ - -#include <sys/param.h> - -#include <lib/libsa/stand.h> - -#include "samachdep.h" - -char * -getmachineid() -{ - extern int machineid, mmuid; - char *cp; - - switch (machineid) { - case HP_320: - cp = "320"; break; - case HP_330: - cp = "318/319/330"; break; - case HP_340: - cp = "340"; break; - case HP_345: - cp = "345"; break; - case HP_350: - cp = "350"; break; - case HP_36X: - /* bootblocks do not tell 360 apart from 362 at the moment */ - cp = "360/362"; break; - case HP_370: - cp = "370"; break; - case HP_375: - cp = "375"; break; - case HP_380: - cp = "380"; break; - case HP_382: - cp = "382"; break; - case HP_385: - cp = "385"; break; - case HP_400: - cp = "400"; break; - case HP_425: - switch (mmuid) { - case MMUID_425_T: - cp = "425t"; break; - case MMUID_425_S: - cp = "425s"; break; - case MMUID_425_E: - cp = "425e"; break; - default: - cp = "425"; break; - } - break; - case HP_433: - switch (mmuid) { - case MMUID_433_T: - cp = "433t"; break; - case MMUID_433_S: - cp = "433s"; break; - default: - cp = "433"; break; - } - break; - default: - cp = "???"; break; - } - return(cp); -} - -int userom; - -struct trapframe { - int dregs[8]; - int aregs[8]; - int whoknows; - short sr; - int pc; - short frame; -}; - -int trap(struct trapframe *); - -int -trap(fp) - struct trapframe *fp; -{ - static int intrap = 0; - - if (intrap) - return(0); - intrap = 1; - -#if 0 - userom = 1; -#endif - - printf("Got unexpected trap: format=%x vector=%x ps=%x pc=%x\n", - (fp->frame>>12)&0xF, fp->frame&0xFFF, fp->sr, fp->pc); - printf("dregs: %x %x %x %x %x %x %x %x\n", - fp->dregs[0], fp->dregs[1], fp->dregs[2], fp->dregs[3], - fp->dregs[4], fp->dregs[5], fp->dregs[6], fp->dregs[7]); - printf("aregs: %x %x %x %x %x %x %x %x\n", - fp->aregs[0], fp->aregs[1], fp->aregs[2], fp->aregs[3], - fp->aregs[4], fp->aregs[5], fp->aregs[6], fp->aregs[7]); - printf("bytes at pc: %x %x %x %x %x %x\n", - ((char *)fp->pc)[0], ((char *)fp->pc)[1], ((char *)fp->pc)[2], - ((char *)fp->pc)[3], ((char *)fp->pc)[4], ((char *)fp->pc)[5]); - -#if 0 - userom = 0; -#endif - - intrap = 0; - - return(0); -} - -#define ROWS 24 -#define COLS 80 - -void -romputchar(int c) -{ - static char buf[COLS]; - static int col = 0, row = 0; - int i; - - switch (c) { - case '\0': - break; - case '\r': - break; /* ignore */ - case '\n': - for (i = col; i < COLS-1; i++) - buf[i] = ' '; - buf[i] = '\0'; - romout(row, buf); - col = 0; - if (++row == ROWS) - row = 0; - break; - - case '\t': - do { - romputchar(' '); - } while (col & 7); - break; - - default: - buf[col] = c; - if (++col == COLS-1) - romputchar('\n'); - break; - } -} - -void -machdep_start(char *entry, int howto, char *loadaddr, char *ssym, char *esym) -{ - /* Fix what we were passed in from exec() */ -#define round_to_size(x) (((int)(x) + sizeof(int) - 1) & ~(sizeof(int) - 1)) - esym = (char *)round_to_size(esym - (char *)loadaddr); -#undef round_to_size - - __asm __volatile ("movl %0,%%d7" : : "m" (howto)); - __asm __volatile ("movl %0,%%d6" : : "m" (opendev)); - __asm __volatile ("movl %0,%%a5" : : "a" (loadaddr)); - __asm __volatile ("movl %0,%%a4" : : "a" (esym)); - (*((int (*)(void))entry))(); -} |