/[cmucl]/src/lisp/x86-lispregs.h
ViewVC logotype

Log of /src/lisp/x86-lispregs.h

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Tag:

Revision 1.16 - (view) (annotate) - [select for diffs]
Fri Dec 24 06:01:34 2010 UTC (3 years, 3 months ago) by rtoy
Branch: MAIN
CVS Tags: GIT-CONVERSION, HEAD, snapshot-2011-01, snapshot-2011-02, snapshot-2011-03, snapshot-2011-04, snapshot-2011-06, snapshot-2011-07, snapshot-2011-09
Changes since 1.15: +7 -4 lines
Diff to previous 1.15
Document why SC_EFLAGS doesn't seem to work on Solaris/x86.

Revision 1.15 - (view) (annotate) - [select for diffs]
Thu Dec 23 22:56:26 2010 UTC (3 years, 3 months ago) by rtoy
Branch: MAIN
Changes since 1.14: +9 -1 lines
Diff to previous 1.14
Add implementation of SC_EFLAGS for Solaris/x86, but disable for now
because it makes breakpoints not work for some reason.

Revision 1.14 - (view) (annotate) - [select for diffs]
Thu Dec 23 22:23:48 2010 UTC (3 years, 3 months ago) by rtoy
Branch: MAIN
Changes since 1.13: +3 -1 lines
Diff to previous 1.13
Fix tracing for NetBSD.  Function end breakpoints didn't seem to be
working when tracing, for example

(declaim (ftype (function (double-float) double-float) fact))
(defun fact (x)
  (declare (double-float x))
  (if (= x 1)
      1d0
      (* x (fact (1- x)))))


lisp/x86-lispregs.h
o NetBSD has access to the eflags register

lisp/x86-arch.c:
o Add some debugging prints (disabled).
o The stuff near line 262 about pc-9 pointing to the pushf instruction
  should be conditioned on SC_EFLAGS because that's what decides
  whether we insert the pushf instructions for single stepping.

