[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] x86/mm: fix 32-bit p2m type lookups



# HG changeset patch
# User Tim Deegan <Tim.Deegan@xxxxxxxxxx>
# Date 1310121863 -3600
# Node ID d80088d2c12f484f2f349a1c4d6e34ecfddf25e9
# Parent  0c17d96922d47d56de3bf83aaf2bcd412c4afc09
x86/mm: fix 32-bit p2m type lookups

23300:4b0692880dfa moved a check for 0 into p2m_flags_to_type()
and removed it from its caller, but the new check is only
compiled in 64-bit builds.

Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
---


diff -r 0c17d96922d4 -r d80088d2c12f xen/include/asm-x86/p2m.h
--- a/xen/include/asm-x86/p2m.h Fri Jul 08 08:42:30 2011 +0100
+++ b/xen/include/asm-x86/p2m.h Fri Jul 08 11:44:23 2011 +0100
@@ -597,12 +597,11 @@
 /* Extract the type from the PTE flags that store it */
 static inline p2m_type_t p2m_flags_to_type(unsigned long flags)
 {
-    /* Type is stored in the "available" bits */
-#ifdef __x86_64__
     /* For AMD IOMMUs we need to use type 0 for plain RAM, but we need
      * to make sure that an entirely empty PTE doesn't have RAM type */
     if ( flags == 0 ) 
         return p2m_invalid;
+#ifdef __x86_64__
     /* AMD IOMMUs use bits 9-11 to encode next io page level and bits
      * 59-62 for iommu flags so we can't use them to store p2m type info. */
     return (flags >> 12) & 0x7f;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.