[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] merge with xen-unstable.hg
# HG changeset patch # User Isaku Yamahata <yamahata@xxxxxxxxxxxxx> # Date 1227662629 -32400 # Node ID b3265ff6c61332dbb43660df43e5b0508b684ec7 # Parent 436816898c87fb6e86fff510ddce2df10afa4454 # Parent c2a018cdb45d7419aa068c2dc4894e06ec5097e3 merge with xen-unstable.hg --- xen/arch/x86/mm/guest_walk.c | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) diff -r 436816898c87 -r b3265ff6c613 xen/arch/x86/mm/guest_walk.c --- a/xen/arch/x86/mm/guest_walk.c Tue Nov 25 14:21:24 2008 +0900 +++ b/xen/arch/x86/mm/guest_walk.c Wed Nov 26 10:23:49 2008 +0900 @@ -193,15 +193,15 @@ guest_walk_tables(struct vcpu *v, unsign * access controls are enforced in the shadow l2e. */ int flags = (_PAGE_PRESENT|_PAGE_USER|_PAGE_RW| _PAGE_ACCESSED|_PAGE_DIRTY); - /* PSE level 2 entries use bit 12 for PAT; propagate it to bit 7 - * of the level 1. */ - if ( (guest_l2e_get_flags(gw->l2e) & _PAGE_PSE_PAT) ) - flags |= _PAGE_PAT; - /* Copy the cache-control bits to the l1 as well, because we - * can't represent PAT in the (non-PSE) shadow l2e. :( - * This could cause problems if a guest ever maps an area of - * memory with superpages using more than one caching mode. */ - flags |= guest_l2e_get_flags(gw->l2e) & (_PAGE_PWT|_PAGE_PCD); + /* Import cache-control bits. Note that _PAGE_PAT is actually + * _PAGE_PSE, and it is always set. We will clear it in case + * _PAGE_PSE_PAT (bit 12, i.e. first bit of gfn) is clear. */ + flags |= (guest_l2e_get_flags(gw->l2e) + & (_PAGE_PAT|_PAGE_PWT|_PAGE_PCD)); + if ( !(gfn_x(start) & 1) ) + /* _PAGE_PSE_PAT not set: remove _PAGE_PAT from flags. */ + flags &= ~_PAGE_PAT; + /* Increment the pfn by the right number of 4k pages. * The ~0x1 is to mask out the PAT bit mentioned above. */ start = _gfn((gfn_x(start) & ~0x1) + guest_l1_table_offset(va)); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |