diff options
Diffstat (limited to 'config/linux')
| -rw-r--r-- | config/linux/Makedefs | 2 | ||||
| -rw-r--r-- | config/linux/alpha.s | 46 | ||||
| -rw-r--r-- | config/linux/define.h | 3 | ||||
| -rw-r--r-- | config/linux/i686.s | 44 | ||||
| -rw-r--r-- | config/linux/parisc.s | 68 | ||||
| -rw-r--r-- | config/linux/sparc.c | 36 | ||||
| -rw-r--r-- | config/linux/status | 22 |
7 files changed, 8 insertions, 213 deletions
diff --git a/config/linux/Makedefs b/config/linux/Makedefs index da053aa..613b74d 100644 --- a/config/linux/Makedefs +++ b/config/linux/Makedefs @@ -14,6 +14,6 @@ CFDYN = -fPIC RLINK = -Wl,-E RLIBS = -lm -ldl TLIBS = -lpthread -XLIBS = -L/usr/X11R6/lib64 -L/usr/X11R6/lib -lX11 +XLIBS = -lX11 XPMDEFS = -DZPIPE GDIR = xpm diff --git a/config/linux/alpha.s b/config/linux/alpha.s deleted file mode 100644 index a4589d4..0000000 --- a/config/linux/alpha.s +++ /dev/null @@ -1,46 +0,0 @@ -/* - * coswitch(old_cs, new_cs, first) for Dec Alpha architecture - * $16 $17 $18 - */ - .data -errmsg: .ascii "new_context() returned in coswitch\X00" - - .text - .globl coswitch - .ent coswitch -coswitch: - lda $sp, -72($sp) /* make room on stack */ - stq $sp, 0($16) /* save stack pointer */ - stq $9, 0($sp) /* save registers on stack */ - stq $10, 8($sp) - stq $11, 16($sp) - stq $12, 24($sp) - stq $13, 32($sp) - stq $14, 40($sp) - stq $15, 48($sp) - stq $27, 56($sp) - stq $26, 64($sp) /* return address */ - beq $18, first /* if first time */ - - ldq $sp, 0($17) /* load new stack pointer */ - ldq $9, 0($sp) /* load registers from stack */ - ldq $10, 8($sp) - ldq $11, 16($sp) - ldq $12, 24($sp) - ldq $13, 32($sp) - ldq $14, 40($sp) - ldq $15, 48($sp) - ldq $27, 56($sp) - ldq $26, 64($sp) /* return address */ - lda $sp, 72($sp) /* reset sp */ - jsr_coroutine $31, ($26), 0 /* jump into new_context */ - -first: - ldq $sp, 0($17) /* load stack pointer only */ - bis $31, $31, $16 /* r16 = 0 */ - bis $31, $31, $17 /* r17 = 0 */ - jsr $26, new_context /* new_context(0,0) */ - lda $16, errmsg - jsr $26, syserr /* shouldn't get here */ - - .end coswitch diff --git a/config/linux/define.h b/config/linux/define.h index 834bb2b..982d3c5 100644 --- a/config/linux/define.h +++ b/config/linux/define.h @@ -4,6 +4,3 @@ #define UNIX 1 #define LoadFunc - -#define CComp "gcc" -#define COpts "-O -fomit-frame-pointer" diff --git a/config/linux/i686.s b/config/linux/i686.s deleted file mode 100644 index 2e7117e..0000000 --- a/config/linux/i686.s +++ /dev/null @@ -1,44 +0,0 @@ -# -# Assembler source for context switch using gas 1.38.1 + gcc 1.40 on -# Xenix/386, revamped slightly for use with Linux by me (Richard Goer- -# witz) on 7/25/94. -# - -.file "rswitch.s" -.data 1 -.LC0: - .byte 0x6e,0x65,0x77,0x5f,0x63,0x6f,0x6e,0x74,0x65,0x78 - .byte 0x74,0x28,0x29,0x20,0x72,0x65,0x74,0x75,0x72,0x6e - .byte 0x65,0x64,0x20,0x69,0x6e,0x20,0x63,0x6f,0x73,0x77 - .byte 0x69,0x74,0x63,0x68,0x0 -.text - .align 4 -.globl coswitch - - -coswitch: - pushl %ebp - movl %esp,%ebp - movl 8(%ebp),%eax - movl %esp,0(%eax) - movl %ebp,4(%eax) - movl 12(%ebp),%eax - cmpl $0,16(%ebp) - movl 0(%eax),%esp - je .L2 - - movl 4(%eax),%ebp - jmp .L1 - -.L2: - movl $0,%ebp - pushl $0 - pushl $0 - call new_context - pushl $.LC0 - call syserr - addl $12,%esp - -.L1: - leave - ret diff --git a/config/linux/parisc.s b/config/linux/parisc.s deleted file mode 100644 index 88d9366..0000000 --- a/config/linux/parisc.s +++ /dev/null @@ -1,68 +0,0 @@ -; coexpression code for HP PA-RISC architecture for Icon 8.10 -; -; n.b. two of the three coexpression tests work, but coexpression -; *transmission*, a rarely used feature, does not - - .CODE - .IMPORT syserr - .EXPORT coswitch -coswitch - .PROC - .CALLINFO - .ENTRY - ; store old registers - STW %sp,0(%arg0) - ; not used: 4(%arg0) - STW %rp,8(%arg0) - STW %r3,12(%arg0) - STW %r4,16(%arg0) - STW %r5,20(%arg0) - STW %r6,24(%arg0) - STW %r7,28(%arg0) - STW %r8,32(%arg0) - STW %r9,36(%arg0) - STW %r10,40(%arg0) - STW %r11,44(%arg0) - STW %r12,48(%arg0) - STW %r13,52(%arg0) - STW %r14,56(%arg0) - STW %r15,60(%arg0) - STW %r16,64(%arg0) - STW %r17,68(%arg0) - STW %r18,72(%arg0) - - COMIB,=,N 0,%arg2,L$isfirst - - ; this is not a first-time call; reload old context - LDW 0(%arg1),%sp - LDW 8(%arg1),%rp - LDW 12(%arg1),%r3 - LDW 16(%arg1),%r4 - LDW 20(%arg1),%r5 - LDW 24(%arg1),%r6 - LDW 28(%arg1),%r7 - LDW 32(%arg1),%r8 - LDW 36(%arg1),%r9 - LDW 40(%arg1),%r10 - LDW 44(%arg1),%r11 - LDW 48(%arg1),%r12 - LDW 52(%arg1),%r13 - LDW 56(%arg1),%r14 - LDW 60(%arg1),%r15 - LDW 64(%arg1),%r16 - LDW 68(%arg1),%r17 - LDW 72(%arg1),%r18 - BV,N (%rp) ; return - -L$isfirst - LDW 0(%arg1),%sp - LDI 0,%arg0 - LDI 0,%arg1 - .CALL ARGW0=GR,ARGW1=GR - BL,N new_context,%rp ; call new_context(0,0) - SUBI 1,%r0,%rp - BV,N (%rp) ; abort w/ illegal jump - .EXIT - .PROCEND - .IMPORT new_context,CODE - .END diff --git a/config/linux/sparc.c b/config/linux/sparc.c deleted file mode 100644 index 743bb02..0000000 --- a/config/linux/sparc.c +++ /dev/null @@ -1,36 +0,0 @@ -/* - * coswitch for Sun-4 Sparc. - * - * Compile this with 'gcc -c rswitch.c'. Do not use gcc -O. - */ - -int coswitch(old_cs, new_cs, first) -int *old_cs, *new_cs; -int first; -{ - asm("ta 0x03"); /* ST_FLUSH_WINDOWS in trap.h */ - asm("ld [%fp+0x44], %o0"); /* load old_cs into %o0 */ - asm("st %sp,[%o0]"); /* Save user stack pointer */ - asm("st %fp,[%o0+0x4]"); /* Save frame pointer */ - asm("st %i7,[%o0+0x8]"); /* Save return address */ - - if (first == 0) { /* this is the first activation */ - asm("ld [%fp+0x48], %o0"); /* load new_cs into %o0 */ - asm("ld [%o0], %o1"); /* load %o1 from cstate[0] */ - - /* Decrement new stack pointer value before loading it into sp. */ - /* The top 64 bytes of the stack are reserved for the kernel, to */ - /* save the 8 local and 8 in registers into, on context switches, */ - /* interrupts, traps, etc. */ - - asm("save %o1,-96, %sp"); /* load %sp from %o1 */ - new_context(0,0); - syserr("new_context() returned in coswitch"); - - } else { - asm("ld [%fp+0x48], %o0"); /* load new_cs into %o0 */ - asm("ld [%o0+0x4],%fp"); /* Load frame pointer */ - asm("ld [%o0+0x8],%i7"); /* Load return address */ - asm("ld [%o0],%sp"); /* Load user stack pointer */ - } -} diff --git a/config/linux/status b/config/linux/status index 499c0fa..497be73 100644 --- a/config/linux/status +++ b/config/linux/status @@ -4,7 +4,7 @@ System configuration: Latest Icon version: - Version 9.4.3 + Version 9.5.0 Installer: @@ -12,30 +12,22 @@ Installer: Icon Project The University of Arizona - with special thanks to Christian Hudon for additional testing - Missing features: None Known bugs: - None on x86, amd64, Alpha, SPARC, ARM, s390, or m68k. - - On PowerPC: Large integers don't work; the cause is unknown. - - On HP PA-RISC architecture: Icon is not functional. For - reasons that are not understood, real (floating-point) - values do not work. + None Comments: - Tested on x86 and amd64 architectures under Red Hat 9, - Fedora 3, and Fedora 4. + Tested on various x86 and x64 systems running Fedora 9, + Ubuntu 9.04 and 9.10, and Debian Squeeze. - This configuration can use pthreads for context switching. - On some architectures that is the only option. + Ubuntu may require package installation in order to build: + $ sudo apt-get install build-essential libx11-dev libxt-dev libxaw7-dev Date: - November 8, 2005 + April 5, 2010 |
