- Aug 11, 2013
-
-
Carl Shapiro authored
-
- Sep 01, 2012
-
-
Raymond Toy authored
* Get rid of the RCS Header stuff. They're meaningless in git. * Add public domain comment to some of the files if the only comment was the RCS header.
-
- Jan 27, 2012
-
-
Raymond Toy authored
-
Raymond Toy authored
to work with ppc.
-
Raymond Toy authored
-
Raymond Toy authored
builds, though.
-
- Dec 22, 2011
-
-
Raymond Toy authored
-
- Nov 04, 2011
-
-
Raymond Toy authored
-
- Sep 24, 2011
-
-
Raymond Toy authored
Make the size of all spaces configurable from the command line. code/commandline.lisp: o Define the switches so lisp doesn't complain. general-info/lisp.1: o Document new switches. general-info/release-20c.txt: o Update lisp/Darwin-os.c lisp/FreeBSD-os.c lisp/Linux-os.c lisp/NetBSD-os.c lisp/backtrace.c lisp/cgc.c lisp/gencgc.c lisp/os-common.c lisp/ppc-validate.h lisp/purify.c lisp/solaris-os.c lisp/sparc-arch.c lisp/sparc-validate.h lisp/x86-validate.h: lisp/validate.c o Basically rename CONTROL_STACK_SIZE, BINDING_STACK_SIZE, READ_ONLY_SPACE_SIZE, and STATIC_SPACE_SIZE to control_stack_size, binding_stack_size, read_only_space_size, and static_space_size, respectively. lisp/coreparse.c o Check the space size in the core file against the allocated size. If the allocated space is too small, print an error message and exit. lisp/globals.c o Define new variables for the allocated size of spaces. lisp/globals.h o Declare the new variables for the size of the spaces. lisp/lisp.c o Set the default values of the spaces. o Parse the new command-line flags and set the space sizes. lisp/sunos-os.c: o Added os_init0 (that we forgot last time). lisp/x86-assem.S: o Change $CONTROL_STACK_END to GNAME(control_stack_end) to get the correct end of the stack.
-
- Sep 03, 2011
-
-
rtoy authored
We don't need sigbus_handler_tramp; sigbus_handle_now is good enough. Print out the PC too when we get a real sigbus.
-
- Sep 01, 2011
-
-
rtoy authored
-
rtoy authored
On Linux, os_init can re-exec lisp to set up the correct personality. Not normally a problem, but if any output happens before os_init is called, the output appears to happen twice. So add os_init0 to do this early on, before any output. This is a bit of a kludge. lisp/lisp.c: o Call os_init0 early in main. lisp/Linux-os.c: o Move the personality stuff from os_init to os_init0. lisp/Darwin-os.c: lisp/FreeBSD-os.c: lisp/NetBSD-os.c: lisp/OpenBSD-os.c: lisp/hpux-os.c: lisp/irix-os.c: lisp/mach-os.c: lisp/osf1-os.c: lisp/solaris-os.c: lisp/sunos-os.c: o Add dummy implementation of os_init0. These OSes don't (currently) need anything special. lisp/os.h: o Declare os_init0.
-
rtoy authored
stack overflows would crash lisp. Darwin-os.c: o Need to check for stack overflow in the sigbus handler. (Without that, it's treated as a regular bus error.) o Add the rest of the infrastructure to handle the stack overflow. release-20c.txt: o Update
-
- Dec 26, 2010
-
-
rswindells authored
registers. The test is a stub on everything except NetBSD for now.
-
- Jun 22, 2010
-
-
rtoy authored
compiler/x86/vm.lisp: o Change *float-register-names* to be defparameter. o Setup float-regs and def-random-reg-tns appropriately for x87 and sse2. lisp/Darwin-os.c: lisp/Linux-os.c: o Conditionalize previous change for FEATURE_SSE2.
-
rtoy authored
Carl's suggestion and define new SC numbers for the xmm registers instead of overloading the x87 fpu registers and the xmm register SC's. bootfiles/20a/boot-2010-06-cross-x86.lisp: o New file needed for cross-compiling this change. code/x86-vm.lisp: o Revert previous change. compiler/x86/sse2-c-call.lisp: o Use xmm0-tn instead of fr0-tn. No functional change, but makes the code more readable. compiler/x86/vm.lisp: o Increase the number of float registers from 8 to 16 (8 more for SSE2 registers). o Define new xmm<n> registers o Update the locations with the new sse2 SC locations for single-reg, double-reg, double-double-reg, complex-single-reg, complex-double-reg, and complex-double-double-reg storage classes. lisp/Darwin-os.c: o Revert previous change. o Update os_sigcontext_fpu_reg to support the xmm registers. lisp/Linux-os.c: o Update os_sigcontext_fpu_reg to support the xmm registers.
-
rtoy authored
floating-point values for arguments because the x87 registers were used instead of the sse2 registers in the sigcontext. code/x86-vm.lisp: o For SSE2 on Mac OS X, call os_sigcontext_fpu_reg_sse2 to get the SSE2 register values from the sigcontext. lisp/Darwin-os.c: o Add os_sigcontext_fpu_reg_sse2 to get the SSE2 floating point values. general-info/release-20b.txt: o Document this change.
-
- Feb 01, 2010
-
-
rtoy authored
o Follow CMUCL coding style. o Argv and envp are const char*. os.h: lisp.c: Darwin-os.c: FreeBSD-os.c: NetBSD-os.c: OpenBSD-os.c: hpux-os.c: irix-os.c: mach-os.c: osf1-os.c: solaris-os.c: sunos-os.c: o argv and envp are const char *.
-
rtoy authored
When run on a kernel compiled without COMPAT_BRK CMUCL segfaults, so I copied the kludge used by SBCL - check the current personality, and if necessary, enable ADDR_NO_RANDOMIZE and re-exec itself. Linux-os.c: o Check for personality and rexec if necessary. os.h: o New prototype for os_init needed because it needs argv and envp. lisp.c: Darwin-os.c: FreeBSD-os.c: NetBSD-os.c: OpenBSD-os.c: hpux-os.c: irix-os.c: mach-os.c: osf1-os.c: solaris-os.c: sunos-os.c: o Update call to os_init, which needs argv and envp now.
-
- Jan 06, 2009
-
-
rtoy authored
in other functions too! o Add in the SSE2 mxcsr register only if we're running an SSE2-enabled core.
-
- Dec 29, 2008
-
-
rtoy authored
lisp/Config.x86_darwin: o Add -mmacosx-version-min=10.4 so the C code can run on Tiger. lisp/Darwin.c: lisp/x86-lispregs.h: o The mcontext slot names have a prefix of "__" on 10.5, but have no prefix on 10.4. Add #define's to make the source code work on either.
-
- Dec 10, 2008
-
-
rtoy authored
x86-vm.lisp declares os_sigcontext_fpu_modes to return a 32-bit int.
-
- Dec 07, 2008
-
-
agoncharov authored
-
- Nov 12, 2008
-
-
rtoy authored
sse2-packed-2008-11-12).
-
- Sep 16, 2008
- Sep 11, 2008
-
-
rtoy authored
gencgc.c: o Enable page protection Darwin-os.c: o Turn on sigbus_handler for x86/darwin. o Minor tweaks of sigbus_handler for x86/darwin. o Install the sigbus handler.
-
- Sep 10, 2008
-
-
rtoy authored
interrupt_maybe_gc.
-
- Mar 19, 2008
-
-
cshapiro authored
void keyword to specify empty parameter lists.
-
- Jan 17, 2008
-
-
rtoy authored
sigcontext. This is a workaround for an issue on x86/darwin where loading of the control word enabling the invalid operation exception would cause that exception because the status word had that exception. Not sure why this is needed or why the invalid operation exception was set. It was happening in a call run-program while concatenating the files for the hemlock library.
-
- Jan 03, 2008
-
-
cshapiro authored
code. Rather than introduce a new FreeBSD case to the x86 sigcontext member accessor routines, collapse all of the system specific routines down to a common set of routines. * code/debug-int.lisp - Disable some Darwin-specific code to debug NULL mcontext pointers. * code/float-trap.lisp - Remove ancient FreeBSD-specific code for handling floating point signals. * code/macros.lisp, code/sap.lisp, compiler/saptran.lisp - Include the SAP-REF-LONG setter by default on the x86. * code/x86-vm.lisp - Remove operating system specific sigcontext definitions and sigcontext accessors. Define the alien sigcontext as a system area pointer. Replace the sigcontext accessors with foreign function calls that mask the complexity of the underlying sigcontext member access. * compiler/x86/float.lisp - Unconditionally define STORE-LONG-FLOAT. This function is used by the %SET-SAP-REF-LONG VOP that underlies the SAP-REF-LONG setter. * compiler/x86/sap.lisp - Unconditionally define %SET-SAP-REF-LONG. In the case where there is not a distinct LONG-FLOAT type, admit DOUBLE-FLOAT values instead. The x87 automatically widens values pushed onto stack. This mirrors the behavior of the SAP-REF-LONG VOP. * lisp/Darwin-os.c, lisp/Linux-os.c - Define functions to access sigcontext members of interest to Lisp. Delete the sc_reg function and replace its uses with os_sigcontext_reg which is more suitably typed. * lisp/FreeBSD-os.c - Define functions to access sigcontext members of interest to Lisp. We need to be careful about the SSE and non-SSE cases for retrieving x87 registers from the saved machine state. Define a low-level SIGFPE handler to intercept floating point traps and restore the cleared status word bits based on the signal code. Get rid of sc_reg for the reasons noted above. * lisp/Darwin-os.h, lisp/FreeBSD-os.h - Declare the restore_fpu function and define a specialized RESTORE_FPU macro. Remove the sc_reg prototype. * lisp/Linux-os.h - Remove the sc_reg prototype. * lisp/os.h - Add prototypes for the new os_sigcontext functions. * lisp/x86-lispregs.h - Redefine SC_REG and SC_PC to expand out to the new os_sigcontext functions. Redfine SC_SP to expand out to SC_REG. Eliminate all platform-specific defintions of SC_PC and SC_SP.
-
- Nov 16, 2007
-
-
cshapiro authored
a no-op on all other architectures. Remove SAVE_CONTEXT references in places that are not touched by a SPARC target.
-
- Nov 14, 2007
-
-
cshapiro authored
-
- Jul 31, 2007
-
-
cshapiro authored
errno accessors shared by all ports. Change the definition of UNIX:UNIX-ERRNO so that it always calls down to an accessor function.
-
- Jul 15, 2007
-
-
cshapiro authored
-
- Jul 06, 2007
-
-
cshapiro authored
-
- Jun 12, 2007
-
-
cshapiro authored
-
- Jan 31, 2006
-
-
rtoy authored
registers, in case they're pointing into our heap and what they're pointing to has moved. lisp/Darwin-os.c: o Add support for getting the LR and CTR registers from the context. lisp/gencgc.c: o Handle LR and CTR registers when scavenging the interrupt context. lisp/ppc-lispregs.h: o Define reg_LR and reg_CTR appropriately.
-
- Jan 18, 2006
-
-
rtoy authored
-
- Sep 15, 2005
-
-
rtoy authored
.indent.pro.
-