Bryan Wu | 1394f03 | 2007-05-06 14:50:22 -0700 | [diff] [blame] | 1 | /* |
| 2 | * l1layout.h |
| 3 | * Defines a layout of L1 scratchpad memory that userspace can rely on. |
| 4 | */ |
| 5 | |
| 6 | #ifndef _L1LAYOUT_H_ |
| 7 | #define _L1LAYOUT_H_ |
| 8 | |
| 9 | #include <asm/blackfin.h> |
| 10 | |
Sonic Zhang | cc92b87 | 2009-01-07 23:14:38 +0800 | [diff] [blame] | 11 | #ifndef CONFIG_SMP |
Bryan Wu | 1394f03 | 2007-05-06 14:50:22 -0700 | [diff] [blame] | 12 | #ifndef __ASSEMBLY__ |
| 13 | |
| 14 | /* Data that is "mapped" into the process VM at the start of the L1 scratch |
| 15 | memory, so that each process can access it at a fixed address. Used for |
| 16 | stack checking. */ |
| 17 | struct l1_scratch_task_info |
| 18 | { |
| 19 | /* Points to the start of the stack. */ |
| 20 | void *stack_start; |
| 21 | /* Not updated by the kernel; a user process can modify this to |
| 22 | keep track of the lowest address of the stack pointer during its |
| 23 | runtime. */ |
| 24 | void *lowest_sp; |
| 25 | }; |
| 26 | |
| 27 | /* A pointer to the structure in memory. */ |
Graf Yang | 6b3087c | 2009-01-07 23:14:39 +0800 | [diff] [blame] | 28 | #define L1_SCRATCH_TASK_INFO ((struct l1_scratch_task_info *)\ |
| 29 | get_l1_scratch_start()) |
Bryan Wu | 1394f03 | 2007-05-06 14:50:22 -0700 | [diff] [blame] | 30 | |
| 31 | #endif |
Sonic Zhang | cc92b87 | 2009-01-07 23:14:38 +0800 | [diff] [blame] | 32 | #endif |
Bryan Wu | 1394f03 | 2007-05-06 14:50:22 -0700 | [diff] [blame] | 33 | |
| 34 | #endif |