Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • rtoy's avatar
    ced8187e
    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
    History
    New pseudo-atomic scheme that looks more like sparc where we use the
    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.