Messages in this thread | | | Date | Thu, 17 Jan 2008 23:15:05 +0100 | From | Ingo Molnar <> | Subject | Re: [patch 0/4] x86: PAT followup - Incremental changes and bug fixes |
| |
* Andreas Herrmann3 <andreas.herrmann3@AMD.COM> wrote:
> On Thu, Jan 17, 2008 at 10:42:09PM +0100, Ingo Molnar wrote: > > > > * Siddha, Suresh B <suresh.b.siddha@intel.com> wrote: > > > > > On Thu, Jan 17, 2008 at 10:13:08PM +0100, Ingo Molnar wrote: > > > > but in general we must be robust enough in this case and just degrade > > > > any overlapping page to UC (and emit a warning perhaps) - instead of > > > > failing the ioremap and thus failing the driver (and the bootup). > > > > > > But then, this will cause an attribute conflicit. Old one was > > > specifying WB in PAT (ioremap with noflags) and the new ioremap > > > specifies UC. > > > > we could fix up all aliases of that page as well and degrade them to UC? > > Yes, we must fix all aliases or reject the conflicting mapping. But > fixing all aliases might not be that easy. (I've just seen a panic > when using your patch ;-(
yes, indeed my patch is bad if you have PAT enabled: conflicting cache attributes might be present. I'll go with your patch for now.
should we perhaps do UC by default for early_ioremap() as well? Normally those mappings are only temporary - but in case of a leak they might hang around in the pagetables and the CPU might stumble upon them. Also, should early_iounmap() do a wbinvd() [/clflush()] call as well, to be safe?
Ingo
| |