Messages in this thread | | | Date | Fri, 14 Dec 2007 13:06:45 -0800 | From | "Siddha, Suresh B" <> | Subject | Re: [RFC PATCH 02/12] PAT 64b: Basic PAT implementation |
| |
On Thu, Dec 13, 2007 at 08:48:45PM -0700, Eric W. Biederman wrote: > > + pat = PAT(0,WB) | PAT(1,WT) | PAT(2,UC_MINUS) | PAT(3,WC) | > > + PAT(4,WB) | PAT(5,WT) | PAT(6,UC_MINUS) | PAT(7,WC); > > I strongly object to this configuration. > > The caching modes of interest are: > PAT_WB write-back or a close as the MTRRs will allow > used for WC today. > PAT_UC completely uncachable not overridable by MTRRs > and what we use today for pgprot_noncached > PAT_WC what isn't available for current use. > > We should use: > > + pat = PAT(0,WB) | PAT(1,WT) | PAT(2,WC) | PAT(3,UC) | > > + PAT(4,WB) | PAT(5,WT) | PAT(6,WC) | PAT(7,UC); > > Changing the UC- which currently allows write-combining if the MTRRs specify it, > to WC. This grandfathers in all of our current usage and changes the one > PAT type that could today and in legacy mode specify WC to really specify WC.
That seems reasonable. But looking at mainline kernel, ioremap_nocache() actually uses UC_MINUS. Wonder why it is not using UC (like pgprot_noncached). I think it is ok to change ioremap_nocache() to use UC.
thanks, suresh
| |