44x/bamboo_defconfig

For the mfmsr, that's because mfmsr is defined as 'asm volatile'. Is that correct ? Reading MSR doesn't have any side effects as far as I know, should we remove the volatile ?

For the wrteei, that's because we are calling __hard_EE_RI_disable() after local_irq_save(). On booke those two fonctions do exactly the same because RI doesn't exist. Could we replace that by a __hard_RI_disable() that would be a nop on booke ?


00000364 <interrupt_exit_kernel_prepare>:
 364:   81 23 00 84     lwz     r9,132(r3)
 368:   55 29 04 62     rlwinm  r9,r9,0,17,17
 36c:   0f 09 00 00     twnei   r9,0
 370:   81 22 00 4c     lwz     r9,76(r2)
 374:   75 23 00 01     andis.  r3,r9,1
 378:   40 82 00 14     bne     38c <interrupt_exit_kernel_prepare+0x28>
 37c:   7d 20 00 a6     mfmsr   r9
 380:   7c 00 01 46     wrteei  0
 384:   7c 00 01 46     wrteei  0
 388:   4e 80 00 20     blr
 38c:   38 e2 00 4c     addi    r7,r2,76
 390:   3d 20 00 01     lis     r9,1
 394:   7c c0 38 28     lwarx   r6,0,r7
 398:   7c c6 48 78     andc    r6,r6,r9
 39c:   7c c0 39 2d     stwcx.  r6,0,r7
 3a0:   40 a2 ff f4     bne     394 <interrupt_exit_kernel_prepare+0x30>
 3a4:   38 60 00 01     li      r3,1
 3a8:   4b ff ff d4     b       37c <interrupt_exit_kernel_prepare+0x18>

Reply via email to