Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) 2002 Jeff Dike (jdike@karaya.com) |
| 3 | * Licensed under the GPL |
| 4 | */ |
| 5 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 6 | #include "linux/mm.h" |
Jeff Dike | d67b569 | 2005-07-07 17:56:49 -0700 | [diff] [blame] | 7 | #include "asm/pgtable.h" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | #include "mem_user.h" |
Jeff Dike | d67b569 | 2005-07-07 17:56:49 -0700 | [diff] [blame] | 9 | #include "skas.h" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 10 | |
Jeff Dike | 23bbd58 | 2006-07-10 04:45:06 -0700 | [diff] [blame] | 11 | unsigned long set_task_sizes_skas(unsigned long *task_size_out) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 12 | { |
| 13 | /* Round up to the nearest 4M */ |
Jeff Dike | 23bbd58 | 2006-07-10 04:45:06 -0700 | [diff] [blame] | 14 | unsigned long host_task_size = ROUND_4M((unsigned long) |
| 15 | &host_task_size); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 16 | |
| 17 | #ifdef CONFIG_HOST_TASK_SIZE |
Tyler | 598d188 | 2006-07-10 04:45:03 -0700 | [diff] [blame] | 18 | *host_size_out = ROUND_4M(CONFIG_HOST_TASK_SIZE); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 19 | *task_size_out = CONFIG_HOST_TASK_SIZE; |
| 20 | #else |
Bodo Stroesser | 858259c | 2005-11-07 00:58:55 -0800 | [diff] [blame] | 21 | if (!skas_needs_stub) |
Jeff Dike | 23bbd58 | 2006-07-10 04:45:06 -0700 | [diff] [blame] | 22 | *task_size_out = host_task_size; |
Jeff Dike | d67b569 | 2005-07-07 17:56:49 -0700 | [diff] [blame] | 23 | else *task_size_out = CONFIG_STUB_START & PGDIR_MASK; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 24 | #endif |
Jeff Dike | 23bbd58 | 2006-07-10 04:45:06 -0700 | [diff] [blame] | 25 | return host_task_size; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 26 | } |