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

Subversion Repositories or1k

[/] [or1k/] [tags/] [LINUX_2_4_26_OR32/] [linux/] [linux-2.4/] [include/] [asm-x86_64/] [current.h] - Rev 1780

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

#ifndef _X86_64_CURRENT_H
#define _X86_64_CURRENT_H
 
#if !defined(__ASSEMBLY__) 
struct task_struct;
 
#include <asm/pda.h>
 
static inline struct task_struct *get_current(void) 
{ 
	struct task_struct *t = read_pda(pcurrent); 
	return t;
} 
 
 
static inline struct task_struct *stack_current(void)
{
	struct task_struct *current;
	__asm__("andq %%rsp,%0; ":"=r" (current) 
		: "0" (~(unsigned long)(THREAD_SIZE-1)));
	return current;
}
 
 
#define current get_current()
 
#else
 
#ifndef ASM_OFFSET_H
#include <asm/offset.h> 
#endif
 
#define GET_CURRENT(reg) movq %gs:(pda_pcurrent),reg
 
#endif
 
#endif /* !(_X86_64_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.