Author: wmb Date: Fri Sep 30 02:11:51 2011 New Revision: 2551 URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2551
Log: ARM XO-1.75 - Changed disable-irq and enable-irq to affect only the routing for IRQ1 (the IRQ for the PJ4 core), leaving the enables for IRQ0 (SP IRQ) and IRQ2 (PJ4 FIQ) unchanged.
Modified: cpu/arm/mmp2/irq.fth
Modified: cpu/arm/mmp2/irq.fth ============================================================================== --- cpu/arm/mmp2/irq.fth Fri Sep 30 02:09:08 2011 (r2550) +++ cpu/arm/mmp2/irq.fth Fri Sep 30 02:11:51 2011 (r2551) @@ -12,12 +12,15 @@ : ic@ ( offset -- l ) base-adr + rl@ ; : ic! ( l offset -- ) base-adr + rl! ;
+: intr@ ( level -- routing ) /l* ic@ ; +: intr! ( routing level -- ) /l* ic! ; + : block-irqs ( -- ) 1 h# 110 ic! ; : unblock-irqs ( -- ) 0 h# 110 ic! ;
-: irq-enabled? ( level -- flag ) /l* ic@ h# 20 and 0<> ; -: enable-irq ( level -- ) h# 21 swap /l* ic! ; \ Enable for IRQ1 -: disable-irq ( level -- ) 0 swap /l* ic! ; +: irq-enabled? ( level -- flag ) intr@ h# 20 and 0<> ; +: enable-irq ( level -- ) dup intr@ h# 20 or swap intr! ; \ Enable for IRQ1 +: disable-irq ( level -- ) dup intr@ h# 20 invert and swap intr! ;
: run-interrupt ( -- ) h# 104 ic@ dup h# 40 and if ( reg )