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. Nov 04, 2011
  3. Sep 24, 2011
    • Raymond Toy's avatar
      Fix Trac ticket:46. · 44a8f0c7
      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.
      44a8f0c7
  4. Nov 30, 2006
  5. Nov 02, 2006
    • rtoy's avatar
      This set of changes removes the constraint of the READ-ONLY space · 5568e737
      rtoy authored
      having to be in low memory.  This is done be replacing the absolute
      branch instructions with equivalents that can branch anywhere.  This
      adds a few extra instructions everywhere.  Oh well.
      
      We also move the READ-ONLY space to a different location so we don't
      need the linker hacks and the darwinadjuster hacks.
      
      A basic cross-compile is necessary.  Use boot-2006-11-1-cross-ppc.lisp
      for this.
      
      assembly/ppc/assem-rtns.lisp:
      compiler/ppc/call.lisp:
      o Replace BA instruction with BCTR.
      
      assembly/ppc/support.lisp:
      o Replace BLA instruction with BCTRL.
      o Replace BA instruction with BCTR.
      
      compiler/ppc/parms.lisp:
      lisp/ppc-validate.h:
      o Move the read-only space to #x04000000 instead of #x01000000.  (This
        address appears to be free.)
      
      lisp/Config.ppc_darwin:
      o Comment out the linker flags for the CMUCLRO space.
      o Don't run the darwin-lispadjuster program.  (We still build
        darwin-lispadjuster for now, but that should be removed eventually.)
      5568e737
  6. Jan 18, 2006
  7. Sep 15, 2005
  8. 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
  9. Jan 13, 2005
  10. Oct 20, 2004
    • rtoy's avatar
      Move the static space location for ppc/darwin. For some reason, OS X · 0b95c95e
      rtoy authored
      10.3 was putting some malloc'ed areas in the old (bigger) static
      space, which causes cmucl not to run.  Moving the space to 0x10000000
      makes it no longer overlap.  I don't understand the reason for this.
      OS X 10.2 doesn't have this problem.
      
      Use boot-2004-10-1-ppc.lisp to cross-compile this change.
      0b95c95e
  11. Oct 16, 2004
  12. 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