l1layout.h 879 B

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