Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
vcpu.c File Reference
#include <linux/kvm_host.h>
#include <linux/types.h>
#include <asm/processor.h>
#include <asm/ia64regs.h>
#include <asm/gcc_intrin.h>
#include <asm/kregs.h>
#include <asm/pgtable.h>
#include <asm/tlb.h>
#include "asm-offsets.h"
#include "vcpu.h"

Go to the source code of this file.

Macros

#define RPT(x)   ((u16) &((struct kvm_pt_regs *)0)->x)
 
#define IA64_FIRST_STACKED_GR   32
 
#define IA64_FIRST_ROTATING_FR   32
 
#define CASE_FIXED_FP(reg)
 
#define CASE_FIXED_FP(reg)
 
#define SN_RTC_BASE   (u64 *)(KVM_VMM_BASE+(1UL<<KVM_VMM_SHIFT))
 
#define ITV_VECTOR(itv)   (itv&0xff)
 
#define ITV_IRQ_MASK(itv)   (itv&(1<<16))
 
#define vcpu_bsw0_unat(i, b0unat, b1unat, runat, VMM_PT_REGS_R16_SLOT)
 
#define vcpu_bsw1_unat(i, b0unat, b1unat, runat, VMM_PT_REGS_R16_SLOT)
 
#define MASK(bit, len)
 

Functions

void physical_mode_init (struct kvm_vcpu *vcpu)
 
void switch_to_physical_rid (struct kvm_vcpu *vcpu)
 
void switch_to_virtual_rid (struct kvm_vcpu *vcpu)
 
void switch_mm_mode (struct kvm_vcpu *vcpu, struct ia64_psr old_psr, struct ia64_psr new_psr)
 
void check_mm_mode_switch (struct kvm_vcpu *vcpu, struct ia64_psr old_psr, struct ia64_psr new_psr)
 
void prepare_if_physical_mode (struct kvm_vcpu *vcpu)
 
void recover_if_physical_mode (struct kvm_vcpu *vcpu)
 
void set_rse_reg (struct kvm_pt_regs *regs, unsigned long r1, unsigned long val, unsigned long nat)
 
void getreg (unsigned long regnum, unsigned long *val, int *nat, struct kvm_pt_regs *regs)
 
void setreg (unsigned long regnum, unsigned long val, int nat, struct kvm_pt_regs *regs)
 
u64 vcpu_get_gr (struct kvm_vcpu *vcpu, unsigned long reg)
 
void vcpu_set_gr (struct kvm_vcpu *vcpu, unsigned long reg, u64 value, int nat)
 
void getfpreg (unsigned long regnum, struct ia64_fpreg *fpval, struct kvm_pt_regs *regs)
 
void setfpreg (unsigned long regnum, struct ia64_fpreg *fpval, struct kvm_pt_regs *regs)
 
void vcpu_get_fpreg (struct kvm_vcpu *vcpu, unsigned long reg, struct ia64_fpreg *val)
 
void vcpu_set_fpreg (struct kvm_vcpu *vcpu, unsigned long reg, struct ia64_fpreg *val)
 
u64 vcpu_get_itc (struct kvm_vcpu *vcpu)
 
int irq_masked (struct kvm_vcpu *vcpu, int h_pending, int h_inservice)
 
void vcpu_pend_interrupt (struct kvm_vcpu *vcpu, u8 vec)
 
void vcpu_unpend_interrupt (struct kvm_vcpu *vcpu, u8 vec)
 
void update_vhpi (struct kvm_vcpu *vcpu, int vec)
 
u64 vcpu_get_ivr (struct kvm_vcpu *vcpu)
 
u64 vcpu_thash (struct kvm_vcpu *vcpu, u64 vadr)
 
u64 vcpu_ttag (struct kvm_vcpu *vcpu, u64 vadr)
 
u64 vcpu_tak (struct kvm_vcpu *vcpu, u64 vadr)
 
