- Timestamp:
- Aug 7, 2007, 7:35:23 PM (17 years ago)
- Location:
- branches/ia32/lisp-kernel
- Files:
-
- 8 edited
-
image.c (modified) (1 diff)
-
lisp-debug.c (modified) (2 diffs)
-
lisp_globals.h (modified) (1 diff)
-
lisptypes.h (modified) (1 diff)
-
pmcl-kernel.c (modified) (2 diffs)
-
thread_manager.c (modified) (1 diff)
-
x86-constants32.h (modified) (5 diffs)
-
x86-exceptions.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/ia32/lisp-kernel/image.c
r6215 r7017 27 27 28 28 29 #if def PPC6429 #if defined(PPC64) || defined(X8632) 30 30 #define RELOCATABLE_FULLTAG_MASK \ 31 31 ((1<<fulltag_cons)|(1<<fulltag_misc)) -
branches/ia32/lisp-kernel/lisp-debug.c
r6536 r7017 107 107 "rbp", "rsp", "r8 ", "r9 ", "r10", "r11", "r12", "r13", 108 108 "r14", "r15", "rip", "rfl"}; 109 #endif 110 #endif 111 112 #ifdef X8632 113 #ifdef DARWIN 114 char *Iregnames[] = {"eax", "ebx", "ecx", "edx", "edi", "esi", 115 "ebp", "???", "efl", "eip"}; 109 116 #endif 110 117 #endif … … 564 571 xpGPR(xp, Iip), xpGPR(xp, Iflags)); 565 572 #endif 573 574 #ifdef X8632 575 fprintf(stderr, "%%eax = 0x%08X %%ebx = 0x%08X\n %%ecx = 0x%08X %%edx = 0x%08X\n", 576 xpGPR(xp, REG_EAX), xpGPR(xp, REG_EBX), xpGPR(xp, REG_ECX), xpGPR(xp, REG_EDX)); 577 fprintf(stderr, "%%edi = 0x%08X %%esi = 0x%08X\n %%ebp = 0x%08X %%esp = 0x%08X\n", 578 xpGPR(xp, REG_EDI), xpGPR(xp, REG_ESI), xpGPR(xp, REG_EBP), xpGPR(xp, REG_ESP)); 579 fprintf(stderr, "%%eip = 0x%08X %%eflags = 0x%08X\n", 580 xpGPR(xp, REG_EIP), xpGPR(xp, REG_EFL)); 581 #endif 582 566 583 return debug_continue; 567 584 } -
branches/ia32/lisp-kernel/lisp_globals.h
r6901 r7017 87 87 #endif 88 88 89 /* xxx not sure about this... */ 90 #ifdef X8632 91 #define lisp_global(g) (((LispObj *) 0x3000)[(g)]) 92 #define nrs_symbol(s) (((lispsymbol *) 0x3008)[(s)]) 93 #endif 89 94 90 95 #define nrs_T (nrs_symbol(0)) /* t */ -
branches/ia32/lisp-kernel/lisptypes.h
r6535 r7017 146 146 #endif /* _STRUCT_MCONTEXT64 */ 147 147 #endif /* X86_64 */ 148 149 #ifdef X8632 150 /* Assume rational <i386/ucontext.h> */ 151 typedef mcontext_t MCONTEXT_T; 152 typedef ucontext_t ExceptionInformation; 153 #endif 154 148 155 #endif /* #ifdef DARWIN */ 149 156 -
branches/ia32/lisp-kernel/pmcl-kernel.c
r6902 r7017 89 89 Boolean running_under_rosetta = false; 90 90 91 #if WORD_SIZE == 64 91 #if WORD_SIZE == 64 || defined(X8632) 92 92 /* Assume that if the OS is new enough to support PPC64/X8664, it has 93 93 a reasonable dlfcn.h … … 1838 1838 #endif 1839 1839 #ifdef DARWIN 1840 #if defined(PPC64) || defined(X86 64)1840 #if defined(PPC64) || defined(X86) 1841 1841 if (handle == NULL) { 1842 1842 handle = RTLD_DEFAULT; -
branches/ia32/lisp-kernel/thread_manager.c
r6904 r7017 1025 1025 #ifdef X8664 1026 1026 #define NSAVEREGS 4 1027 #endif 1028 #ifdef X8632 1029 #define NSAVEREGS 0 1027 1030 #endif 1028 1031 for (i = 0; i < NSAVEREGS; i++) { -
branches/ia32/lisp-kernel/x86-constants32.h
r7015 r7017 7 7 #define REG_EDI 4 8 8 #define REG_ESI 5 9 #define REG_E AX610 #define REG_E BP 79 #define REG_EBP 6 10 #define REG_ESP 7 11 11 #define REG_EFL 9 12 12 #define REG_EIP 10 … … 40 40 41 41 #define tag_fixnum 0 42 #define tag_lis 142 #define tag_list 1 43 43 #define tag_misc 2 44 44 #define tag_imm 3 … … 119 119 #define subtag_istruct NODE_SUBTAG(16) 120 120 #define max_non_array_node_subtag ((19<<ntagbits)|fulltag_immheader) 121 122 /* xxx confused about this */ 123 #define unbound SUBTAG(fulltag_imm, 6) 124 #define undefined unbound 125 #define unbound_marker unbound 126 #define subtag_character SUBTAG(fulltag_imm, 9) 127 #define slot_unbound SUBTAG(fulltag_imm, 10) 128 #define slot_unbound_marker slot_unbound 129 #define no_thread_local_binding_marker SUBTAG(fulltag_imm,30) 130 121 131 122 132 typedef struct cons { … … 365 375 void *resume; /* resumption semaphore */ 366 376 natural flags; 367 ExceptionInformation *gc_context;377 ExceptionInformation *gc_context; 368 378 void *termination_semaphore; 369 379 signed_natural unwinding; … … 377 387 #define nil_value (0x3000 + (fulltag_cons)) 378 388 #define t_value (0x3008 + (fulltag_misc)) 389 #define misc_header_offset -fulltag_misc 390 #define misc_data_offset misc_header_offset + node_size 379 391 380 392 #define heap_segment_size 0x00010000 -
branches/ia32/lisp-kernel/x86-exceptions.h
r6527 r7017 38 38 #define xpFPRvector(x) ((natural *)(&(UC_MCONTEXT(x)->__fs.__fpu_xmm0))) 39 39 #define xpMMXreg(x,n) (xpFPRvector(x)[n]) 40 #else /* X8632 */ 41 #define xpGPRvector(x) ((natural *)(&((x)->uc_mcontext->ss))) 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))) 40 46 #endif 41 47 #include <mach/mach.h>
Note:
See TracChangeset
for help on using the changeset viewer.
