blob: 79dbefaa5bef1701484a2753e871cc7a8c72d2ae [file] [log] [blame]
Bryan Wu1394f032007-05-06 14:50:22 -07001/*
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 Zhangcc92b872009-01-07 23:14:38 +080011#ifndef CONFIG_SMP
Bryan Wu1394f032007-05-06 14:50:22 -070012#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. */
17struct 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 Yang6b3087c2009-01-07 23:14:39 +080028#define L1_SCRATCH_TASK_INFO ((struct l1_scratch_task_info *)\
29 get_l1_scratch_start())
Bryan Wu1394f032007-05-06 14:50:22 -070030
31#endif
Sonic Zhangcc92b872009-01-07 23:14:38 +080032#endif
Bryan Wu1394f032007-05-06 14:50:22 -070033
34#endif