|
@@ -719,6 +719,7 @@ int pmd_clear_huge(pmd_t *pmd)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+#ifdef CONFIG_X86_64
|
|
|
/**
|
|
|
* pud_free_pmd_page - Clear pud entry and free pmd page.
|
|
|
* @pud: Pointer to a PUD.
|
|
@@ -766,4 +767,22 @@ int pmd_free_pte_page(pmd_t *pmd)
|
|
|
|
|
|
return 1;
|
|
|
}
|
|
|
+
|
|
|
+#else /* !CONFIG_X86_64 */
|
|
|
+
|
|
|
+int pud_free_pmd_page(pud_t *pud)
|
|
|
+{
|
|
|
+ return pud_none(*pud);
|
|
|
+}
|
|
|
+
|
|
|
+/*
|
|
|
+ * Disable free page handling on x86-PAE. This assures that ioremap()
|
|
|
+ * does not update sync'd pmd entries. See vmalloc_sync_one().
|
|
|
+ */
|
|
|
+int pmd_free_pte_page(pmd_t *pmd)
|
|
|
+{
|
|
|
+ return pmd_none(*pmd);
|
|
|
+}
|
|
|
+
|
|
|
+#endif /* CONFIG_X86_64 */
|
|
|
#endif /* CONFIG_HAVE_ARCH_HUGE_VMAP */
|