From: Sam Ravnborg <sam@xxxxxxxxxxxx> Date: Mon, 8 Apr 2013 19:10:35 +0200 > I think not. > local_irq_disable writes 0 to the PIL register, > whereas the above code set the IE (Interrupt enable) bit to 0. > > So the implementations differs - and I think there is a good > reason for being so. > > But this is the part where I refer to that I am fooling around > in code that I do not understand. > I re-checked the SPARC V9 manual - but I did not within a few minutes > reading understand what is the difference between the twoo. Device interrupts arrive first as high-priority interrupt packets that are serviced by traps which are enabled only if PSTATE.IE is set. These trap handlers reschedule the interrupt quickly into a PIL levelled interrupt, whose delivery is covered by (%pil & PSTATE.IE) The sun4v sleeping code requires that we have PSTATE.IE clear over the cpu sleep hypervisor call. -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html