Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
paravirt.c File Reference
#include <linux/init.h>
#include <linux/compiler.h>
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/module.h>
#include <linux/types.h>
#include <asm/iosapic.h>
#include <asm/paravirt.h>

Go to the source code of this file.

Macros

#define DEFINE_VOID_FUNC1(name)
 
#define DEFINE_VOID_FUNC1_VOID(name)
 
#define DEFINE_VOID_FUNC2(name)
 
#define DEFINE_FUNC0(name)
 
#define DEFINE_FUNC1(name, type)
 
#define CASE_GET_REG(id)
 
#define CASE_GET_AR(id)   CASE_GET_REG(AR_ ## id)
 
#define CASE_GET_CR(id)   CASE_GET_REG(CR_ ## id)
 
#define CASE_SET_REG(id)
 
#define CASE_SET_AR(id)   CASE_SET_REG(AR_ ## id)
 
#define CASE_SET_CR(id)   CASE_SET_REG(CR_ ## id)
 
#define PARAVIRT_BR_TARGET(name, type)
 

Functions

 DEFINE_VOID_FUNC1_VOID (fc)
 
 DEFINE_VOID_FUNC1 (intrin_local_irq_restore)
 
 DEFINE_VOID_FUNC2 (ptcga)
 
 DEFINE_VOID_FUNC2 (set_rr)
 
 DEFINE_FUNC0 (get_psr_i)
 
 DEFINE_FUNC1 (thash, unsigned long)
 
 DEFINE_FUNC1 (get_cpuid, int)
 
 DEFINE_FUNC1 (get_pmd, int)
 
 DEFINE_FUNC1 (get_rr, unsigned long)
 
unsigned long ia64_native_getreg_func (int regnum)
 
void ia64_native_setreg_func (int regnum, unsigned long val)
 
 EXPORT_SYMBOL (pv_cpu_ops)
 
void paravirt_cpu_asm_init (const struct pv_cpu_asm_switch *cpu_asm_switch)
 

Variables

struct pv_info pv_info
 
struct pv_init_ops pv_init_ops
 
struct pv_cpu_ops pv_cpu_ops
 
struct pv_iosapic_ops pv_iosapic_ops
 
struct pv_irq_ops pv_irq_ops
 
struct static_key paravirt_steal_enabled
 
struct static_key paravirt_steal_rq_enabled
 
struct pv_time_ops pv_time_ops
 
const char ia64_native_switch_to []
 
const char ia64_native_leave_syscall []
 
const char ia64_native_work_processed_syscall []
 
const char ia64_native_leave_kernel []
 
struct
paravirt_patch_branch_target
ia64_native_branch_target[] 
__initconst
 

Macro Definition Documentation

#define CASE_GET_AR (   id)    CASE_GET_REG(AR_ ## id)

Definition at line 141 of file paravirt.c.

#define CASE_GET_CR (   id)    CASE_GET_REG(CR_ ## id)

Definition at line 142 of file paravirt.c.

#define CASE_GET_REG (   id)
Value:
case _IA64_REG_ ## id: \
res = ia64_native_getreg(_IA64_REG_ ## id); \
break;

Definition at line 137 of file paravirt.c.

#define CASE_SET_AR (   id)    CASE_SET_REG(AR_ ## id)

Definition at line 221 of file paravirt.c.

#define CASE_SET_CR (   id)    CASE_SET_REG(CR_ ## id)

Definition at line 222 of file paravirt.c.

#define CASE_SET_REG (   id)
Value:
case _IA64_REG_ ## id: \
ia64_native_setreg(_IA64_REG_ ## id, val); \
break;

Definition at line 217 of file paravirt.c.

#define DEFINE_FUNC0 (   name)
Value:
static unsigned long \
ia64_native_ ## name ## _func(void) \
{ \
return ia64_native_ ## name(); \
}

Definition at line 90 of file paravirt.c.

#define DEFINE_FUNC1 (   name,
  type 
)
Value:
static unsigned long \
ia64_native_ ## name ## _func(type arg) \
{ \
return ia64_native_ ## name(arg); \
} \

Definition at line 97 of file paravirt.c.

#define DEFINE_VOID_FUNC1 (   name)
Value:
static void \
ia64_native_ ## name ## _func(unsigned long arg) \
{ \
ia64_native_ ## name(arg); \
}

Definition at line 68 of file paravirt.c.

#define DEFINE_VOID_FUNC1_VOID (   name)
Value:
static void \
ia64_native_ ## name ## _func(void *arg) \
{ \
ia64_native_ ## name(arg); \
}

Definition at line 75 of file paravirt.c.

#define DEFINE_VOID_FUNC2 (   name)
Value:
static void \
ia64_native_ ## name ## _func(unsigned long arg0, \
unsigned long arg1) \
{ \
ia64_native_ ## name(arg0, arg1); \
}

