blob: c87e68647a2b85048c7b915ed8216cc604d1f827 [file] [log] [blame]
/*
* 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