diff --git a/arch/x86/kernel/acpi/sleep.c b/arch/x86/kernel/acpi/sleep.c
index 69fd72a..1fde6ec 100644
--- a/arch/x86/kernel/acpi/sleep.c
+++ b/arch/x86/kernel/acpi/sleep.c
@@ -15,6 +15,7 @@
 
 #ifdef CONFIG_X86_32
 #include <asm/pgtable.h>
+#include <asm/cacheflush.h>
 #endif
 
 #include "realmode/wakeup.h"
@@ -149,6 +150,15 @@ void __init acpi_reserve_wakeup_memory(void)
 	memblock_x86_reserve_range(mem, mem + WAKEUP_SIZE, "ACPI WAKEUP");
 }
 
+#ifdef CONFIG_X86_32
+int __init acpi_configure_wakeup_memory(void)
+{
+	set_memory_x(acpi_realmode, (WAKEUP_SIZE) >> PAGE_SHIFT);
+	return 0;
+}
+arch_initcall(acpi_configure_wakeup_memory);
+#endif
+
 
 static int __init acpi_sleep_setup(char *str)
 {