l1layout.h 806 B

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * l1layout.h
  3. * Defines a layout of L1 scratchpad memory that userspace can rely on.
  4. */
  5. #ifndef _L1LAYOUT_H_
  6. #define _L1LAYOUT_H_
  7. #include <asm/blackfin.h>
  8. #ifndef CONFIG_SMP
  9. #ifndef __ASSEMBLY__
  10. /* Data that is "mapped" into the process VM at the start of the L1 scratch
  11. memory, so that each process can access it at a fixed address. Used for
  12. stack checking. */
  13. struct l1_scratch_task_info
  14. {
  15. /* Points to the start of the stack. */
  16. void *stack_start;
  17. /* Not updated by the kernel; a user process can modify this to
  18. keep track of the lowest address of the stack pointer during its
  19. runtime. */
  20. void *lowest_sp;
  21. };
  22. /* A pointer to the structure in memory. */
  23. #define L1_SCRATCH_TASK_INFO ((struct l1_scratch_task_info *)\
  24. get_l1_scratch_start())
  25. #endif
  26. #endif
  27. #endif