OpenCores
URL https://opencores.org/ocsvn/or1k_soc_on_altera_embedded_dev_kit/or1k_soc_on_altera_embedded_dev_kit/trunk

Subversion Repositories or1k_soc_on_altera_embedded_dev_kit

[/] [or1k_soc_on_altera_embedded_dev_kit/] [trunk/] [linux-2.6/] [linux-2.6.24/] [include/] [asm-v850/] [current.h] - Rev 9

Go to most recent revision | Compare with Previous | Blame | View Log

/*
 * include/asm-v850/current.h -- Current task
 *
 *  Copyright (C) 2001,02  NEC Corporation
 *  Copyright (C) 2001,02  Miles Bader <miles@gnu.org>
 *
 * This file is subject to the terms and conditions of the GNU General
 * Public License.  See the file COPYING in the main directory of this
 * archive for more details.
 *
 * Written by Miles Bader <miles@gnu.org>
 */
 
#ifndef __V850_CURRENT_H__
#define __V850_CURRENT_H__
 
#ifndef __ASSEMBLY__ /* <linux/thread_info.h> is not asm-safe.  */
#include <linux/thread_info.h>
#endif
 
#include <asm/macrology.h>
 
 
/* Register used to hold the current task pointer while in the kernel.
   Any `call clobbered' register without a special meaning should be OK,
   but check asm/v850/kernel/entry.S to be sure.  */
#define CURRENT_TASK_REGNUM	16
#define CURRENT_TASK 		macrology_paste (r, CURRENT_TASK_REGNUM)
 
 
#ifdef __ASSEMBLY__
 
/* Put a pointer to the current task structure into REG.  */
#define GET_CURRENT_TASK(reg)						\
	GET_CURRENT_THREAD(reg);					\
	ld.w	TI_TASK[reg], reg
 
#else /* !__ASSEMBLY__ */
 
/* A pointer to the current task.  */
register struct task_struct *current					\
   __asm__ (macrology_stringify (CURRENT_TASK));
 
#endif /* __ASSEMBLY__ */
 
 
#endif /* _V850_CURRENT_H */
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.