lkml.org 
[lkml]   [2009]   [May]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [Xen-devel] Re: [PATCH 06/16] xen: disable PAT
From
On 08/05/2009 15:50, "Alan Cox" <alan@lxorguk.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




\
 
 \ /
  Last update: 2009-05-09 10:17    [from the cache]
©2003-2011 Jasper Spaans