blob: c87e68647a2b85048c7b915ed8216cc604d1f827 [file] [log] [blame]
Kyle Swenson8d8f6542021-03-15 11:02:55 -06001/*
2 * Defines a layout of L1 scratchpad memory that userspace can rely on.
3 *
4 * Copyright 2006-2008 Analog Devices Inc.
5 *
6 * Licensed under the GPL-2 or later.
7 */
8
9#ifndef _L1LAYOUT_H_
10#define _L1LAYOUT_H_
11
12#include <asm/blackfin.h>
13
14#ifndef CONFIG_SMP
15#ifndef __ASSEMBLY__
16
17/* Data that is "mapped" into the process VM at the start of the L1 scratch
18 memory, so that each process can access it at a fixed address. Used for
19 stack checking. */
20struct l1_scratch_task_info
21{
22 /* Points to the start of the stack. */
23 void *stack_start;
24 /* Not updated by the kernel; a user process can modify this to
25 keep track of the lowest address of the stack pointer during its
26 runtime. */
27 void *lowest_sp;
28};
29
30/* A pointer to the structure in memory. */
31#define L1_SCRATCH_TASK_INFO ((struct l1_scratch_task_info *)\
32 get_l1_scratch_start())
33
34#endif
35#endif
36
37#endif