blob: 0d2cce621134b98e315c958f6addd43a8d0d1bf1 [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
Linus Torvalds1da177e2005-04-16 15:20:36 -07006#include "linux/mm.h"
Jeff Diked67b5692005-07-07 17:56:49 -07007#include "asm/pgtable.h"
Linus Torvalds1da177e2005-04-16 15:20:36 -07008#include "mem_user.h"
Jeff Diked67b5692005-07-07 17:56:49 -07009#include "skas.h"
Linus Torvalds1da177e2005-04-16 15:20:36 -070010
Jeff Dike23bbd582006-07-10 04:45:06 -070011unsigned long set_task_sizes_skas(unsigned long *task_size_out)
Linus Torvalds1da177e2005-04-16 15:20:36 -070012{
13 /* Round up to the nearest 4M */
Jeff Dike23bbd582006-07-10 04:45:06 -070014 unsigned long host_task_size = ROUND_4M((unsigned long)
15 &host_task_size);
Linus Torvalds1da177e2005-04-16 15:20:36 -070016
17#ifdef CONFIG_HOST_TASK_SIZE
Tyler598d1882006-07-10 04:45:03 -070018 *host_size_out = ROUND_4M(CONFIG_HOST_TASK_SIZE);
Linus Torvalds1da177e2005-04-16 15:20:36 -070019 *task_size_out = CONFIG_HOST_TASK_SIZE;
20#else
Bodo Stroesser858259c2005-11-07 00:58:55 -080021 if (!skas_needs_stub)
Jeff Dike23bbd582006-07-10 04:45:06 -070022 *task_size_out = host_task_size;
Jeff Diked67b5692005-07-07 17:56:49 -070023 else *task_size_out = CONFIG_STUB_START & PGDIR_MASK;
Linus Torvalds1da177e2005-04-16 15:20:36 -070024#endif
Jeff Dike23bbd582006-07-10 04:45:06 -070025 return host_task_size;
Linus Torvalds1da177e2005-04-16 15:20:36 -070026}