[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <C62AF788.AAE1%keir.fraser@eu.citrix.com>
Date: Sat, 09 May 2009 09:04:08 +0100
From: Keir Fraser <keir.fraser@...citrix.com>
To: Alan Cox <alan@...rguk.ukuu.org.uk>,
Ian Campbell <Ian.Campbell@...citrix.com>
CC: Jeremy Fitzhardinge <jeremy@...p.org>,
the arch/x86 maintainers <x86@...nel.org>,
Suresh Siddha <suresh.b.siddha@...el.com>,
<Linux@...r.kernel.org>,
"Pallipadi, Venkatesh" <venkatesh.pallipadi@...el.com>,
Kernel Mailing List <linux-kernel@...r.kernel.org>,
Jeremy Fitzhardinge <Jeremy.Fitzhardinge@...rix.com>,
Xen-devel <xen-devel@...ts.xensource.com>,
Jan Beulich <jbeulich@...ell.com>,
"H. Peter Anvin" <hpa@...or.com>, Ingo Molnar <mingo@...e.hu>,
Lu <yinghai@...nel.org>, Thomas Gleixner <tglx@...utronix.de>,
Arjan van de Ven <arjan@...radead.org>
Subject: Re: [Xen-devel] Re: [PATCH 06/16] xen: disable PAT
On 08/05/2009 15:50, "Alan Cox" <alan@...rguk.ukuu.org.uk> wrote:
>> Roughly speaking the kernel needs to cope with different values written
>> to MSR_IA32_CR_PAT than the single hard coded value it would write
>> itself if given the chance. Essentially _PAGE_CACHE_* need to become
>> dynamic (or I guess we could change the native layout to match Xen's, I
>> don't know why native differs from the initial state, I guess just to
>> avoid using the PAT bit for some reason.
>
> Because it is required for some processor variants due to errata. This is
> also why the BIOS has them programmed as a mirror between 0-3 and 4-7.
>
> I don't think changing Linux here is the right thing to do - if anything
> Xen probably needs to change.
My suggestion is that Xen changes its PAT[1] from WT to WC. AFAIK only
suse's Linux port is currently using Xen's PAT support, and it does not
actually use the WT cache attribute. Then Xen's PAT[0-3] would match what
Linux expects, and Linux apparently does not risk using PAT[4-7] because of
processor errata so their values are irrelevant. Linux can check that it is
running on Xen with suitable PAT setup by reading MSR_IA32_CR_PAT and
checking PAT[0-3], and only enable PAT usage in case of a match.
-- Keir
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists