|
@@ -60,6 +60,15 @@ extern void __pgd_error(const char *file, int line, pgd_t);
|
|
*/
|
|
*/
|
|
#define FIRST_USER_ADDRESS PAGE_SIZE
|
|
#define FIRST_USER_ADDRESS PAGE_SIZE
|
|
|
|
|
|
|
|
+/*
|
|
|
|
+ * Use TASK_SIZE as the ceiling argument for free_pgtables() and
|
|
|
|
+ * free_pgd_range() to avoid freeing the modules pmd when LPAE is enabled (pmd
|
|
|
|
+ * page shared between user and kernel).
|
|
|
|
+ */
|
|
|
|
+#ifdef CONFIG_ARM_LPAE
|
|
|
|
+#define USER_PGTABLES_CEILING TASK_SIZE
|
|
|
|
+#endif
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* The pgprot_* and protection_map entries will be fixed up in runtime
|
|
* The pgprot_* and protection_map entries will be fixed up in runtime
|
|
* to include the cachable and bufferable bits based on memory policy,
|
|
* to include the cachable and bufferable bits based on memory policy,
|