Changeset 10096


Ignore:
Timestamp:
Jul 18, 2008, 7:34:21 PM (11 years ago)
Author:
rme
Message:

Conditionalize for Darwin/x8632.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lisp-kernel/x86-exceptions.h

    r10068 r10096  
    3838#define xpFPRvector(x) ((natural *)(&(UC_MCONTEXT(x)->__fs.__fpu_xmm0)))
    3939#define xpMMXreg(x,n)  (xpFPRvector(x)[n])
     40#else /* X8632 */
     41#define xpGPRvector(x) ((natural *)(&((x)->uc_mcontext->__ss.__eax)))
     42#define xpGPR(x,gprno) (xpGPRvector(x)[gprno])
     43#define set_xpGPR(x,gpr,new) xpGPR((x),(gpr)) = (natural)(new)
     44#define xpPC(x) (xpGPR(x,Iip))
     45#define xpFPRvector(x) ((natural *)(&((x)->uc_mcontext->__fs.__fpu_xmm0)))
     46/* are you ready for this? */
     47#define xpMMXreg(x,n) *((natural *)&((&((x)->uc_mcontext->__fs.__fpu_stmm0))[n]))
    4048#endif
    4149#include <mach/mach.h>
     
    185193extern natural get_mxcsr();
    186194extern void set_mxcsr(natural);
     195
     196#ifdef X8632
     197/* The 32-bit immediate value in the instruction
     198 * "(mov ($ 0x12345678) (% fn))" at a tagged return address
     199 * refers to the associated function.
     200 */
     201#define RECOVER_FN_OPCODE 0xbf
     202#define RECOVER_FN_LENGTH 5
     203#endif
Note: See TracChangeset for help on using the changeset viewer.