|
@@ -41,7 +41,7 @@
|
|
*/
|
|
*/
|
|
static inline int uncached_access(struct file *file, unsigned long addr)
|
|
static inline int uncached_access(struct file *file, unsigned long addr)
|
|
{
|
|
{
|
|
-#if defined(__i386__)
|
|
|
|
|
|
+#if defined(__i386__) && !defined(__arch_um__)
|
|
/*
|
|
/*
|
|
* On the PPro and successors, the MTRRs are used to set
|
|
* On the PPro and successors, the MTRRs are used to set
|
|
* memory types for physical addresses outside main memory,
|
|
* memory types for physical addresses outside main memory,
|
|
@@ -57,7 +57,7 @@ static inline int uncached_access(struct file *file, unsigned long addr)
|
|
test_bit(X86_FEATURE_CYRIX_ARR, boot_cpu_data.x86_capability) ||
|
|
test_bit(X86_FEATURE_CYRIX_ARR, boot_cpu_data.x86_capability) ||
|
|
test_bit(X86_FEATURE_CENTAUR_MCR, boot_cpu_data.x86_capability) )
|
|
test_bit(X86_FEATURE_CENTAUR_MCR, boot_cpu_data.x86_capability) )
|
|
&& addr >= __pa(high_memory);
|
|
&& addr >= __pa(high_memory);
|
|
-#elif defined(__x86_64__)
|
|
|
|
|
|
+#elif defined(__x86_64__) && !defined(__arch_um__)
|
|
/*
|
|
/*
|
|
* This is broken because it can generate memory type aliases,
|
|
* This is broken because it can generate memory type aliases,
|
|
* which can cause cache corruptions
|
|
* which can cause cache corruptions
|