Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
processor.h File Reference
#include <asm/page.h>
#include <asm/cache.h>

Go to the source code of this file.

Data Structures

struct  avr32_cpuinfo
 
struct  cpu_context
 
struct  thread_struct
 

Macros

#define TASK_SIZE   0x80000000
 
#define AVR32_FEATURE_RMW   (1 << 0)
 
#define AVR32_FEATURE_DSP   (1 << 1)
 
#define AVR32_FEATURE_SIMD   (1 << 2)
 
#define AVR32_FEATURE_OCD   (1 << 3)
 
#define AVR32_FEATURE_PCTR   (1 << 4)
 
#define AVR32_FEATURE_JAVA   (1 << 5)
 
#define AVR32_FEATURE_FPU   (1 << 6)
 
#define cpu_data   (&boot_cpu_data)
 
#define current_cpu_data   boot_cpu_data
 
#define TASK_UNMAPPED_BASE   (PAGE_ALIGN(TASK_SIZE / 3))
 
#define cpu_relax()   barrier()
 
#define cpu_sync_pipeline()   asm volatile("sub pc, -2" : : : "memory")
 
#define INIT_THREAD
 
#define start_thread(regs, new_pc, new_sp)
 
#define thread_saved_pc(tsk)   ((tsk)->thread.cpu_context.pc)
 
#define task_pt_regs(p)   ((struct pt_regs *)(THREAD_SIZE + task_stack_page(p)) - 1)
 
#define KSTK_EIP(tsk)   ((tsk)->thread.cpu_context.pc)
 
#define KSTK_ESP(tsk)   ((tsk)->thread.cpu_context.ksp)
 
#define ARCH_HAS_PREFETCH
 
#define PREFETCH_STRIDE   L1_CACHE_BYTES
 

Enumerations

enum  arch_type { ARCH_AVR32A, ARCH_AVR32B, ARCH_MAX }
 
enum  cpu_type {
  CPU_MORGAN, CPU_AT32AP, CPU_MAX, pcx = 0,
  pcxs = 1, pcxt = 2, pcxt_ = 3, pcxl = 4,
  pcxl2 = 5, pcxu = 6, pcxu_ = 7, pcxw = 8,
  pcxw_ = 9, pcxw2 = 10, mako = 11, mako2 = 12,
  CPU_SH7619, CPU_SH7201, CPU_SH7203, CPU_SH7206,
  CPU_SH7263, CPU_SH7264, CPU_SH7269, CPU_MXG,
  CPU_SH7705, CPU_SH7706, CPU_SH7707, CPU_SH7708,
  CPU_SH7708S, CPU_SH7708R, CPU_SH7709, CPU_SH7709A,
  CPU_SH7710, CPU_SH7712, CPU_SH7720, CPU_SH7721,
  CPU_SH7729, CPU_SH7750, CPU_SH7750S, CPU_SH7750R,
  CPU_SH7751, CPU_SH7751R, CPU_SH7760, CPU_SH4_202,
  CPU_SH4_501, CPU_SH7763, CPU_SH7770, CPU_SH7780,
  CPU_SH7781, CPU_SH7785, CPU_SH7786, CPU_SH7723,
  CPU_SH7724, CPU_SH7757, CPU_SH7734, CPU_SHX3,
  CPU_SH7343, CPU_SH7722, CPU_SH7366, CPU_SH7372,
  CPU_SH5_101, CPU_SH5_103, CPU_SH_NONE
}
 
enum  tlb_config { TLB_NONE, TLB_SPLIT, TLB_UNIFIED, TLB_INVALID }
 

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)
 
void show_regs_log_lvl (struct pt_regs *regs, const char *log_lvl)
 
void show_stack_log_lvl (struct task_struct *tsk, unsigned long sp, struct pt_regs *regs, const char *log_lvl)
 

Variables

struct avr32_cpuinfo boot_cpu_data
 

Macro Definition Documentation

#define ARCH_HAS_PREFETCH

Definition at line 163 of file processor.h.

#define AVR32_FEATURE_DSP   (1 << 1)

Definition at line 49 of file processor.h.

#define AVR32_FEATURE_FPU   (1 << 6)

Definition at line 54 of file processor.h.

#define AVR32_FEATURE_JAVA   (1 << 5)

Definition at line 53 of file processor.h.

#define AVR32_FEATURE_OCD   (1 << 3)

