l1layout.h 766 B

12345678910111213141516171819202122232425262728293031
  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 __ASSEMBLY__
  9. /* Data that is "mapped" into the process VM at the start of the L1 scratch
  10. memory, so that each process can access it at a fixed address. Used for
  11. stack checking. */
  12. struct l1_scratch_task_info
  13. {
  14. /* Points to the start of the stack. */
  15. void *stack_start;
  16. /* Not updated by the kernel; a user process can modify this to
  17. keep track of the lowest address of the stack pointer during its
  18. runtime. */
  19. void *lowest_sp;
  20. };
  21. /* A pointer to the structure in memory. */
  22. #define L1_SCRATCH_TASK_INFO ((struct l1_scratch_task_info *)L1_SCRATCH_START)
  23. #endif
  24. #endif