| /* |
| * Copyright (C) 2002 Jeff Dike (jdike@karaya.com) |
| * Licensed under the GPL |
| */ |
| |
| #include "linux/stddef.h" |
| #include "linux/config.h" |
| #include "linux/mm.h" |
| #include "asm/uaccess.h" |
| #include "mem_user.h" |
| #include "kern_util.h" |
| #include "user_util.h" |
| #include "kern.h" |
| #include "tt.h" |
| |
| void before_mem_tt(unsigned long brk_start) |
| { |
| if(debug) |
| remap_data(UML_ROUND_DOWN(&_stext), UML_ROUND_UP(&_etext), 1); |
| remap_data(UML_ROUND_DOWN(&_sdata), UML_ROUND_UP(&_edata), 1); |
| remap_data(UML_ROUND_DOWN(&__bss_start), UML_ROUND_UP(&_end), 1); |
| } |
| |
| #define SIZE ((CONFIG_NEST_LEVEL + CONFIG_KERNEL_HALF_GIGS) * 0x20000000) |
| #define START (CONFIG_TOP_ADDR - SIZE) |
| |
| unsigned long set_task_sizes_tt(int arg, unsigned long *host_size_out, |
| unsigned long *task_size_out) |
| { |
| /* Round up to the nearest 4M */ |
| *host_size_out = ROUND_4M((unsigned long) &arg); |
| *task_size_out = START; |
| return(START); |
| } |
| |
| /* |
| * Overrides for Emacs so that we follow Linus's tabbing style. |
| * Emacs will notice this stuff at the end of the file and automatically |
| * adjust the settings for this buffer only. This must remain at the end |
| * of the file. |
| * --------------------------------------------------------------------------- |
| * Local variables: |
| * c-file-style: "linux" |
| * End: |
| */ |