X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fsparc-assem.S;h=c766729a74be938b949b0ace28ddc850b8289b1a;hb=7f0f521aa3f6b45259c5dfd5f7f11adcd1a7cac6;hp=a6c03036f077250ab3d889e6951f5d72401a01cc;hpb=68fd2d2dd6f265669a8957accd8a33e62786a97e;p=sbcl.git diff --git a/src/runtime/sparc-assem.S b/src/runtime/sparc-assem.S index a6c0303..c766729 100644 --- a/src/runtime/sparc-assem.S +++ b/src/runtime/sparc-assem.S @@ -16,7 +16,6 @@ /* FIXME */ #define FRAMESIZE 0x48 #define ST_FLUSH_WINDOWS 0x03 -#define PSEUDO_ATOMIC_TRAP_NUMBER 64 .seg "text" .global call_into_lisp FUNCDEF(call_into_lisp) @@ -61,11 +60,7 @@ call_into_lisp: sub reg_ALLOC, 4, reg_ALLOC andcc reg_ALLOC, 3, reg_ZERO - /* OK, this is ridiculous. We badly urgently need this to be - centralized, because that's now _three_ places where this - number is used. CSR, 2002-02-09 */ - - tne 64 + tne PSEUDO_ATOMIC_TRAP /* Pass in the args. */ sll %i2, 2, reg_NARGS mov %i1, reg_CFP @@ -113,7 +108,7 @@ lra: /* Were we interrupted? */ sub reg_ALLOC, 4, reg_ALLOC andcc reg_ALLOC, 3, reg_ZERO - tne PSEUDO_ATOMIC_TRAP_NUMBER + tne PSEUDO_ATOMIC_TRAP /* Back to C we go. */ ld [%sp+FRAMESIZE-4], %i7 @@ -153,7 +148,7 @@ call_into_c: /* Were we interrupted? */ sub reg_ALLOC, 4, reg_ALLOC andcc reg_ALLOC, 3, reg_ZERO - tne PSEUDO_ATOMIC_TRAP_NUMBER + tne PSEUDO_ATOMIC_TRAP /* Into C we go. */ call reg_CFUNC @@ -191,7 +186,7 @@ call_into_c: /* No longer atomic. */ sub reg_ALLOC, 4, reg_ALLOC andcc reg_ALLOC, 3, reg_ZERO - tne PSEUDO_ATOMIC_TRAP_NUMBER + tne PSEUDO_ATOMIC_TRAP /* Reset the lisp stack. */ /* Note: OCFP is in one of the locals, it gets preserved across C. */ @@ -216,11 +211,7 @@ undefined_tramp = . + 1 b 1f unimp trap_Cerror .byte 4 -#ifdef type_LongFloat - .byte 24 -#else - .byte 23 -#endif + .byte UNDEFINED_FUN_ERROR .byte 254, sc_DescriptorReg, 3 .align 4 1: @@ -275,9 +266,9 @@ fun_end_breakpoint_trap: .global fun_end_breakpoint_end fun_end_breakpoint_end: - .global flush_icache - FUNCDEF(flush_icache) -flush_icache: + .global sparc_flush_icache + FUNCDEF(sparc_flush_icache) +sparc_flush_icache: add %o0,%o1,%o2 1: iflush %o0 ! flush instruction cache add %o0,8,%o0 @@ -293,3 +284,4 @@ save_context: ta ST_FLUSH_WINDOWS ! flush register windows retl ! return from leaf routine nop +