1/* 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 38