|
@@ -1,7 +1,5 @@
|
|
|
/*
|
|
|
- * arch/s390/mm/pgtable.c
|
|
|
- *
|
|
|
- * Copyright IBM Corp. 2007
|
|
|
+ * Copyright IBM Corp. 2007,2009
|
|
|
* Author(s): Martin Schwidefsky <schwidefsky@de.ibm.com>
|
|
|
*/
|
|
|
|
|
@@ -53,6 +51,18 @@ void clear_table_pgstes(unsigned long *table)
|
|
|
|
|
|
#endif
|
|
|
|
|
|
+unsigned long VMALLOC_START = VMALLOC_END - VMALLOC_SIZE;
|
|
|
+EXPORT_SYMBOL(VMALLOC_START);
|
|
|
+
|
|
|
+static int __init parse_vmalloc(char *arg)
|
|
|
+{
|
|
|
+ if (!arg)
|
|
|
+ return -EINVAL;
|
|
|
+ VMALLOC_START = (VMALLOC_END - memparse(arg, &arg)) & PAGE_MASK;
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+early_param("vmalloc", parse_vmalloc);
|
|
|
+
|
|
|
unsigned long *crst_table_alloc(struct mm_struct *mm, int noexec)
|
|
|
{
|
|
|
struct page *page = alloc_pages(GFP_KERNEL, ALLOC_ORDER);
|