Definition at line 82 of file paravirt.c.

#define PARAVIRT_BR_TARGET (   name,
  type 
)
Value:
{ \
ia64_native_ ## name, \
PARAVIRT_PATCH_TYPE_BR_ ## type, \
}

Function Documentation

DEFINE_FUNC0 ( get_psr_i  )
DEFINE_FUNC1 ( thash  ,
unsigned  long 
)
DEFINE_FUNC1 ( get_cpuid  ,
int   
)
DEFINE_FUNC1 ( get_pmd  ,
int   
)
DEFINE_FUNC1 ( get_rr  ,
unsigned  long 
)
DEFINE_VOID_FUNC1 ( intrin_local_irq_restore  )
DEFINE_VOID_FUNC1_VOID ( fc  )
DEFINE_VOID_FUNC2 ( ptcga  )
DEFINE_VOID_FUNC2 ( set_rr  )
EXPORT_SYMBOL ( pv_cpu_ops  )
unsigned long ia64_native_getreg_func ( int  regnum)

Definition at line 145 of file paravirt.c.

void ia64_native_setreg_func ( int  regnum,
unsigned long  val 
)

Definition at line 225 of file paravirt.c.

void paravirt_cpu_asm_init ( const struct pv_cpu_asm_switch *  cpu_asm_switch)

Definition at line 579 of file paravirt.c.

Variable Documentation

struct paravirt_patch_branch_target ia64_native_branch_target [] __initconst
Initial value:
= {
#define PARAVIRT_BR_TARGET(name, type)
PARAVIRT_BR_TARGET(leave_syscall, LEAVE_SYSCALL),
PARAVIRT_BR_TARGET(work_processed_syscall, WORK_PROCESSED_SYSCALL),
PARAVIRT_BR_TARGET(leave_kernel, LEAVE_KERNEL),
}

Definition at line 882 of file paravirt.c.

const char ia64_native_leave_kernel[]
const char ia64_native_leave_syscall[]
const char ia64_native_switch_to[]
const char ia64_native_work_processed_syscall[]
struct static_key paravirt_steal_enabled

Definition at line 637 of file paravirt.c.

struct static_key paravirt_steal_rq_enabled

Definition at line 638 of file paravirt.c.

Initial value:
= {
.fc = ia64_native_fc_func,
.thash = ia64_native_thash_func,
.get_cpuid = ia64_native_get_cpuid_func,
.get_pmd = ia64_native_get_pmd_func,
.ptcga = ia64_native_ptcga_func,
.get_rr = ia64_native_get_rr_func,
.set_rr = ia64_native_set_rr_func,
.set_rr0_to_rr4 = ia64_native_set_rr0_to_rr4_func,
.ssm_i = ia64_native_ssm_i_func,
.rsm_i = ia64_native_rsm_i_func,
.get_psr_i = ia64_native_get_psr_i_func,
.intrin_local_irq_restore
= ia64_native_intrin_local_irq_restore_func,
}

Definition at line 555 of file paravirt.c.

Initial value:
= {
.kernel_rpl = 0,
.paravirt_enabled = 0,
.name = "bare hardware"
}

Definition at line 38 of file paravirt.c.

Initial value:
=
{
.patch_branch = ia64_native_patch_branch,
}

Definition at line 52 of file paravirt.c.

struct pv_iosapic_ops pv_iosapic_ops
Initial value:
= {
.__read = ia64_native_iosapic_read,
.__write = ia64_native_iosapic_write,
}

Definition at line 610 of file paravirt.c.

Initial value:
= {
.register_ipi = ia64_native_register_ipi,
.assign_irq_vector = ia64_native_assign_irq_vector,
.free_irq_vector = ia64_native_free_irq_vector,
.register_percpu_irq = ia64_native_register_percpu_irq,
.resend_irq = ia64_native_resend_irq,
}

Definition at line 623 of file paravirt.c.

Initial value:
= {
.do_steal_accounting = ia64_native_do_steal_accounting,
.sched_clock = ia64_native_sched_clock,
}

Definition at line 646 of file paravirt.c.