Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
processor_64.h File Reference
#include <linux/compiler.h>
#include <asm/page.h>
#include <asm/types.h>
#include <cpu/registers.h>

Go to the source code of this file.

Data Structures

struct  sh_fpu_hard_struct
 
struct  sh_fpu_soft_struct
 
union  thread_xstate
 
struct  thread_struct
 

Macros

#define current_text_addr()
 
#define TASK_SIZE   0x7ffff000UL
 
#define STACK_TOP   TASK_SIZE
 
#define STACK_TOP_MAX   STACK_TOP
 
#define TASK_UNMAPPED_BASE   (TASK_SIZE / 3)
 
#define SR_MMU   0x80000000
 
#define SR_IMASK   0x000000f0
 
#define SR_FD   0x00008000
 
#define SR_SSTEP   0x08000000
 
#define INIT_MMAP   { &init_mm, 0, 0, NULL, PAGE_SHARED, VM_READ | VM_WRITE | VM_EXEC, 1, NULL, NULL }
 
#define INIT_THREAD
 
#define SR_USER   (SR_MMU | SR_FD)
 
#define start_thread(_regs, new_pc, new_sp)
 
#define copy_segments(p, mm)   do { } while (0)
 
#define release_segments(mm)   do { } while (0)
 
#define forget_segments()   do { } while (0)
 
#define FPSCR_INIT   0x00000000
 
#define fpinit(fpregs)   do { } while (0)
 
#define thread_saved_pc(tsk)   (tsk->thread.pc)
 
#define KSTK_EIP(tsk)   ((tsk)->thread.pc)
 
#define KSTK_ESP(tsk)   ((tsk)->thread.sp)
 

Functions

void release_thread (struct task_struct *)
 
int kernel_thread (int(*fn)(void *), void *arg, unsigned long flags)
 
unsigned long get_wchan (struct task_struct *p)
 

Variables

struct sh_fpu_hard_struct __attribute__
 
struct task_structlast_task_used_math
 

Macro Definition Documentation

#define copy_segments (   p,
  mm 
)    do { } while (0)

Definition at line 169 of file processor_64.h.

#define current_text_addr (   void)
Value:
({ \
void *pc; \
unsigned long long __dummy = 0; \
__asm__("gettr tr0, %1\n\t" \
"pta 4, tr0\n\t" \
"gettr tr0, %0\n\t" \
"ptabs %1, tr0\n\t" \
:"=r" (pc), "=r" (__dummy) \
: "1" (__dummy)); \
pc; })

Definition at line 26 of file processor_64.h.

#define forget_segments ( )    do { } while (0)

Definition at line 171 of file processor_64.h.

#define fpinit (   fpregs)    do { } while (0)

Definition at line 213 of file processor_64.h.

#define FPSCR_INIT   0x00000000

Definition at line 206 of file processor_64.h.

#define INIT_MMAP   { &init_mm, 0, 0, NULL, PAGE_SHARED, VM_READ | VM_WRITE | VM_EXEC, 1, NULL, NULL }

Definition at line 131 of file processor_64.h.

#define INIT_THREAD
Value:
{ \
.sp = sizeof(init_stack) + \
(long) &init_stack, \
.pc = 0, \
.kregs = &fake_swapper_regs, \
.uregs = NULL, \
.address = 0, \
.flags = 0, \
}

Definition at line 134 of file processor_64.h.

#define KSTK_EIP (   tsk)    ((tsk)->thread.pc)

Definition at line 225 of file processor_64.h.

#define KSTK_ESP (   tsk)    ((tsk)->thread.sp)

Definition at line 226 of file processor_64.h.

#define release_segments (   mm)    do { } while (0)

Definition at line 170 of file processor_64.h.

#define SR_FD   0x00008000

Definition at line 73 of file processor_64.h.

#define SR_IMASK   0x000000f0

Definition at line 72 of file processor_64.h.

#define SR_MMU   0x80000000

Definition at line 69 of file processor_64.h.

#define SR_SSTEP   0x08000000

Definition at line 74 of file processor_64.h.

#define SR_USER   (SR_MMU | SR_FD)

Definition at line 147 of file processor_64.h.

#define STACK_TOP   TASK_SIZE

Definition at line 44 of file processor_64.h.

#define STACK_TOP_MAX   STACK_TOP

Definition at line 45 of file processor_64.h.

#define start_thread (   _regs,
  new_pc,
  new_sp 
)
Value:
_regs->sr = SR_USER; /* User mode. */ \
_regs->pc = new_pc - 4; /* Compensate syscall exit */ \
_regs->pc |= 1; /* Set SHmedia ! */ \
_regs->regs[18] = 0; \
_regs->regs[15] = new_sp

Definition at line 149 of file processor_64.h.

#define TASK_SIZE   0x7ffff000UL

Definition at line 42 of file processor_64.h.

#define TASK_UNMAPPED_BASE   (TASK_SIZE / 3)

Definition at line 50 of file processor_64.h.

#define thread_saved_pc (   tsk)    (tsk->thread.pc)

Definition at line 221 of file processor_64.h.

Function Documentation

unsigned long get_wchan ( struct task_struct p)

Definition at line 419 of file process.c.

int kernel_thread ( int(*)(void *)  fn,
void arg,
unsigned long  flags 
)

Definition at line 333 of file process.c.

void release_thread ( struct task_struct )

Definition at line 233 of file process.c.

Variable Documentation

struct task_struct* last_task_used_math

Definition at line 63 of file process.c.