diff options
Diffstat (limited to 'arch/sparc64/kernel/sun4v_ivec.S')
-rw-r--r-- | arch/sparc64/kernel/sun4v_ivec.S | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/sparc64/kernel/sun4v_ivec.S b/arch/sparc64/kernel/sun4v_ivec.S index 574bc248bca6..e3e9d4c1574b 100644 --- a/arch/sparc64/kernel/sun4v_ivec.S +++ b/arch/sparc64/kernel/sun4v_ivec.S | |||
@@ -101,14 +101,14 @@ sun4v_dev_mondo: | |||
101 | 101 | ||
102 | /* Get &ivector_table[IVEC] into %g4. */ | 102 | /* Get &ivector_table[IVEC] into %g4. */ |
103 | sethi %hi(ivector_table), %g4 | 103 | sethi %hi(ivector_table), %g4 |
104 | sllx %g3, 3, %g3 | 104 | sllx %g3, 4, %g3 |
105 | or %g4, %lo(ivector_table), %g4 | 105 | or %g4, %lo(ivector_table), %g4 |
106 | add %g4, %g3, %g4 | 106 | add %g4, %g3, %g4 |
107 | 107 | ||
108 | /* Insert ivector_table[] entry into __irq_work[] queue. */ | 108 | /* Insert ivector_table[] entry into __irq_work[] queue. */ |
109 | lduw [%g1], %g2 /* g2 = irq_work(cpu) */ | 109 | ldx [%g1], %g2 /* g2 = irq_work(cpu) */ |
110 | stw %g2, [%g4 + 0x00] /* bucket->irq_chain = g2 */ | 110 | stx %g2, [%g4 + 0x00] /* bucket->irq_chain = g2 */ |
111 | stw %g4, [%g1] /* irq_work(cpu) = bucket */ | 111 | stx %g4, [%g1] /* irq_work(cpu) = bucket */ |
112 | 112 | ||
113 | /* Signal the interrupt by setting (1 << pil) in %softint. */ | 113 | /* Signal the interrupt by setting (1 << pil) in %softint. */ |
114 | wr %g0, 1 << PIL_DEVICE_IRQ, %set_softint | 114 | wr %g0, 1 << PIL_DEVICE_IRQ, %set_softint |