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. */ 20 struct 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