blob: 27bbf54b1e52a1b84fff2fd11f866582a95bb685 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL
4 */
5
6#include "linux/config.h"
7#include "linux/mm.h"
Jeff Diked67b5692005-07-07 17:56:49 -07008#include "asm/pgtable.h"
Linus Torvalds1da177e2005-04-16 15:20:36 -07009#include "mem_user.h"
Jeff Diked67b5692005-07-07 17:56:49 -070010#include "skas.h"
Linus Torvalds1da177e2005-04-16 15:20:36 -070011
Jeff Dike23bbd582006-07-10 04:45:06 -070012unsigned long set_task_sizes_skas(unsigned long *task_size_out)
Linus Torvalds1da177e2005-04-16 15:20:36 -070013{
14 /* Round up to the nearest 4M */
Jeff Dike23bbd582006-07-10 04:45:06 -070015 unsigned long host_task_size = ROUND_4M((unsigned long)
16 &host_task_size);
Linus Torvalds1da177e2005-04-16 15:20:36 -070017
18#ifdef CONFIG_HOST_TASK_SIZE
Tyler598d1882006-07-10 04:45:03 -070019 *host_size_out = ROUND_4M(CONFIG_HOST_TASK_SIZE);
Linus Torvalds1da177e2005-04-16 15:20:36 -070020 *task_size_out = CONFIG_HOST_TASK_SIZE;
21#else
Bodo Stroesser858259c2005-11-07 00:58:55 -080022 if (!skas_needs_stub)
Jeff Dike23bbd582006-07-10 04:45:06 -070023 *task_size_out = host_task_size;
Jeff Diked67b5692005-07-07 17:56:49 -070024 else *task_size_out = CONFIG_STUB_START & PGDIR_MASK;
Linus Torvalds1da177e2005-04-16 15:20:36 -070025#endif
Jeff Dike23bbd582006-07-10 04:45:06 -070026 return host_task_size;
Linus Torvalds1da177e2005-04-16 15:20:36 -070027}