Kyle Swenson | 8d8f654 | 2021-03-15 11:02:55 -0600 | [diff] [blame^] | 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 |