Subject: Re: use of BAT before taking over the MMU

From: Benjamin Herrenschmidt <[email-masked]>
Date: Tue, 05 Oct 2010 19:10:01 +1100

On Mon, 2010-10-04 at 06:25 +0200, Segher Boessenkool wrote:
> > On the prom boot path, with the firmware supposed to
> > be managing the MMU, there is a case where:
> >
> > 1. Linux changes some BAT registers.
> > 2. Bits 0x00000070 are/become set in the MSR.
> > 3. Linux takes an MMU fault.
> > 4. The firmware handles it.
> >
> > AFAIK, you can't expect the firmware to leave the BAT alone.
> > If the firmware provides mapping services by using the BAT
> > as a software-filled TLB, Linux's BAT changes may be lost.
> >
> > You also can't expect that your BAT changes will not conflict
> > with mappings that the firmware uses for itself. The firmware
> > might write to your new BAT mapping, relying on those virtual
> > addresses to be something else entirely.
> 
> The PowerPC OF binding requires the firmware to save and restore
> the BATs on entry to / exit from the firmware.

I'm not sure he was talking about OF here... In any case, we don't muck
around with BATs until after we're done with OF anyways.

Cheers,
Ben.