Definition at line 51 of file processor.h.

#define AVR32_FEATURE_PCTR   (1 << 4)

Definition at line 52 of file processor.h.

#define AVR32_FEATURE_RMW   (1 << 0)

Definition at line 48 of file processor.h.

#define AVR32_FEATURE_SIMD   (1 << 2)

Definition at line 50 of file processor.h.

#define cpu_data   (&boot_cpu_data)

Definition at line 90 of file processor.h.

#define cpu_relax (   void)    barrier()

Definition at line 99 of file processor.h.

#define cpu_sync_pipeline ( )    asm volatile("sub pc, -2" : : : "memory")

Definition at line 100 of file processor.h.

#define current_cpu_data   boot_cpu_data

Definition at line 91 of file processor.h.

#define INIT_THREAD
Value:
{ \
.cpu_context = { \
.ksp = sizeof(init_stack) + (long)&init_stack, \
}, \
}

Definition at line 123 of file processor.h.

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

Definition at line 160 of file processor.h.

#define KSTK_ESP (   tsk)    ((tsk)->thread.cpu_context.ksp)

Definition at line 161 of file processor.h.

#define PREFETCH_STRIDE   L1_CACHE_BYTES

Definition at line 170 of file processor.h.

#define start_thread (   regs,
  new_pc,
  new_sp 
)
Value:
do { \
memset(regs, 0, sizeof(*regs)); \
regs->pc = new_pc & ~1; \
regs->sp = new_sp; \
} while(0)

Definition at line 132 of file processor.h.

#define task_pt_regs (   p)    ((struct pt_regs *)(THREAD_SIZE + task_stack_page(p)) - 1)

Definition at line 157 of file processor.h.

#define TASK_SIZE   0x80000000

Definition at line 14 of file processor.h.

#define TASK_UNMAPPED_BASE   (PAGE_ALIGN(TASK_SIZE / 3))

Definition at line 97 of file processor.h.

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

Definition at line 149 of file processor.h.

Enumeration Type Documentation

enum arch_type
Enumerator:
ARCH_AVR32A 
ARCH_AVR32B 
ARCH_MAX 

Definition at line 29 of file processor.h.

enum cpu_type
Enumerator:
CPU_MORGAN 
CPU_AT32AP 
CPU_MAX 
pcx 
pcxs 
pcxt 
pcxt_ 
pcxl 
pcxl2 
pcxu 
pcxu_ 
pcxw 
pcxw_ 
pcxw2 
mako 
mako2 
CPU_SH7619 
CPU_SH7201 
CPU_SH7203 
CPU_SH7206 
CPU_SH7263 
CPU_SH7264 
CPU_SH7269 
CPU_MXG 
CPU_SH7705 
CPU_SH7706 
CPU_SH7707 
CPU_SH7708 
CPU_SH7708S 
CPU_SH7708R 
CPU_SH7709 
CPU_SH7709A 
CPU_SH7710 
CPU_SH7712 
CPU_SH7720 
CPU_SH7721 
CPU_SH7729 
CPU_SH7750 
CPU_SH7750S 
CPU_SH7750R 
CPU_SH7751 
CPU_SH7751R 
CPU_SH7760 
CPU_SH4_202 
CPU_SH4_501 
CPU_SH7763 
CPU_SH7770 
CPU_SH7780 
CPU_SH7781 
CPU_SH7785 
CPU_SH7786 
CPU_SH7723 
CPU_SH7724 
CPU_SH7757 
CPU_SH7734 
CPU_SHX3 
CPU_SH7343 
CPU_SH7722 
CPU_SH7366 
CPU_SH7372 
CPU_SH5_101 
CPU_SH5_103 
CPU_SH_NONE 

Definition at line 35 of file processor.h.

enum tlb_config
Enumerator:
TLB_NONE 
TLB_SPLIT 
TLB_UNIFIED 
TLB_INVALID 

Definition at line 41 of file processor.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.

void show_regs_log_lvl ( struct pt_regs regs,
const char log_lvl 
)

Definition at line 267 of file process.c.

void show_stack_log_lvl ( struct task_struct tsk,
unsigned long  sp,
struct pt_regs regs,
const char log_lvl 
)

Definition at line 226 of file process.c.

Variable Documentation

struct avr32_cpuinfo boot_cpu_data

Definition at line 38 of file setup.c.