Forked from
cmucl / cmucl
Source project has a limited visibility.
-
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.
rtoy authoredLSB 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.