44x _tlbie() ME/CE/DE disabling unnecessary?

Josh Boyer jwboyer at linux.vnet.ibm.com
Fri Oct 31 07:36:45 EST 2008


On Fri, 31 Oct 2008 07:14:00 +1100
Benjamin Herrenschmidt <benh at kernel.crashing.org> wrote:

> On Thu, 2008-10-30 at 13:04 -0500, Hollis Blanchard wrote:
> > 
> > I don't think it's necessary at all to disable ME/CE/DE inside
> > _tlbie() on 440, because the interrupt handlers for those types save
> > and restore MMUCR (they're all the same code path; see
> > mcheck_transfer_to_handler in entry_32.S).
> 
> This was written before the saving of MMUCR was added I think.

I was thinking that but git was being annoying.

> > However, I think EE does need to be disabled, since the normal EE
> > handler doesn't deal with MMUCR. So instead of all these MSR
> > manipulations, I think a simple wrteei 0/1 pair should do the trick?
> > Or maybe mfmsr/wrteei/wrtee, in case _tlbie() happens to be called
> > with interrupts disabled already.
> 
> Yes.

Agreed.  Hollis and I had this discussion on IRC and I pointed out that
the patch originally just started with wrteei's.

(And aren't you supposed to be on vacation...)

josh



More information about the Linuxppc-dev mailing list