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
11#ifndef __ASSEMBLY__
12
13/* Data that is "mapped" into the process VM at the start of the L1 scratch
14   memory, so that each process can access it at a fixed address.  Used for
15   stack checking.  */
16struct l1_scratch_task_info
17{
18	/* Points to the start of the stack.  */
19	void *stack_start;
20	/* Not updated by the kernel; a user process can modify this to
21	   keep track of the lowest address of the stack pointer during its
22	   runtime.  */
23	void *lowest_sp;
24};
25
26/* A pointer to the structure in memory.  */
27#define L1_SCRATCH_TASK_INFO ((struct l1_scratch_task_info *)L1_SCRATCH_START)
28
29#endif
30
31#endif
32