* [PATCH RESEND] xen: mask _PAGE_PCD from ptes
@ 2007-11-15 21:49 Jeremy Fitzhardinge
0 siblings, 0 replies; only message in thread
From: Jeremy Fitzhardinge @ 2007-11-15 21:49 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Linux Kernel Mailing List, Andrew Morton
_PAGE_PCD maps a page with caching disabled, which is typically used
for mapping harware registers. Xen never allows it to be set on a
mapping, and unprivileged guests never need it since they can't see
the real underlying hardware. However, some uncached mappings are
made early when probing the (non-existent) APIC, and its OK to mask
off the PCD flag in these cases.
This became necessary because Xen started checking for this bit, rather
than silently masking it off.
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
---
arch/x86/xen/mmu.c | 4 ++++
1 file changed, 4 insertions(+)
===================================================================
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -244,6 +244,8 @@ pte_t xen_make_pte(unsigned long long pt
if (pte & 1)
pte = phys_to_machine(XPADDR(pte)).maddr;
+ pte &= ~_PAGE_PCD;
+
return (pte_t){ pte, pte >> 32 };
}
@@ -290,6 +292,8 @@ pte_t xen_make_pte(unsigned long pte)
{
if (pte & _PAGE_PRESENT)
pte = phys_to_machine(XPADDR(pte)).maddr;
+
+ pte &= ~_PAGE_PCD;
return (pte_t){ pte };
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2007-11-15 21:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-15 21:49 [PATCH RESEND] xen: mask _PAGE_PCD from ptes Jeremy Fitzhardinge
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.