[Openmcl-cvs-notifications] r11314 - in /trunk/source/lisp-kernel: x86-spentry32.s x86-spentry64.s
gb at clozure.com
gb at clozure.com
Sat Nov 8 12:15:23 EST 2008
Author: gb
Date: Sat Nov 8 12:15:22 2008
New Revision: 11314
Log:
Use hlt instructions (not "int $3") for things that're stubbed out/
not yet implemented (hlt will enter the kernel debugger as an
unhandled exception, "int $3" will terminate the process with
a SIGTRAP unless a debugger's installed.)
Implement _SPstack_misc_alloc_init on x8632.
Modified:
trunk/source/lisp-kernel/x86-spentry32.s
trunk/source/lisp-kernel/x86-spentry64.s
Modified: trunk/source/lisp-kernel/x86-spentry32.s
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/x86-spentry32.s (original)
+++ trunk/source/lisp-kernel/x86-spentry32.s Sat Nov 8 12:15:22 2008
@@ -1641,7 +1641,7 @@
/* nargs set to #args vpushed. */
=
_spentry(stkconslist_star)
- __(int $3)
+ __(hlt)
__(nop)
_endsubp(stkconslist_star)
=
@@ -2054,11 +2054,11 @@
_endsubp(gvector)
=
_spentry(mvpass)
- __(int $3)
+ __(hlt)
_endsubp(mvpass)
=
_spentry(nthvalue)
- __(int $3)
+ __(hlt)
_endsubp(nthvalue)
=
_spentry(values)
@@ -2089,15 +2089,15 @@
_endsubp(values)
=
_spentry(default_optional_args)
- __(int $3)
+ __(hlt)
_endsubp(default_optional_args)
=
_spentry(opt_supplied_p)
- __(int $3)
+ __(hlt)
_endsubp(opt_supplied_p)
=
_spentry(lexpr_entry)
- __(int $3)
+ __(hlt)
_endsubp(lexpr_entry)
=
_spentry(heap_rest_arg)
@@ -2440,7 +2440,7 @@
_endsubp(stack_cons_rest_arg)
=
_spentry(getxlong)
- __(int $3)
+ __(hlt)
_endsubp(getxlong)
=
/* Have to be a little careful here: the caller may or may not have pushed=
*/
@@ -3081,7 +3081,7 @@
_endsubp(destructuring_bind_inner)
=
_spentry(vpopargregs)
- __(int $3)
+ __(hlt)
_endsubp(vpopargregs)
=
/* If arg_z is an integer, return in imm0 something whose sign */
@@ -3267,7 +3267,7 @@
_endsubp(recover_values_for_mvcall)
=
_spentry(reset)
- __(int $3)
+ __(hlt)
_endsubp(reset)
=
/* temp0 =3D element-count, arg_y =3D subtag, arg_z =3D initval */
@@ -3287,8 +3287,21 @@
__(jump_fname())
_endsubp(misc_alloc_init)
=
+/* %temp1 =3D element-count, %arg_y =3D subtag, %arg_z =3D initial-value *=
/ =
_spentry(stack_misc_alloc_init)
- __(int $3)
+ __(push %ebp)
+ __(movl %esp,%ebp)
+ __(push %arg_z)
+ __(movl %arg_y,%arg_z)
+ __(movl %temp1,%arg_y)
+ __(pushl $local_label(stack_misc_alloc_init_back))
+ __(jmp _SPstack_misc_alloc)
+__(tra(local_label(stack_misc_alloc_init_back)))
+ __(popl %arg_y)
+ __(leave)
+ __(movl $nrs.init_misc,%fname)
+ __(set_nargs(2))
+ __(jump_fname())
_endsubp(stack_misc_alloc_init)
=
.globl C(popj)
@@ -3453,7 +3466,7 @@
_endsubp(specrefcheck)
=
_spentry(restoreintlevel)
- __(int $3)
+ __(hlt)
_endsubp(restoreintlevel)
=
/* Make a lisp integer from the unsigned value in imm0 */
@@ -3529,7 +3542,7 @@
_endsubp(getu32)
=
_spentry(mvpasssym)
- __(int $3)
+ __(hlt)
_endsubp(mvpasssym)
=
/* don't smash arg_z */
@@ -4165,7 +4178,7 @@
_endsubp(ffcall)
=
_spentry(ffcall_return_registers)
- __(int $3)
+ __(hlt)
_endsubp(ffcall_return_registers)
=
/* We need to reserve a frame here if (a) nothing else was already pushed
@@ -4636,77 +4649,77 @@
_endsubp(call_closure)
=
_spentry(poweropen_callbackX)
- __(int $3)
+ __(hlt)
_endsubp(poweropen_callbackX)
=
_spentry(poweropen_ffcallX)
- __(int $3)
+ __(hlt)
_endsubp(poweropen_ffcallX)
=
_spentry(eabi_ff_call)
- __(int $3)
+ __(hlt)
_endsubp(eabi_ff_call)
=
_spentry(eabi_callback)
- __(int $3)
+ __(hlt)
_endsubp(eabi_callback)
=
=
/* Unused, and often not used on PPC either */
_spentry(callbuiltin)
- __(int $3)
+ __(hlt)
_endsubp(callbuiltin)
=
_spentry(callbuiltin0)
- __(int $3)
+ __(hlt)
_endsubp(callbuiltin0)
=
_spentry(callbuiltin1)
- __(int $3)
+ __(hlt)
_endsubp(callbuiltin1)
=
_spentry(callbuiltin2)
- __(int $3)
+ __(hlt)
_endsubp(callbuiltin2)
=
_spentry(callbuiltin3)
- __(int $3)
+ __(hlt)
_endsubp(callbuiltin3)
=
_spentry(restorefullcontext)
- __(int $3)
+ __(hlt)
_endsubp(restorefullcontext)
=
_spentry(savecontextvsp)
- __(int $3)
+ __(hlt)
_endsubp(savecontextvsp)
=
_spentry(savecontext0)
- __(int $3)
+ __(hlt)
_endsubp(savecontext0)
=
_spentry(restorecontext)
- __(int $3)
+ __(hlt)
_endsubp(restorecontext)
=
_spentry(stkconsyz)
- __(int $3)
+ __(hlt)
_endsubp(stkconsyz)
=
_spentry(stkvcell0)
- __(int $3)
+ __(hlt)
_endsubp(stkvcell0)
=
_spentry(stkvcellvsp)
- __(int $3)
+ __(hlt)
_endsubp(stkvcellvsp)
=
_spentry(breakpoint)
- __(int $3)
+ __(hlt)
_endsubp(breakpoint)
=
_spentry(unused_6)
- __(int $3)
+ __(hlt)
Xspentry_end:
_endsubp(unused_6)
.data
Modified: trunk/source/lisp-kernel/x86-spentry64.s
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/x86-spentry64.s (original)
+++ trunk/source/lisp-kernel/x86-spentry64.s Sat Nov 8 12:15:22 2008
@@ -2123,13 +2123,13 @@
_endsubp(gvector)
=
_spentry(mvpass)
- __(int $3)
+ __(hlt)
_endsubp(mvpass)
=
=
=
_spentry(nthvalue)
- __(int $3)
+ __(hlt)
_endsubp(nthvalue)
=
_spentry(values)
@@ -2157,15 +2157,15 @@
_endsubp(values)
=
_spentry(default_optional_args)
- __(int $3)
+ __(hlt)
_endsubp(default_optional_args)
=
_spentry(opt_supplied_p)
- __(int $3)
+ __(hlt)
_endsubp(opt_supplied_p)
=
_spentry(lexpr_entry)
- __(int $3)
+ __(hlt)
_endsubp(lexpr_entry)
=
_spentry(heap_rest_arg)
@@ -3219,7 +3219,7 @@
_endsubp(recover_values_for_mvcall)
=
_spentry(reset)
- __(int $3)
+ __(hlt)
_endsubp(reset)
=
=
@@ -3396,19 +3396,19 @@
_endsubp(restoreintlevel)
=
_spentry(makes32)
- __(int $3)
+ __(hlt)
_endsubp(makes32)
=
_spentry(makeu32)
- __(int $3)
+ __(hlt)
_endsubp(makeu32)
=
_spentry(gets32)
- __(int $3)
+ __(hlt)
_endsubp(gets32)
=
_spentry(getu32)
- __(int $3)
+ __(hlt)
_endsubp(getu32)
=
=
@@ -5020,55 +5020,55 @@
=
/* Unused, and often not used on PPC either */
_spentry(callbuiltin)
- __(int $3)
+ __(hlt)
_endsubp(callbuiltin)
=
_spentry(callbuiltin0)
- __(int $3)
+ __(hlt)
_endsubp(callbuiltin0)
=
_spentry(callbuiltin1)
- __(int $3)
+ __(hlt)
_endsubp(callbuiltin1)
=
_spentry(callbuiltin2)
- __(int $3)
+ __(hlt)
_endsubp(callbuiltin2)
=
_spentry(callbuiltin3)
- __(int $3)
+ __(hlt)
_endsubp(callbuiltin3)
=
_spentry(restorefullcontext)
- __(int $3)
+ __(hlt)
_endsubp(restorefullcontext)
=
_spentry(savecontextvsp)
- __(int $3)
+ __(hlt)
_endsubp(savecontextvsp)
=
_spentry(savecontext0)
- __(int $3)
+ __(hlt)
_endsubp(savecontext0)
=
_spentry(restorecontext)
- __(int $3)
+ __(hlt)
_endsubp(restorecontext)
=
_spentry(stkconsyz)
- __(int $3)
+ __(hlt)
_endsubp(stkconsyz)
=
_spentry(stkvcell0)
- __(int $3)
+ __(hlt)
_endsubp(stkvcell0)
=
_spentry(stkvcellvsp)
- __(int $3)
+ __(hlt)
_endsubp(stkvcellvsp)
=
_spentry(breakpoint)
- __(int $3)
+ __(hlt)
_endsubp(breakpoint)
=
=
@@ -5152,7 +5152,7 @@
__endif
=
_spentry(unused_5)
- __(int $3)
+ __(hlt)
Xspentry_end: =
_endsubp(unused_5)
=
More information about the Openmcl-cvs-notifications
mailing list