mirror of
https://github.com/Interlisp/maiko.git
synced 2026-01-26 03:51:32 +00:00
Remove support for the Sun386i. (#329)
This was a machine running SunOS 4, which we no longer support. It had an odd display controller and a compiler with issues that required workarounds. Those compiler issues aren't an issue in today's world, so we don't need to keep the workarounds present for reference. It had a bit of inline assembly, but that is still present in other files for other platforms.
This commit is contained in:
@@ -44,11 +44,7 @@
|
||||
|
||||
/* Translate Lisp_address to 68K address */
|
||||
/* Lisp_addr: word offset */
|
||||
#ifndef I386
|
||||
#define Addr68k_from_LADDR(Lisp_addr) (Lisp_world + (Lisp_addr))
|
||||
#else
|
||||
#define Addr68k_from_LADDR(Lisp_addr) ((Lisp_addr) + Lisp_world)
|
||||
#endif
|
||||
|
||||
|
||||
/* translate LispPage to 68k address */
|
||||
@@ -62,11 +58,6 @@
|
||||
#define StkOffset_from_68K(ptr68k)\
|
||||
((LispPTR)(((UNSIGNED)(ptr68k) - (UNSIGNED)Stackspace) >>1))
|
||||
|
||||
#ifndef I386
|
||||
#define Addr68k_from_StkOffset(stkoffset)\
|
||||
(Stackspace + (stkoffset))
|
||||
#else
|
||||
#define Addr68k_from_StkOffset(stkoffset)\
|
||||
( (stkoffset) + Stackspace)
|
||||
#endif
|
||||
#endif /* ADR68K_H */
|
||||
|
||||
@@ -14,8 +14,7 @@
|
||||
/********************************************************/
|
||||
#if defined(SUNDISPLAY) && \
|
||||
!defined(NOPIXRECT) && \
|
||||
!defined(NEWBITBLT) && \
|
||||
!defined(I386)
|
||||
!defined(NEWBITBLT)
|
||||
#define prropstyle 1
|
||||
#endif
|
||||
|
||||
|
||||
221
inc/inln386i.h
221
inc/inln386i.h
@@ -1,221 +0,0 @@
|
||||
/* $Id: inln386i.h,v 1.2 1999/01/03 02:06:02 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
|
||||
|
||||
/************************************************************************/
|
||||
/* */
|
||||
/* inlinedefs386i.c */
|
||||
/* */
|
||||
/* Dispatch-loop macro definitions specific to the Sun386i */
|
||||
/* */
|
||||
/************************************************************************/
|
||||
|
||||
/************************************************************************/
|
||||
/* */
|
||||
/* Copyright 1989, 1990 Venue, Fuji Xerox Co., Ltd, Xerox Corp. */
|
||||
/* */
|
||||
/* This file is work-product resulting from the Xerox/Venue */
|
||||
/* Agreement dated 18-August-1989 for support of Medley. */
|
||||
/* */
|
||||
/************************************************************************/
|
||||
|
||||
|
||||
/* undefine these macros so we use the 386i inline code */
|
||||
#undef Get_BYTE_PCMAC0
|
||||
#undef Get_BYTE_PCMAC1
|
||||
#undef Get_BYTE_PCMAC2
|
||||
#undef Get_BYTE_PCMAC3
|
||||
|
||||
#undef Get_DLword_PCMAC0
|
||||
#undef Get_DLword_PCMAC1
|
||||
#undef Get_DLword_PCMAC2
|
||||
#undef Get_DLword_PCMAC3
|
||||
|
||||
#define Get_BYTE_PCMAC0 Get_BYTE_PCMAC0fn()
|
||||
#define Get_BYTE_PCMAC1 Get_BYTE_PCMAC1fn()
|
||||
#define Get_BYTE_PCMAC2 Get_BYTE_PCMAC2fn()
|
||||
#define Get_BYTE_PCMAC3 Get_BYTE_PCMAC3fn()
|
||||
|
||||
#define Get_DLword_PCMAC0 Get_DLword_PCMAC0fn()
|
||||
#define Get_DLword_PCMAC1 Get_DLword_PCMAC1fn()
|
||||
#define Get_DLword_PCMAC2 Get_DLword_PCMAC2fn()
|
||||
#define Get_DLword_PCMAC3 Get_DLword_PCMAC3fn()
|
||||
|
||||
#undef DIFFERENCE
|
||||
#undef PLUS2
|
||||
#undef IDIFFERENCE
|
||||
#undef IPLUS2
|
||||
|
||||
#define DIFFERENCE { \
|
||||
fast_op_difference(POP_TOS_1); \
|
||||
nextop1; \
|
||||
diff_err: \
|
||||
asm("diff_err:"); \
|
||||
asm("addw $7,%bx"); \
|
||||
asm("rorl $15,%ebx"); \
|
||||
asm("popl %ecx"); \
|
||||
N_OP_POPPED_CALL_2(N_OP_difference, GET_POPPED); \
|
||||
}
|
||||
#define IDIFFERENCE { \
|
||||
fast_op_idifference(POP_TOS_1); \
|
||||
nextop1; \
|
||||
idiff_err: \
|
||||
asm("idiff_err:"); \
|
||||
asm("addw $7,%bx"); \
|
||||
asm("rorl $15,%ebx"); \
|
||||
asm("popl %ecx"); \
|
||||
N_OP_POPPED_CALL_2(N_OP_idifference, GET_POPPED); \
|
||||
}
|
||||
#define IDIFFERENCE_N(n) { \
|
||||
fast_op_idifferencen(n); \
|
||||
nextop2; \
|
||||
idiffn_err: \
|
||||
asm("idiffn_err:"); \
|
||||
asm("addw $7,%bx"); \
|
||||
asm("rorl $15,%ebx"); \
|
||||
asm("popl %ecx"); \
|
||||
N_OP_CALL_1d(N_OP_idifferencen, n); \
|
||||
}
|
||||
|
||||
#define PLUS2 { \
|
||||
fast_op_plus(POP_TOS_1); \
|
||||
nextop1; \
|
||||
plus_err: \
|
||||
asm("plus_err:"); \
|
||||
asm("addw $7,%bx"); \
|
||||
asm("rorl $15,%ebx"); \
|
||||
asm("popl %ecx"); \
|
||||
N_OP_POPPED_CALL_2(N_OP_plus2, GET_POPPED); \
|
||||
}
|
||||
|
||||
#define IPLUS2 { \
|
||||
fast_op_iplus(POP_TOS_1); \
|
||||
nextop1; \
|
||||
iplus_err: \
|
||||
asm("iplus_err:"); \
|
||||
asm("addw $7,%bx"); \
|
||||
asm("rorl $15,%ebx"); \
|
||||
asm("popl %ecx"); \
|
||||
N_OP_POPPED_CALL_2(N_OP_iplus2, GET_POPPED); \
|
||||
}
|
||||
#define IPLUS_N(n) { \
|
||||
fast_op_iplusn(n); \
|
||||
nextop2; \
|
||||
iplusn_err: \
|
||||
asm("iplusn_err:"); \
|
||||
asm("addw $7,%bx"); \
|
||||
asm("rorl $15,%ebx"); \
|
||||
asm("popl %ecx"); \
|
||||
N_OP_CALL_1d(N_OP_iplusn, n); \
|
||||
}
|
||||
|
||||
#undef GREATERP
|
||||
#define GREATERP { \
|
||||
fast_op_greaterp(POP_TOS_1); \
|
||||
nextop1; \
|
||||
greaterp_err: \
|
||||
asm("greaterp_err: popl %ecx"); \
|
||||
N_OP_POPPED_CALL_2(N_OP_greaterp, GET_POPPED); \
|
||||
}
|
||||
|
||||
#undef IGREATERP
|
||||
#define IGREATERP { \
|
||||
fast_op_igreaterp(POP_TOS_1); \
|
||||
nextop1; \
|
||||
igreaterp_err: \
|
||||
asm("igreaterp_err: popl %ecx"); \
|
||||
N_OP_POPPED_CALL_2(N_OP_igreaterp, GET_POPPED); \
|
||||
}
|
||||
|
||||
|
||||
#undef LRSH8
|
||||
#define LRSH8 { \
|
||||
fast_op_lrsh8(); \
|
||||
nextop1; \
|
||||
lrsh8_err: \
|
||||
asm("lrsh8_err: "); \
|
||||
N_OP_CALL_1(N_OP_lrsh8); \
|
||||
}
|
||||
|
||||
#undef LRSH1
|
||||
#define LRSH1 { \
|
||||
fast_op_lrsh1(); \
|
||||
nextop1; \
|
||||
lrsh1_err: \
|
||||
asm("lrsh1_err: "); \
|
||||
N_OP_CALL_1(N_OP_lrsh1); \
|
||||
}
|
||||
|
||||
#undef LLSH8
|
||||
#define LLSH8 { \
|
||||
fast_op_llsh8(); \
|
||||
nextop1; \
|
||||
llsh8_err: \
|
||||
asm("llsh8_err: "); \
|
||||
N_OP_CALL_1(N_OP_llsh8); \
|
||||
}
|
||||
|
||||
#undef LLSH1
|
||||
#define LLSH1 { \
|
||||
fast_op_llsh1(); \
|
||||
nextop1; \
|
||||
llsh1_err: \
|
||||
asm("llsh1_err: "); \
|
||||
N_OP_CALL_1(N_OP_llsh1); \
|
||||
}
|
||||
|
||||
|
||||
#undef LOGOR
|
||||
#define LOGOR { \
|
||||
fast_op_logor(POP_TOS_1); \
|
||||
nextop1; \
|
||||
logor_err: \
|
||||
asm("logor_err: popl %ecx"); \
|
||||
asm("rorl $15,%ebx"); \
|
||||
N_OP_POPPED_CALL_2(N_OP_logor, GET_POPPED); \
|
||||
}
|
||||
|
||||
#undef LOGAND
|
||||
#define LOGAND { \
|
||||
fast_op_logand(POP_TOS_1); \
|
||||
nextop1; \
|
||||
logand_err: \
|
||||
asm("logand_err: popl %ecx"); \
|
||||
asm("rorl $15,%ebx"); \
|
||||
N_OP_POPPED_CALL_2(N_OP_logand, GET_POPPED); \
|
||||
}
|
||||
|
||||
#undef LOGXOR
|
||||
#define LOGXOR { \
|
||||
fast_op_logxor(POP_TOS_1); \
|
||||
nextop1; \
|
||||
logxor_err: \
|
||||
asm("logxor_err: popl %ecx"); \
|
||||
asm("rorl $15,%ebx"); \
|
||||
N_OP_POPPED_CALL_2(N_OP_logxor, GET_POPPED); \
|
||||
}
|
||||
|
||||
#undef N_OP_ADDBASE
|
||||
#define N_OP_ADDBASE { \
|
||||
fast_op_addbase(POP_TOS_1); \
|
||||
nextop1; \
|
||||
addbase_err: \
|
||||
asm("addbase_err: popl %ecx"); \
|
||||
asm("addw $7,%bx"); \
|
||||
asm("rorl $15,%ebx"); \
|
||||
N_OP_POPPED_CALL_2(N_OP_addbase, GET_POPPED); \
|
||||
}
|
||||
|
||||
|
||||
#undef N_OP_LOLOC
|
||||
#define N_OP_LOLOC { fast_op_loloc(); nextop1; }
|
||||
#undef N_OP_HILOC
|
||||
#define N_OP_HILOC { fast_op_hiloc(); nextop1; }
|
||||
|
||||
#undef N_OP_VAG2
|
||||
#define N_OP_VAG2 \
|
||||
{ \
|
||||
asm(" subl $4,%esi"); \
|
||||
asm(" movl (%esi),%eax"); \
|
||||
asm(" roll $16,%ebx"); \
|
||||
asm(" movw %ax,%bx"); \
|
||||
asm(" rorl $16,%ebx"); \
|
||||
nextop1; }
|
||||
@@ -614,8 +614,6 @@ typedef struct
|
||||
/* */
|
||||
/************************************************************************/
|
||||
|
||||
#ifndef I386
|
||||
|
||||
/* Get DTD pointer(68k) from typenum */
|
||||
#ifdef BIGVM
|
||||
#define GetDTD(typnum) (DTDspace + ((typnum)<<4)+((typnum)<<1))
|
||||
@@ -626,20 +624,6 @@ typedef struct
|
||||
/* Get all type entry */
|
||||
#define GetTypeEntry(address) ( GETWORD(MDStypetbl+((address)>>9)) )
|
||||
|
||||
#else
|
||||
/* Because the 386i's code generator does better with them */
|
||||
/* in this order (does an add, rather than mov-add) */
|
||||
/* JDS 22-mar-90 */
|
||||
|
||||
/* Get DTD pointer(68k) from typenum */
|
||||
#define GetDTD(typnum) (((typnum)<<4) + DTDspace)
|
||||
|
||||
/* Get all type entry */
|
||||
#define GetTypeEntry(address) ( GETWORD(((address)>>9) + MDStypetbl) )
|
||||
|
||||
#endif /* I386 */
|
||||
|
||||
|
||||
/* the type number is in the low 11 bits */
|
||||
#define GetTypeNumber(address) (GetTypeEntry(address) & 0x7ff)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user