|
@@ -125,20 +125,23 @@ int set_memory_x(unsigned long addr, int numpages)
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(set_memory_x);
|
|
|
|
|
|
-#ifdef CONFIG_DEBUG_PAGEALLOC
|
|
|
-void __kernel_map_pages(struct page *page, int numpages, int enable)
|
|
|
+int set_memory_valid(unsigned long addr, int numpages, int enable)
|
|
|
{
|
|
|
- unsigned long addr = (unsigned long) page_address(page);
|
|
|
-
|
|
|
if (enable)
|
|
|
- __change_memory_common(addr, PAGE_SIZE * numpages,
|
|
|
+ return __change_memory_common(addr, PAGE_SIZE * numpages,
|
|
|
__pgprot(PTE_VALID),
|
|
|
__pgprot(0));
|
|
|
else
|
|
|
- __change_memory_common(addr, PAGE_SIZE * numpages,
|
|
|
+ return __change_memory_common(addr, PAGE_SIZE * numpages,
|
|
|
__pgprot(0),
|
|
|
__pgprot(PTE_VALID));
|
|
|
}
|
|
|
+
|
|
|
+#ifdef CONFIG_DEBUG_PAGEALLOC
|
|
|
+void __kernel_map_pages(struct page *page, int numpages, int enable)
|
|
|
+{
|
|
|
+ set_memory_valid((unsigned long)page_address(page), numpages, enable);
|
|
|
+}
|
|
|
#ifdef CONFIG_HIBERNATION
|
|
|
/*
|
|
|
* When built with CONFIG_DEBUG_PAGEALLOC and CONFIG_HIBERNATION, this function
|