void kvm_thash (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_ttag (struct kvm_vcpu *vcpu, INST64 inst)
 
int vcpu_tpa (struct kvm_vcpu *vcpu, u64 vadr, unsigned long *padr)
 
int kvm_tpa (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_tak (struct kvm_vcpu *vcpu, INST64 inst)
 
void vcpu_itc_i (struct kvm_vcpu *vcpu, u64 pte, u64 itir, u64 ifa)
 
void vcpu_itc_d (struct kvm_vcpu *vcpu, u64 pte, u64 itir, u64 ifa)
 
void vcpu_itr_i (struct kvm_vcpu *vcpu, u64 slot, u64 pte, u64 itir, u64 ifa)
 
void vcpu_itr_d (struct kvm_vcpu *vcpu, u64 slot, u64 pte, u64 itir, u64 ifa)
 
void vcpu_ptr_d (struct kvm_vcpu *vcpu, u64 ifa, u64 ps)
 
void vcpu_ptr_i (struct kvm_vcpu *vcpu, u64 ifa, u64 ps)
 
void vcpu_ptc_l (struct kvm_vcpu *vcpu, u64 va, u64 ps)
 
void vcpu_ptc_e (struct kvm_vcpu *vcpu, u64 va)
 
void vcpu_ptc_ga (struct kvm_vcpu *vcpu, u64 va, u64 ps)
 
void vcpu_ptc_g (struct kvm_vcpu *vcpu, u64 va, u64 ps)
 
void kvm_ptc_e (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_ptc_g (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_ptc_ga (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_ptc_l (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_ptr_d (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_ptr_i (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_itr_d (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_itr_i (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_itc_d (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_itc_i (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_mov_to_ar_imm (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_mov_to_ar_reg (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_mov_from_ar_reg (struct kvm_vcpu *vcpu, INST64 inst)
 
unsigned long vcpu_get_pkr (struct kvm_vcpu *vcpu, unsigned long reg)
 
void vcpu_set_pkr (struct kvm_vcpu *vcpu, unsigned long reg, unsigned long val)
 
unsigned long vcpu_set_rr (struct kvm_vcpu *vcpu, unsigned long reg, unsigned long val)
 
void kvm_mov_to_rr (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_mov_to_dbr (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_mov_to_ibr (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_mov_to_pmc (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_mov_to_pmd (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_mov_to_pkr (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_mov_from_rr (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_mov_from_pkr (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_mov_from_dbr (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_mov_from_ibr (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_mov_from_pmc (struct kvm_vcpu *vcpu, INST64 inst)
 
unsigned long vcpu_get_cpuid (struct kvm_vcpu *vcpu, unsigned long reg)
 
void kvm_mov_from_cpuid (struct kvm_vcpu *vcpu, INST64 inst)
 
void vcpu_set_tpr (struct kvm_vcpu *vcpu, unsigned long val)
 
unsigned long kvm_mov_to_cr (struct kvm_vcpu *vcpu, INST64 inst)
 
unsigned long kvm_mov_from_cr (struct kvm_vcpu *vcpu, INST64 inst)
 
void vcpu_set_psr (struct kvm_vcpu *vcpu, unsigned long val)
 
unsigned long vcpu_cover (struct kvm_vcpu *vcpu)
 
void vcpu_bsw0 (struct kvm_vcpu *vcpu)
 
void vcpu_bsw1 (struct kvm_vcpu *vcpu)
 
void vcpu_rfi (struct kvm_vcpu *vcpu)
 
unsigned long vcpu_get_psr (struct kvm_vcpu *vcpu)
 
void kvm_rsm (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_ssm (struct kvm_vcpu *vcpu, INST64 inst)
 
void vcpu_set_psr_l (struct kvm_vcpu *vcpu, unsigned long val)
 
void kvm_mov_to_psr (struct kvm_vcpu *vcpu, INST64 inst)
 
void kvm_mov_from_psr (struct kvm_vcpu *vcpu, INST64 inst)
 
void vcpu_increment_iip (struct kvm_vcpu *vcpu)
 
void vcpu_decrement_iip (struct kvm_vcpu *vcpu)
 
void kvm_emulate (struct kvm_vcpu *vcpu, struct kvm_pt_regs *regs)
 
void init_vcpu (struct kvm_vcpu *vcpu)
 
void kvm_init_all_rr (struct kvm_vcpu *vcpu)
 
int vmm_entry (void)
 
void panic_vm (struct kvm_vcpu *v, const char *fmt,...)
 

Variables

int mm_switch_table [8][8]
 

Macro Definition Documentation

#define CASE_FIXED_FP (   reg)
Value:
case (reg) : \
ia64_stf_spill(fpval, reg); \
break
#define CASE_FIXED_FP (   reg)
Value:
case (reg) : \
ia64_ldf_fill(reg, fpval); \
break
#define IA64_FIRST_ROTATING_FR   32

Definition at line 246 of file vcpu.c.

#define IA64_FIRST_STACKED_GR   32

Definition at line 245 of file vcpu.c.

#define ITV_IRQ_MASK (   itv)    (itv&(1<<16))

Definition at line 871 of file vcpu.c.

#define ITV_VECTOR (   itv)    (itv&0xff)

Definition at line 870 of file vcpu.c.

#define MASK (   bit,
  len 
)
Value:
({ \
\
__asm __volatile("dep %0=-1, r0, %1, %2"\
: "=r" (ret): \
"M" (bit), \
"M" (len)); \
ret; \
})

Definition at line 1826 of file vcpu.c.

#define RPT (   x)    ((u16) &((struct kvm_pt_regs *)0)->x)

Definition at line 231 of file vcpu.c.

#define SN_RTC_BASE   (u64 *)(KVM_VMM_BASE+(1UL<<KVM_VMM_SHIFT))

Definition at line 794 of file vcpu.c.

#define vcpu_bsw0_unat (   i,
  b0unat,
  b1unat,
  runat,
  VMM_PT_REGS_R16_SLOT 
)
Value:
do { \
__asm__ __volatile__ ( \
";;extr.u %0 = %3,%6,16;;\n" \
"dep %1 = %0, %1, 0, 16;;\n" \
"st8 [%4] = %1\n" \
"extr.u %0 = %2, 16, 16;;\n" \
"dep %3 = %0, %3, %6, 16;;\n" \
"st8 [%5] = %3\n" \
::"r"(i), "r"(*b1unat), "r"(*b0unat), \
"r"(*runat), "r"(b1unat), "r"(runat), \
"i"(VMM_PT_REGS_R16_SLOT) : "memory"); \
} while (0)

Definition at line 1694 of file vcpu.c.

#define vcpu_bsw1_unat (   i,
  b0unat,
  b1unat,
  runat,
  VMM_PT_REGS_R16_SLOT 
)
Value:
do { \
__asm__ __volatile__ (";;extr.u %0 = %3, %6, 16;;\n" \
"dep %1 = %0, %1, 16, 16;;\n" \
"st8 [%4] = %1\n" \
"extr.u %0 = %2, 0, 16;;\n" \
"dep %3 = %0, %3, %6, 16;;\n" \
"st8 [%5] = %3\n" \
::"r"(i), "r"(*b0unat), "r"(*b1unat), \
"r"(*runat), "r"(b0unat), "r"(runat), \
"i"(VMM_PT_REGS_R16_SLOT) : "memory"); \
} while (0)

Definition at line 1732 of file vcpu.c.

Function Documentation

void check_mm_mode_switch ( struct kvm_vcpu vcpu,
struct ia64_psr  old_psr,
struct ia64_psr  new_psr 
)

Definition at line 184 of file vcpu.c.

void getfpreg ( unsigned long  regnum,
struct ia64_fpreg fpval,
struct kvm_pt_regs regs 
)

Definition at line 484 of file vcpu.c.

void getreg ( unsigned long  regnum,
unsigned long val,
int nat,
struct kvm_pt_regs regs 
)

Definition at line 396 of file vcpu.c.

void init_vcpu ( struct kvm_vcpu vcpu)

Definition at line 2037 of file vcpu.c.

int irq_masked ( struct kvm_vcpu vcpu,
int  h_pending,
int  h_inservice 
)

Definition at line 896 of file vcpu.c.

void kvm_emulate ( struct kvm_vcpu vcpu,
struct kvm_pt_regs regs 
)

Emulate a privileged operation.

Parameters
vcpuvirtual cpu the reason cause virtualization fault the instruction code which cause virtualization fault

Definition at line 1891 of file vcpu.c.

void kvm_init_all_rr ( struct kvm_vcpu vcpu)

Definition at line 2077 of file vcpu.c.

void kvm_itc_d ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1354 of file vcpu.c.

void kvm_itc_i ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1364 of file vcpu.c.

void kvm_itr_d ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1330 of file vcpu.c.

void kvm_itr_i ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1343 of file vcpu.c.

void kvm_mov_from_ar_reg ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1398 of file vcpu.c.

void kvm_mov_from_cpuid ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1561 of file vcpu.c.

unsigned long kvm_mov_from_cr ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1603 of file vcpu.c.

void kvm_mov_from_dbr ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1525 of file vcpu.c.

void kvm_mov_from_ibr ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1534 of file vcpu.c.

void kvm_mov_from_pkr ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1516 of file vcpu.c.

void kvm_mov_from_pmc ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1543 of file vcpu.c.

void kvm_mov_from_psr ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1851 of file vcpu.c.

void kvm_mov_from_rr ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1507 of file vcpu.c.

void kvm_mov_to_ar_imm ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1378 of file vcpu.c.

void kvm_mov_to_ar_reg ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1390 of file vcpu.c.

unsigned long kvm_mov_to_cr ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1576 of file vcpu.c.

void kvm_mov_to_dbr ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1472 of file vcpu.c.

void kvm_mov_to_ibr ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1476 of file vcpu.c.

void kvm_mov_to_pkr ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1498 of file vcpu.c.

void kvm_mov_to_pmc ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1480 of file vcpu.c.

void kvm_mov_to_pmd ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1489 of file vcpu.c.

void kvm_mov_to_psr ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1843 of file vcpu.c.

void kvm_mov_to_rr ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1463 of file vcpu.c.

void kvm_ptc_e ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1277 of file vcpu.c.

void kvm_ptc_g ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1285 of file vcpu.c.

void kvm_ptc_ga ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1294 of file vcpu.c.

void kvm_ptc_l ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1303 of file vcpu.c.

void kvm_ptr_d ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1312 of file vcpu.c.

void kvm_ptr_i ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1321 of file vcpu.c.

void kvm_rsm ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1799 of file vcpu.c.

void kvm_ssm ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1810 of file vcpu.c.

void kvm_tak ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1159 of file vcpu.c.

void kvm_thash ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1057 of file vcpu.c.

int kvm_tpa ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1146 of file vcpu.c.

void kvm_ttag ( struct kvm_vcpu vcpu,
INST64  inst 
)

Definition at line 1066 of file vcpu.c.

void panic_vm ( struct kvm_vcpu v,
const char fmt,
  ... 
)

Definition at line 2193 of file vcpu.c.

void physical_mode_init ( struct kvm_vcpu vcpu)

Definition at line 95 of file vcpu.c.

void prepare_if_physical_mode ( struct kvm_vcpu vcpu)

Definition at line 213 of file vcpu.c.

void recover_if_physical_mode ( struct kvm_vcpu vcpu)

Definition at line 223 of file vcpu.c.

void set_rse_reg ( struct kvm_pt_regs regs,
unsigned long  r1,
unsigned long  val,
unsigned long  nat 
)

Definition at line 338 of file vcpu.c.

void setfpreg ( unsigned long  regnum,
struct ia64_fpreg fpval,
struct kvm_pt_regs regs 
)

Definition at line 630 of file vcpu.c.

void setreg ( unsigned long  regnum,
unsigned long  val,
int  nat,
struct kvm_pt_regs regs 
)

Definition at line 421 of file vcpu.c.

void switch_mm_mode ( struct kvm_vcpu vcpu,
struct ia64_psr  old_psr,
struct ia64_psr  new_psr 
)

Definition at line 133 of file vcpu.c.

void switch_to_physical_rid ( struct kvm_vcpu vcpu)

Definition at line 100 of file vcpu.c.

void switch_to_virtual_rid ( struct kvm_vcpu vcpu)

Definition at line 115 of file vcpu.c.

void update_vhpi ( struct kvm_vcpu vcpu,
int  vec 
)

Definition at line 957 of file vcpu.c.

void vcpu_bsw0 ( struct kvm_vcpu vcpu)

Definition at line 1708 of file vcpu.c.

void vcpu_bsw1 ( struct kvm_vcpu vcpu)

Definition at line 1745 of file vcpu.c.

unsigned long vcpu_cover ( struct kvm_vcpu vcpu)

Definition at line 1676 of file vcpu.c.

void vcpu_decrement_iip ( struct kvm_vcpu vcpu)

Definition at line 1871 of file vcpu.c.

unsigned long vcpu_get_cpuid ( struct kvm_vcpu vcpu,
unsigned long  reg 
)

Definition at line 1552 of file vcpu.c.

void vcpu_get_fpreg ( struct kvm_vcpu vcpu,
unsigned long  reg,
struct ia64_fpreg val 
)

Definition at line 774 of file vcpu.c.

u64 vcpu_get_gr ( struct kvm_vcpu vcpu,
unsigned long  reg 
)

Definition at line 461 of file vcpu.c.

u64 vcpu_get_itc ( struct kvm_vcpu vcpu)

Definition at line 810 of file vcpu.c.

u64 vcpu_get_ivr ( struct kvm_vcpu vcpu)

Definition at line 976 of file vcpu.c.

unsigned long vcpu_get_pkr ( struct kvm_vcpu vcpu,
unsigned long  reg 
)

Definition at line 1410 of file vcpu.c.

unsigned long vcpu_get_psr ( struct kvm_vcpu vcpu)

Definition at line 1789 of file vcpu.c.

void vcpu_increment_iip ( struct kvm_vcpu vcpu)

Definition at line 1860 of file vcpu.c.

void vcpu_itc_d ( struct kvm_vcpu vcpu,
u64  pte,
u64  itir,
u64  ifa 
)

Definition at line 1176 of file vcpu.c.

void vcpu_itc_i ( struct kvm_vcpu vcpu,
u64  pte,
u64  itir,
u64  ifa 
)

Definition at line 1171 of file vcpu.c.

void vcpu_itr_d ( struct kvm_vcpu vcpu,
u64  slot,
u64  pte,
u64  itir,
u64  ifa 
)

Definition at line 1197 of file vcpu.c.

void vcpu_itr_i ( struct kvm_vcpu vcpu,
u64  slot,
u64  pte,
u64  itir,
u64  ifa 
)

Definition at line 1181 of file vcpu.c.

void vcpu_pend_interrupt ( struct kvm_vcpu vcpu,
u8  vec 
)

Definition at line 931 of file vcpu.c.

void vcpu_ptc_e ( struct kvm_vcpu vcpu,
u64  va 
)

Definition at line 1250 of file vcpu.c.

void vcpu_ptc_g ( struct kvm_vcpu vcpu,
u64  va,
u64  ps 
)

Definition at line 1272 of file vcpu.c.

void vcpu_ptc_ga ( struct kvm_vcpu vcpu,
u64  va,
u64  ps 
)

Definition at line 1255 of file vcpu.c.

void vcpu_ptc_l ( struct kvm_vcpu vcpu,
u64  va,
u64  ps 
)

Definition at line 1244 of file vcpu.c.

void vcpu_ptr_d ( struct kvm_vcpu vcpu,
u64  ifa,
u64  ps 
)

Definition at line 1220 of file vcpu.c.

void vcpu_ptr_i ( struct kvm_vcpu vcpu,
u64  ifa,
u64  ps 
)

Definition at line 1232 of file vcpu.c.

void vcpu_rfi ( struct kvm_vcpu vcpu)

Definition at line 1767 of file vcpu.c.

void vcpu_set_fpreg ( struct kvm_vcpu vcpu,
unsigned long  reg,
struct ia64_fpreg val 
)

Definition at line 782 of file vcpu.c.

void vcpu_set_gr ( struct kvm_vcpu vcpu,
unsigned long  reg,
u64  value,
int  nat 
)

Definition at line 472 of file vcpu.c.

void vcpu_set_pkr ( struct kvm_vcpu vcpu,
unsigned long  reg,
unsigned long  val 
)

Definition at line 1415 of file vcpu.c.

void vcpu_set_psr ( struct kvm_vcpu vcpu,
unsigned long  val 
)

Definition at line 1626 of file vcpu.c.

void vcpu_set_psr_l ( struct kvm_vcpu vcpu,
unsigned long  val 
)

Definition at line 1837 of file vcpu.c.

unsigned long vcpu_set_rr ( struct kvm_vcpu vcpu,
unsigned long  reg,
unsigned long  val 
)

Definition at line 1423 of file vcpu.c.

void vcpu_set_tpr ( struct kvm_vcpu vcpu,
unsigned long  val 
)

Definition at line 1570 of file vcpu.c.

u64 vcpu_tak ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 1037 of file vcpu.c.

u64 vcpu_thash ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 1000 of file vcpu.c.

int vcpu_tpa ( struct kvm_vcpu vcpu,
u64  vadr,
unsigned long padr 
)

Definition at line 1075 of file vcpu.c.

u64 vcpu_ttag ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 1020 of file vcpu.c.

void vcpu_unpend_interrupt ( struct kvm_vcpu vcpu,
u8  vec 
)

Definition at line 943 of file vcpu.c.

int vmm_entry ( void  )

Definition at line 2125 of file vcpu.c.

Variable Documentation

int mm_switch_table[8][8]
Initial value:
= {
{SW_SELF, 0, 0, SW_NOP, 0, 0, 0, SW_P2V},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{SW_NOP, 0, 0, SW_SELF, 0, 0, 0, SW_P2V},
{0, 0, 0, 0, 0, 0, 0, SW_P2V},
{0, 0, 0, 0, 0, SW_SELF, 0, SW_P2V},
{0, 0, 0, 0, 0, 0, 0, 0},
{SW_V2P, 0, 0, 0, SW_V2P, SW_V2P, 0, SW_SELF},
}

Definition at line 45 of file vcpu.c.