Revision 1.12.6.1 - (view) (annotate) - [select for diffs]
Wed Mar 18 15:37:29 2009 UTC (5 years, 1 month ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-snapshot-2009-05, unicode-snapshot-2009-06, unicode-utf16-extfmt-2009-03-27, unicode-utf16-extfmt-2009-06-11
Changes since 1.12: +7 -1 lines
Diff to previous 1.12 , to next main 1.16
Sync to utf16 branch, tag unicode-utf16-sync-label-2009-03-16.

Revision 1.12.4.1 - (view) (annotate) - [select for diffs]
Mon Mar 16 21:10:56 2009 UTC (5 years, 1 month ago) by rtoy
Branch: unicode-utf16-branch
CVS Tags: unicode-utf16-char-support-2009-03-25, unicode-utf16-char-support-2009-03-26, unicode-utf16-sync-label-2009-03-16
Changes since 1.12: +7 -1 lines
Diff to previous 1.12 , to next main 1.16
Sync to CVS HEAD, tag label-2009-03-16.

But don't sync Config.FreeBSD_gencgc, Config.x86_freebsd,
FreeBSD-os.c, and FreeBSD-os.h.  Let Alex sync those later.

The result seems to work as expected on Solaris and x86/linux.
Darwin (ppc or x86) untested.

Revision 1.13 - (view) (annotate) - [select for diffs]
Mon Dec 29 14:40:34 2008 UTC (5 years, 3 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, RELEASE_20a, RELEASE_20b, amd64-dd-start, cross-sol-x86-2010-12-20, cross-sol-x86-base, cross-sol-x86-merged, cross-sparc-branch-base, intl-2-branch-base, intl-branch-2010-03-18-1300, intl-branch-base, intl-branch-working-2010-02-11-1000, intl-branch-working-2010-02-19-1000, label-2009-03-16, label-2009-03-25, merge-with-19f, merged-unicode-utf16-extfmt-2009-06-11, portable-clx-base, portable-clx-import-2009-06-16, post-merge-intl-branch, pre-merge-intl-branch, release-19f-base, release-19f-pre1, release-20a-base, release-20a-pre1, release-20b-pre1, release-20b-pre2, snapshot-2009-01, snapshot-2009-02, snapshot-2009-04, snapshot-2009-05, snapshot-2009-07, snapshot-2009-08, snapshot-2009-11, snapshot-2009-12, snapshot-2010-01, snapshot-2010-02, snapshot-2010-03, snapshot-2010-04, snapshot-2010-05, snapshot-2010-06, snapshot-2010-07, snapshot-2010-08, snapshot-2010-11, snapshot-2010-12, sparc-tramp-assem-2010-07-19, sparc-tramp-assem-base, unicode-string-buffer-base, unicode-string-buffer-impl-base
Branch point for: RELEASE-19F-BRANCH, RELEASE-20A-BRANCH, RELEASE-20B-BRANCH, amd64-dd-branch, cross-sol-x86-branch, cross-sparc-branch, intl-2-branch, intl-branch, portable-clx-branch, sparc-tramp-assem-branch, unicode-string-buffer-branch, unicode-string-buffer-impl-branch
Changes since 1.12: +7 -1 lines
Diff to previous 1.12
Support building and running on OSX 10.4 (Tiger).

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.

Revision 1.12 - (view) (annotate) - [select for diffs]
Thu Jan 3 11:41:54 2008 UTC (6 years, 3 months ago) by cshapiro
Branch: MAIN
CVS Tags: merge-sse2-packed, release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, snapshot-2008-01, snapshot-2008-02, snapshot-2008-03, snapshot-2008-04, snapshot-2008-05, snapshot-2008-06, snapshot-2008-07, snapshot-2008-08, snapshot-2008-09, snapshot-2008-10, snapshot-2008-11, snapshot-2008-12, sse2-base, sse2-checkpoint-2008-10-01, sse2-merge-with-2008-10, sse2-merge-with-2008-11, sse2-packed-2008-11-12, sse2-packed-base, unicode-utf16-base, unicode-utf16-extfmts-pre-sync-2008-11, unicode-utf16-extfmts-sync-2008-12, unicode-utf16-string-support, unicode-utf16-sync-2008-07, unicode-utf16-sync-2008-09, unicode-utf16-sync-2008-11, unicode-utf16-sync-2008-12
Branch point for: release-19e-branch, sse2-branch, sse2-packed-branch, unicode-utf16-branch, unicode-utf16-extfmt-branch
Changes since 1.11: +5 -13 lines
Diff to previous 1.11
Switch the FreeBSD port to use the common floating point trap handling
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.

Revision 1.11 - (view) (annotate) - [select for diffs]
Sat Dec 15 15:26:29 2007 UTC (6 years, 4 months ago) by rtoy
Branch: MAIN
Changes since 1.10: +3 -1 lines
Diff to previous 1.10
Abstract out the access to the eflags register in a sigcontext.

x86-lispregs.h:
o Add SC_EFLAGS macro to access the eflags register (currently only
  for linux and darwin).

x86-arch.c:
o Use the SC_EFLAGS macro to enable/disable single-stepping.
o If SC_EFLAGS is not defined, use the single-step helper stuff.

Revision 1.10 - (view) (annotate) - [select for diffs]
Wed Nov 14 05:44:00 2007 UTC (6 years, 5 months ago) by cshapiro
Branch: MAIN
CVS Tags: snapshot-2007-12
Changes since 1.9: +2 -2 lines
Diff to previous 1.9
Update symbol names so we can compile without undefining __DARWIN_UNIX03.

Revision 1.9 - (view) (annotate) - [select for diffs]
Wed Jul 25 10:23:54 2007 UTC (6 years, 8 months ago) by cshapiro
Branch: MAIN
CVS Tags: pre-telent-clx, snapshot-2007-08, snapshot-2007-09, snapshot-2007-10, snapshot-2007-11
Changes since 1.8: +2 -2 lines
Diff to previous 1.8
Use sa_sigaction signal handlers on Linux.  The glibc definition of
sigset_t is different from the one used in the Linux kernel.  This means
that we cannot make assignments of sigset_t objects without corrupting
memory.  To work around this problem we update uc_sigmask differently
on Linux than on other systems.  Also, remove x87 control word updates
since the x87 is setup correctly inside call_into_lisp.

Revision 1.8 - (view) (annotate) - [select for diffs]
Wed Jul 18 09:45:03 2007 UTC (6 years, 9 months ago) by cshapiro
Branch: MAIN
Changes since 1.7: +5 -2 lines
Diff to previous 1.7
Restore macro definitions needed by Linux.

Revision 1.7 - (view) (annotate) - [select for diffs]
Sun Jul 15 09:24:57 2007 UTC (6 years, 9 months ago) by cshapiro
Branch: MAIN
Changes since 1.6: +3 -3 lines
Diff to previous 1.6
Use POSIX signals on FreeBSD.

Revision 1.6 - (view) (annotate) - [select for diffs]
Fri Jul 6 08:04:39 2007 UTC (6 years, 9 months ago) by cshapiro
Branch: MAIN
Changes since 1.5: +6 -3 lines
Diff to previous 1.5
Import x86 Darwin port.

Revision 1.5 - (view) (annotate) - [select for diffs]
Tue Nov 7 11:24:12 2006 UTC (7 years, 5 months ago) by cshapiro
Branch: MAIN
CVS Tags: snapshot-2006-12, snapshot-2007-01, snapshot-2007-02, snapshot-2007-03, snapshot-2007-04, snapshot-2007-05, snapshot-2007-06, snapshot-2007-07
Changes since 1.4: +3 -2 lines
Diff to previous 1.4
Make SC_REG expand out to an lvalue on the x86 and AMD64.  Define a
reg_NARGS macro on these targets and use SC_REG to replace open-coded
assignments to platform specific sigcontext members in interrupt.c and
os-common.c.  This code could be simplified further by merging the x86
and AMD64 cases into the general case.

Revision 1.4 - (view) (annotate) - [select for diffs]
Thu Jan 13 19:55:01 2005 UTC (9 years, 3 months ago) by fgilham
Branch: MAIN
CVS Tags: double-double-array-base, double-double-array-checkpoint, double-double-base, double-double-init-%make-sparc, double-double-init-checkpoint-1, double-double-init-ppc, double-double-init-sparc, double-double-init-sparc-2, double-double-init-x86, double-double-irrat-end, double-double-irrat-start, double-double-reader-base, double-double-reader-checkpoint-1, double-double-sparc-checkpoint-1, ppc_gencgc_snap_2005-05-14, ppc_gencgc_snap_2005-12-17, ppc_gencgc_snap_2006-01-06, release-19b-base, release-19b-pre1, release-19b-pre2, release-19c, release-19c-base, release-19c-pre1, release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, snapshot-2005-02, snapshot-2005-03, snapshot-2005-04, snapshot-2005-05, snapshot-2005-06, snapshot-2005-07, snapshot-2005-08, snapshot-2005-09, snapshot-2005-10, snapshot-2005-11, snapshot-2005-12, snapshot-2006-01, snapshot-2006-02, snapshot-2006-03, snapshot-2006-04, snapshot-2006-05, snapshot-2006-06, snapshot-2006-07, snapshot-2006-08, snapshot-2006-09, snapshot-2006-10, snapshot-2006-11
Branch point for: double-double-array-branch, double-double-branch, double-double-reader-branch, ppc_gencgc_branch, release-19b-branch, release-19c-branch, release-19d-branch
Changes since 1.3: +5 -1 lines
Diff to previous 1.3
Add #ifndef _FOO_H_ etc. lines to all .h files.  Moved a few lines in
lisp.c into the correct <foo>-os.h files.

Revision 1.3 - (view) (annotate) - [select for diffs]
Wed Jul 7 15:03:12 2004 UTC (9 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: prm-before-macosx-merge-tag, snapshot-2004-08, snapshot-2004-09, snapshot-2004-10, snapshot-2004-11, snapshot-2004-12, snapshot-2005-01
Changes since 1.2: +8 -1 lines
Diff to previous 1.2
Changes from Robert Swindells to support NetBSD.

Revision 1.1.2.2 - (view) (annotate) - [select for diffs]
Tue May 23 16:38:33 2000 UTC (13 years, 10 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18c, RELEASE_18d
Changes since 1.1.2.1: +0 -0 lines
Diff to previous 1.1.2.1 , to branch point 1.1 , to next main 1.16
This set of revisions brings the RELENG_18 branch up to HEAD in preparation
for an 18c release.

Revision 1.1.2.1 - (view) (annotate) - [select for diffs]
Tue Jun 23 11:25:11 1998 UTC (15 years, 9 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18b
Changes since 1.1: +2 -2 lines
Diff to previous 1.1
This (huge) revision brings the RELENG_18 branch up to the current HEAD.
Note code/unix-glib2.lisp not yet included -- not sure it is ready to go.

Revision 1.2 - (view) (annotate) - [select for diffs]
Fri May 1 01:21:41 1998 UTC (15 years, 11 months ago) by dtc
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE, amd64-merge-start, cold-pcl-base, dynamic-extent-base, lisp-executable-base, mod-arith-base, release-18e, release-18e-base, release-18e-pre1, release-18e-pre2, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, remove_negative_zero_not_zero, snapshot-2003-10, snapshot-2003-11, snapshot-2003-12, snapshot-2004-04, snapshot-2004-05, snapshot-2004-06, snapshot-2004-07, sparc_gencgc, sparc_gencgc_merge
Branch point for: UNICODE-BRANCH, cold-pcl, dynamic-extent, lisp-executable, mod-arith-branch, release-18e-branch, release-19a-branch, sparc_gencgc_branch
Changes since 1.1: +2 -2 lines
Diff to previous 1.1
Update for the linux port from Peter VanEynde, adds preliminary
support for glibc2.

Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Jan 21 00:28:13 1997 UTC (17 years, 3 months ago) by ram
Branch: MAIN
CVS Tags: RELEASE_18a
Branch point for: RELENG_18
source kit 1.03.7

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5