Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
processor.h File Reference
#include <asm/mem-layout.h>
#include <linux/compiler.h>
#include <linux/linkage.h>
#include <asm/sections.h>
#include <asm/segment.h>
#include <asm/fpu.h>
#include <asm/registers.h>
#include <asm/ptrace.h>
#include <asm/current.h>
#include <asm/cache.h>

Go to the source code of this file.

Data Structures

struct  cpuinfo_frv
 
struct  thread_struct
 

Macros

#define current_text_addr()   ({ __label__ _l; _l: &&_l;})
 
#define cpu_data   (&boot_cpu_data)
 
#define current_cpu_data   boot_cpu_data
 
#define EISA_bus   0
 
#define INIT_THREAD_FRAME0
 
#define INIT_THREAD
 
#define start_thread(_regs, _pc, _usp)
 
#define copy_segments(tsk, mm)   do { } while (0)
 
#define release_segments(mm)   do { } while (0)
 
#define forget_segments()   do { } while (0)
 
#define KSTK_EIP(tsk)   ((tsk)->thread.frame0->pc)
 
#define KSTK_ESP(tsk)   ((tsk)->thread.frame0->sp)
 
#define cpu_relax()   barrier()
 
#define ARCH_HAS_PREFETCH
 

Functions

struct thread_struct __attribute__ ((aligned(8)))
 Packet vector entry.
 
asmlinkage void save_user_regs (struct user_context *target)
 
asmlinkage voidrestore_user_regs (const struct user_context *target,...)
 
unsigned long thread_saved_pc (struct task_struct *tsk)
 
unsigned long get_wchan (struct task_struct *p)
 

Variables

struct cpuinfo_frv __cacheline_aligned
 
struct cpuinfo_frv __nongprelbss boot_cpu_data
 
struct pt_regsframe
 
struct task_structcurr
 
unsigned long sp
 
unsigned long fp
 
unsigned long lr
 
unsigned long pc
 
unsigned long gr [12]
 
unsigned long sched_lr
 
union {
   struct pt_regs *   frame0
 
   struct user_context *   user
 
}; 
 
struct pt_regs__kernel_frame0_ptr
 
struct task_struct__kernel_current_task
 

Macro Definition Documentation

#define ARCH_HAS_PREFETCH

Definition at line 135 of file processor.h.

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

Definition at line 111 of file processor.h.

#define cpu_data   (&boot_cpu_data)

Definition at line 50 of file processor.h.

#define cpu_relax (   void)    barrier()

Definition at line 132 of file processor.h.

#define current_cpu_data   boot_cpu_data

Definition at line 51 of file processor.h.

#define current_text_addr (   void)    ({ __label__ _l; _l: &&_l;})

Definition at line 22 of file processor.h.

#define EISA_bus   0

Definition at line 56 of file processor.h.

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

Definition at line 113 of file processor.h.

#define INIT_THREAD
Value:
{ \
NULL, \
(struct task_struct *) init_stack, \
0, 0, 0, 0, \
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, \
0, \
}

Definition at line 84 of file processor.h.

#define INIT_THREAD_FRAME0
Value:
((struct pt_regs *) \
(sizeof(init_stack) + (unsigned long) init_stack - sizeof(struct user_context)))

Definition at line 80 of file processor.h.

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

Definition at line 129 of file processor.h.

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

Definition at line 130 of file processor.h.

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

Definition at line 112 of file processor.h.

#define start_thread (   _regs,
  _pc,
  _usp 
)
Value:
do { \
_regs->pc = (_pc); \
_regs->psr &= ~PSR_S; \
_regs->sp = (_usp); \
} while(0)

Definition at line 96 of file processor.h.

Function Documentation

Packet vector entry.

This data structure is used with netio_send_packet_vector() to send multiple packets with one NetIO call. The structure should be initialized by calling netio_pkt_vector_set(), rather than by setting the fields directly.

This structure is guaranteed to be a power of two in size, no bigger than one L2 cache line, and to be aligned modulo its size.

Reserved for use by the user application. When initialized with the netio_set_pkt_vector_entry() function, this field is guaranteed to be visible to readers only after all other fields are already visible. This way it can be used as a valid flag or generation counter.

Low 8 bits of the packet address to send. The high bits are acquired from the 'handle' field.

Number of bytes to transmit.

The raw handle from a netio_pkt_t. If this is NETIO_PKT_HANDLE_NONE, this vector entry will be skipped and no packet will be transmitted.

Definition at line 9 of file extable.c.

unsigned long get_wchan ( struct task_struct p)

Definition at line 419 of file process.c.

asmlinkage void* restore_user_regs ( const struct user_context target,
  ... 
)
asmlinkage void save_user_regs ( struct user_context target)
unsigned long thread_saved_pc ( struct task_struct tsk)

Definition at line 404 of file process.c.

Variable Documentation

union { ... }
struct cpuinfo_frv __cacheline_aligned
struct task_struct* __kernel_current_task
struct pt_regs* __kernel_frame0_ptr
struct cpuinfo_frv __nongprelbss boot_cpu_data

Definition at line 38 of file setup.c.

Definition at line 74 of file processor.h.

unsigned long fp

Definition at line 76 of file processor.h.

unsigned frame

Definition at line 73 of file processor.h.

struct pt_regs* frame0

Definition at line 83 of file processor.h.

unsigned long gr[12]

Definition at line 79 of file processor.h.

unsigned long lr

Definition at line 77 of file processor.h.

unsigned long pc

Definition at line 78 of file processor.h.

unsigned long sched_lr

Definition at line 80 of file processor.h.

unsigned long sp

Definition at line 75 of file processor.h.

Definition at line 84 of file processor.h.