summaryrefslogtreecommitdiffstats
path: root/kernel/arch/blackfin/include/asm/l1layout.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/arch/blackfin/include/asm/l1layout.h')
-rw-r--r--kernel/arch/blackfin/include/asm/l1layout.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/kernel/arch/blackfin/include/asm/l1layout.h b/kernel/arch/blackfin/include/asm/l1layout.h
new file mode 100644
index 000000000..c87e68647
--- /dev/null
+++ b/kernel/arch/blackfin/include/asm/l1layout.h
@@ -0,0 +1,37 @@
+/*
+ * Defines a layout of L1 scratchpad memory that userspace can rely on.
+ *
+ * Copyright 2006-2008 Analog Devices Inc.
+ *
+ * Licensed under the GPL-2 or later.
+ */
+
+#ifndef _L1LAYOUT_H_
+#define _L1LAYOUT_H_
+
+#include <asm/blackfin.h>
+
+#ifndef CONFIG_SMP
+#ifndef __ASSEMBLY__
+
+/* Data that is "mapped" into the process VM at the start of the L1 scratch
+ memory, so that each process can access it at a fixed address. Used for
+ stack checking. */
+struct l1_scratch_task_info
+{
+ /* Points to the start of the stack. */
+ void *stack_start;
+ /* Not updated by the kernel; a user process can modify this to
+ keep track of the lowest address of the stack pointer during its
+ runtime. */
+ void *lowest_sp;
+};
+
+/* A pointer to the structure in memory. */
+#define L1_SCRATCH_TASK_INFO ((struct l1_scratch_task_info *)\
+ get_l1_scratch_start())
+
+#endif
+#endif
+
+#endif