Skip to content
  1. Sep 01, 2012
    • Raymond Toy's avatar
      Clean up RCS ids · eeab7066
      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.
      eeab7066
  2. Jan 28, 2012
  3. Jan 27, 2012
  4. Nov 04, 2011
  5. Nov 12, 2008
  6. Mar 19, 2008
  7. Jan 28, 2008
    • rtoy's avatar
      Add new interface to ieee754_rem_pio2. No longer need to pass in an · a459a234
      rtoy authored
      array. The new function returns 2 new output values.
      
      code/irrat.lisp:
      o Rename the original %ieee754-rem-pi/2 to %%ieee754-rem-pi-2.
      o Define the new %ieee754-rem-pi/2 function.  This returns the output
        as two output values instead of an array.
      o Use the new function.  We should have wrapped the original with
        without-gcing, but we don't have to anymore.
      
      lisp/ppc-arch.c:
      lisp/x86-arch.c:
      o Implement the new C interface to __ieee754_rem_pio2
      
      lisp/Config.linux_gencgc:
      o Use -ffloat-store when compiling e_rem_pio2.c and k_rem_pio2.c, just
        to be sure.
      a459a234
  8. Nov 16, 2007
  9. Jul 15, 2007
  10. Feb 19, 2006
  11. Jan 19, 2006
  12. Jan 18, 2006
  13. Dec 17, 2005
  14. Sep 15, 2005
  15. Apr 16, 2005
    • rtoy's avatar
      New pseudo-atomic scheme that looks more like sparc where we use the · ced8187e
      rtoy authored
      LSB of alloc-tn to denote pseudo-atomic interrupted.  We still need
      the flag-gn (hardwired to NL3) as a temporary though because we need
      somewhere to store the LSB of alloc-tn so we can trap if it's not
      zero.
      
      ppc/macros.lisp:
      o New pseudo-atomic macro implementing the change.
      
      lisp/ppc-arch.c:
      o Update arch_set_pseudo_atomic_interrupted to set the LSB of
        alloc-tn.
      o Catch the TWNEI reg_NL3, 0 instruction that denotes a deferred
        interrupt.
      
      lisp/ppc-assem.S:
      o Update assembly to code to set and test pseudo-atomic stuff like the
        pseudo-atomic macro does.
      ced8187e
  16. Mar 18, 2005
    • rtoy's avatar
      Port Helmut's trace/known-return to ppc. Fix some bugs along the way · cabad02a
      rtoy authored
      as well.
      
      lisp/breakpoint.c:
      o Enable function-end stuff in compute_offset for DARWIN too.
      o Lots of printf's so we can see what's happening on ppc since gdb is
        majorly broken there.
      
      lisp/ppc-assem.S:
      o Actually implement the function-end breakpoint template.  Basically
        copied the sparc version, with appropriate mods.
      
      lisp/ppc-arch.c:
      o Add TWLLEI_R0 macro to create the appropriate trap instructions that
        we need, and use as appropriate.
      o arch_install_breakpoint was actually broken and installed a twllgei
        instruction instead of twllei.
      o arch_do_displaced_inst was also broken.  It didn't install the
        after-break-point trap after the breakpoint trap.  And it also
        didn't continue running the code and returned instead.  That's
        wrong.
      o The trap_AfterBreakpoint case in sigill_handler was inserting the
        wrong instruction back.  (Probably too much copying of the sparc
        port.)
      cabad02a
  17. Feb 06, 2005
    • rtoy's avatar
      Initial support for linkage-tables on PPC/Darwin. This is a · 6a4fd3c3
      rtoy authored
      relatively straightforward port of the sparc version of
      linkage-tables.  Some refinements are probably still needed, as well
      as some testing.
      
      Use boot-2005-02-ppc-linkage.lisp to bootstrap this change from the
      2005-02 snapshot.
      
      * code/ppc-vm.lisp
        o Add appropriate FOREIGN-SYMBOL-ADDRESS-AUX and FIND-FOREIGN-SYMBOL
          functions for linkage-table.
      
      * compiler/generic/new-genesis.lisp
        o Basically do the same as the sparc port for linkage-tables.
        o need to extern-alien-name on the cold linkages since they C names
          depend on the backend conventions.
      
      * compiler/ppc/alloc.lisp
        o Load "undefined_tramp" appropriately for linkage-tables.
      
      * compiler/ppc/c-call.lisp
        o Define new vops (FOREIGN-SYMBOL-CODE-ADDRESS,
          FOREIGN-SYMBOL-DATA-ADDRESS) for linkage-tables so we can access
          correctly.
      
      * compiler/ppc/cell.lisp
        o Load "closure_tramp" appropriately for linkage-tables
        o Load "undefined_tramp" appropriately for linkage-tables
      
      * compiler/ppc/parms.lisp
        o Put the foreign linkage space start at the end of the static space
          to make it easier to bootstrap.  (We need already mapped memory.)
          We can move this later.
        o Correct TARGET-FOREIGN-LINKAGE-ENTRY-SIZE.
        o Add new static-symbol *linkage-table-data*
        o While were at it, add SPARE-9 and SPARE-0 static symbols so we
          have 10 spares.
      
      * lisp/Config.ppc_darwin
        o Add -DLINKAGE_TABLE to CFLAGS/ASFLAGS if we have linkage-table
          support.
      
      * lisp/Darwin-os.c
        o Add os_dlsym to support linkage-tables.  (This nees a little
          refactoring because we just copied the #defines for dlopen modes.)
      
      * lisp/os-common.c
        o The checking of the linkage tables that is done for sparc almost
          works for ppc, but not quite.  Implement one for ppc.
      
      * lisp/ppc-arch.c
        o Add PPC version of arch_make_jump_entry, arch_make_linkage_entry,
          arch_linkage_entry.
      
      * lisp/ppc-assem.S
        o Add lazy_resolve_linkage to support linkage-tables.  This needs
          some more work.
        o Add undefined_foreign_symbol_trap.  This probably needs work, and
          definitely needs testing.
      
      * lisp/ppc-validate.h
        o Define the start of the linkage space and size.
      6a4fd3c3
  18. Jul 13, 2004
    • pmai's avatar
      First merge of the C side of the OS X/Darwin port. Besides adding Darwin · eb44537a
      pmai authored
      versions of all the required things, this commit separates the
      interrupt handler proper (now interrupt_handle_now_handler) from the
      actual work-horse (interrupt_handle_now), which is now only ever called
      from the two interrupt handlers, interrupt_handle_now_handler and
      maybe_now_maybe_later.  This follows similar changes in SBCL, and is in
      fact needed in order to properly use sigreturn in signal handlers, as
      required to work around a problem with the G5.
      eb44537a