diff --git a/arch/x86/mm/ioremap_32.c b/arch/x86/mm/ioremap_32.c
index f8e6c4709cc2b43720dad5c608daa222e8a5e75e..18757f058bdaec8844570f0864ea3b3131c6585d 100644
--- a/arch/x86/mm/ioremap_32.c
+++ b/arch/x86/mm/ioremap_32.c
@@ -67,8 +67,7 @@ void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned l
 				return NULL;
 	}
 
-	prot = __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY
-			| _PAGE_ACCESSED | flags);
+	prot = MAKE_GLOBAL(__PAGE_KERNEL | flags);
 
 	/*
 	 * Mappings have to be page-aligned