From a8befc1e56ebf1d1a5c6da51f1b542ff6ba69a0d Mon Sep 17 00:00:00 2001 From: "Guillermo J. Rozas" Date: Thu, 30 Jul 1992 15:08:48 +0000 Subject: [PATCH] Add SGI Iris mods. --- v7/src/microcode/config.h | 4 ++-- v7/src/microcode/oscond.h | 7 ++++++- v7/src/microcode/ux.h | 13 ++++++++++++- v7/src/microcode/uxtrap.h | 40 ++++++++++++++++++++++++++++++++++++++- 4 files changed, 59 insertions(+), 5 deletions(-) diff --git a/v7/src/microcode/config.h b/v7/src/microcode/config.h index 223562b19..c4ca418c7 100644 --- a/v7/src/microcode/config.h +++ b/v7/src/microcode/config.h @@ -1,6 +1,6 @@ /* -*-C-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/config.h,v 9.72 1992/07/23 12:31:38 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/config.h,v 9.73 1992/07/30 15:08:48 jinx Exp $ Copyright (c) 1987-1992 Massachusetts Institute of Technology @@ -416,7 +416,7 @@ typedef unsigned long SCHEME_OBJECT; #endif #endif -#ifdef sony +#if defined(sony) || defined(_IRIX4) #define HAS_FLOOR #define HAS_FREXP #define HAS_MODF diff --git a/v7/src/microcode/oscond.h b/v7/src/microcode/oscond.h index 78161dd01..038307fb8 100644 --- a/v7/src/microcode/oscond.h +++ b/v7/src/microcode/oscond.h @@ -1,6 +1,6 @@ /* -*-C-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/oscond.h,v 1.10 1992/07/23 03:48:28 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/oscond.h,v 1.11 1992/07/30 15:04:07 jinx Exp $ Copyright (c) 1990-1992 Massachusetts Institute of Technology @@ -111,6 +111,11 @@ MIT in each case. */ #endif /* __hpux */ #endif /* _HPUX */ +#ifdef _IRIX4 +#define _POSIX +#define _SYSV3 +#endif + #ifdef _SYSV4 #define _POSIX #define _SYSV3 diff --git a/v7/src/microcode/ux.h b/v7/src/microcode/ux.h index a04419512..4740a1279 100644 --- a/v7/src/microcode/ux.h +++ b/v7/src/microcode/ux.h @@ -1,6 +1,6 @@ /* -*-C-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/ux.h,v 1.33 1992/07/06 23:42:06 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/ux.h,v 1.34 1992/07/30 14:59:58 jinx Exp $ Copyright (c) 1988-1992 Massachusetts Institute of Technology @@ -215,6 +215,17 @@ extern void EXFUN (error_system_call, (int code, enum syscall_names name)); #define ERRNO_NONBLOCK EAGAIN #define FCNTL_NONBLOCK O_NONBLOCK +#ifdef _IRIX4 + +#define HAVE_DIR +#define HAVE_SELECT +#define HAVE_SIGCONTEXT +#define HAVE_SOCKETS +#define HAVE_SYMBOLIC_LINKS +#define HAVE_UNIX_SOCKETS + +#endif /* _IRIX4 */ + #else /* not _POSIX */ #ifdef _BSD diff --git a/v7/src/microcode/uxtrap.h b/v7/src/microcode/uxtrap.h index 01065b370..3d84b20c9 100644 --- a/v7/src/microcode/uxtrap.h +++ b/v7/src/microcode/uxtrap.h @@ -1,6 +1,6 @@ /* -*-C-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/uxtrap.h,v 1.14 1992/06/05 20:10:27 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/uxtrap.h,v 1.15 1992/07/30 15:03:01 jinx Exp $ Copyright (c) 1990-1992 Massachusetts Institute of Technology @@ -252,6 +252,43 @@ struct full_sigcontext #endif /* vax */ #ifdef mips +#ifdef _IRIX4 + +/* Information on sigcontext structure in signal.h */ + +#ifndef sc_sp +#define sc_sp sc_regs[29] +#endif + +#define sc_rfree sc_regs[9] +#define sc_schsp sc_regs[3] + +#define HAVE_FULL_SIGCONTEXT +#define FULL_SIGCONTEXT_RFREE(scp) ((scp)->sc_rfree) +#define FULL_SIGCONTEXT_SCHSP(scp) ((scp)->sc_schsp) +#define FULL_SIGCONTEXT_FIRST_REG(scp) (&((scp)->sc_regs[0])) +#define FULL_SIGCONTEXT_NREGS 32 +#define PROCESSOR_NREGS 32 + +#define INITIALIZE_UX_SIGNAL_CODES() \ +{ \ + DECLARE_UX_SIGNAL_CODE \ + (SIGTRAP, (~ 0L), BRK_OVERFLOW, "integer overflow trap"); \ + DECLARE_UX_SIGNAL_CODE \ + (SIGTRAP, (~ 0L), BRK_DIVZERO, "integer divide by 0 trap"); \ + DECLARE_UX_SIGNAL_CODE \ + (SIGTRAP, (~ 0L), BRK_MULOVF, "integer multiply overflow"); \ + DECLARE_UX_SIGNAL_CODE \ + (SIGFPE, ( 0L), 0, "floating-point exception"); \ + DECLARE_UX_SIGNAL_CODE \ + (SIGSEGV, (~ 0L), EFAULT, "Invalid virtual address"); \ + DECLARE_UX_SIGNAL_CODE \ + (SIGSEGV, (~ 0L), EACCES, "Read-only address"); \ + DECLARE_UX_SIGNAL_CODE \ + (SIGSEGV, (~ 0L), ENXIO, "Read beyond mapped object"); \ +} + +#else /* not _IRIX4 */ #ifndef _SYSV4 /* Information on sigcontext structure in signal.h */ @@ -364,6 +401,7 @@ struct full_sigcontext } #endif /* _SYSV4 */ +#endif /* _IRIX4 */ #endif /* mips */ #if defined(i386) && defined(_MACH_UNIX) -- 2.25.1