|
@@ -102,11 +102,25 @@ void release_thread(struct task_struct *);
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#ifdef CONFIG_PPC64
|
|
#ifdef CONFIG_PPC64
|
|
-/* 64-bit user address space is 46-bits (64TB user VM) */
|
|
|
|
-#define TASK_SIZE_USER64 (0x0000400000000000UL)
|
|
|
|
|
|
+/*
|
|
|
|
+ * 64-bit user address space can have multiple limits
|
|
|
|
+ * For now supported values are:
|
|
|
|
+ */
|
|
|
|
+#define TASK_SIZE_64TB (0x0000400000000000UL)
|
|
|
|
+#define TASK_SIZE_128TB (0x0000800000000000UL)
|
|
|
|
+#define TASK_SIZE_512TB (0x0002000000000000UL)
|
|
|
|
|
|
-/*
|
|
|
|
- * 32-bit user address space is 4GB - 1 page
|
|
|
|
|
|
+#ifdef CONFIG_PPC_BOOK3S_64
|
|
|
|
+/*
|
|
|
|
+ * Max value currently used:
|
|
|
|
+ */
|
|
|
|
+#define TASK_SIZE_USER64 TASK_SIZE_128TB
|
|
|
|
+#else
|
|
|
|
+#define TASK_SIZE_USER64 TASK_SIZE_64TB
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * 32-bit user address space is 4GB - 1 page
|
|
* (this 1 page is needed so referencing of 0xFFFFFFFF generates EFAULT
|
|
* (this 1 page is needed so referencing of 0xFFFFFFFF generates EFAULT
|
|
*/
|
|
*/
|
|
#define TASK_SIZE_USER32 (0x0000000100000000UL - (1*PAGE_SIZE))
|
|
#define TASK_SIZE_USER32 (0x0000000100000000UL - (1*PAGE_SIZE))
|