]> xenbits.xensource.com Git - people/aperard/linux-chromebook.git/commitdiff
HACK! arm: set v7 translation table entries as uncachable
authorDavid Vrabel <david.vrabel@citrix.com>
Mon, 17 Dec 2012 12:30:58 +0000 (12:30 +0000)
committerAnthony PERARD <anthony.perard@citrix.com>
Wed, 27 Feb 2013 12:05:36 +0000 (12:05 +0000)
There appears to be a bug in the model where the MMU does not
correctly see updates to translation table entries if they are marked
as cachable.  This bug only happens when running under the Xen
hypervisor.

As a workaround, mark the entries as uncachable.  This decreases
performance.

[ijc - rebase, applying to both proc-v7-{2,3}level.S]

arch/arm/mm/proc-v7-2level.S
arch/arm/mm/proc-v7-3level.S

index c663b2eb1dc453f3b9566bd38339caf08b22ef42..0c8eeb8664a1ccfb4d5264f3ddd7124056c56551 100644 (file)
 #define TTB_IRGN_WB    ((1 << 0) | (1 << 6))
 
 /* PTWs cacheable, inner WB not shareable, outer WB not shareable */
-#define TTB_FLAGS_UP   TTB_IRGN_WB|TTB_RGN_OC_WB
+#define TTB_FLAGS_UP   TTB_IRGN_NC|TTB_RGN_NC
 #define PMD_FLAGS_UP   PMD_SECT_WB
 
 /* PTWs cacheable, inner WBWA shareable, outer WBWA not shareable */
-#define TTB_FLAGS_SMP  TTB_IRGN_WBWA|TTB_S|TTB_NOS|TTB_RGN_OC_WBWA
+#define TTB_FLAGS_SMP  TTB_IRGN_NC|TTB_S|TTB_NOS|TTB_RGN_NC
 #define PMD_FLAGS_SMP  PMD_SECT_WBWA|PMD_SECT_S
 
 /*
index 8de0f1dd1549463e6dae83a50509b6d0f071de4b..5c8dd096f597542325957eff9b343afdb9965a4c 100644 (file)
 #define TTB_EAE                (1 << 31)
 
 /* PTWs cacheable, inner WB not shareable, outer WB not shareable */
-#define TTB_FLAGS_UP   (TTB_IRGN_WB|TTB_RGN_OC_WB)
+#define TTB_FLAGS_UP   (TTB_IRGN_NC|TTB_RGN_NC)
 #define PMD_FLAGS_UP   (PMD_SECT_WB)
 
 /* PTWs cacheable, inner WBWA shareable, outer WBWA not shareable */
-#define TTB_FLAGS_SMP  (TTB_IRGN_WBWA|TTB_S|TTB_RGN_OC_WBWA)
+#define TTB_FLAGS_SMP  (TTB_IRGN_NC|TTB_S|TTB_RGN_NC)
 #define PMD_FLAGS_SMP  (PMD_SECT_WBWA|PMD_SECT_S)
 
 /*