Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
vcpu.h File Reference
#include <asm/types.h>
#include <asm/fpu.h>
#include <asm/processor.h>
#include "vti.h"
#include <linux/kvm_host.h>
#include <linux/spinlock.h>
#include <asm/gcc_intrin.h>

Go to the source code of this file.

Data Structures

union  U_IA64_BUNDLE
 
union  U_INST64_A5
 
union  U_INST64_B4
 
union  U_INST64_B8
 
union  U_INST64_B9
 
union  U_INST64_I19
 
union  U_INST64_I26
 
union  U_INST64_I27
 
union  U_INST64_I28
 
union  U_INST64_M28
 
union  U_INST64_M29
 
union  U_INST64_M30
 
union  U_INST64_M31
 
union  U_INST64_M32
 
union  U_INST64_M33
 
union  U_INST64_M35
 
union  U_INST64_M36
 
union  U_INST64_M37
 
union  U_INST64_M41
 
union  U_INST64_M42
 
union  U_INST64_M43
 
union  U_INST64_M44
 
union  U_INST64_M45
 
union  U_INST64_M46
 
union  U_INST64_M47
 
union  U_INST64_M1
 
union  U_INST64_M2
 
union  U_INST64_M3
 
union  U_INST64_M4
 
union  U_INST64_M5
 
union  U_INST64_M6
 
union  U_INST64_M9
 
union  U_INST64_M10
 
union  U_INST64_M12
 
union  U_INST64_M15
 
union  U_INST64
 
union  kvm_va
 

Macros

#define MASK_41   ((unsigned long)0x1ffffffffff)
 
#define VA_MATTR_WB   0x0
 
#define VA_MATTR_UC   0x4
 
#define VA_MATTR_UCE   0x5
 
#define VA_MATTR_WC   0x6
 
#define VA_MATTR_NATPAGE   0x7
 
#define PMASK(size)   (~((size) - 1))
 
#define PSIZE(size)   (1UL<<(size))
 
#define CLEARLSB(ppn, nbits)   (((ppn) >> (nbits)) << (nbits))
 
#define PAGEALIGN(va, ps)   CLEARLSB(va, ps)
 
#define PAGE_FLAGS_RV_MASK   (0x2|(0x3UL<<50)|(((1UL<<11)-1)<<53))
 
#define _PAGE_MA_ST   (0x1 << 2) /* is reserved for software use */
 
#define ARCH_PAGE_SHIFT   12
 
#define INVALID_TI_TAG   (1UL << 63)
 
#define VTLB_PTE_P_BIT   0
 
#define VTLB_PTE_IO_BIT   60
 
#define VTLB_PTE_IO   (1UL<<VTLB_PTE_IO_BIT)
 
#define VTLB_PTE_P   (1UL<<VTLB_PTE_P_BIT)
 
#define vcpu_quick_region_check(_tr_regions, _ifa)   (_tr_regions & (1 << ((unsigned long)_ifa >> 61)))
 
#define vcpu_quick_region_set(_tr_regions, _ifa)   do {_tr_regions |= (1 << ((unsigned long)_ifa >> 61)); } while (0)
 
#define IA64_NO_FAULT   0
 
#define IA64_FAULT   1
 
#define VMM_RBS_OFFSET   ((VMM_TASK_SIZE + 15) & ~15)
 
#define SW_BAD   0 /* Bad mode transitition */
 
#define SW_V2P   1 /* Physical emulatino is activated */
 
#define SW_P2V   2 /* Exit physical mode emulation */
 
#define SW_SELF   3 /* No mode transition */
 
#define SW_NOP   4 /* Mode transition, but without action required */
 
#define GUEST_IN_PHY   0x1
 
#define GUEST_PHY_EMUL   0x2
 
#define current_vcpu   ((struct kvm_vcpu *) ia64_getreg(_IA64_REG_TP))
 
#define VRN_SHIFT   61
 
#define VRN_MASK   0xe000000000000000
 
#define VRN0   0x0UL
 
#define VRN1   0x1UL
 
#define VRN2   0x2UL
 
#define VRN3   0x3UL
 
#define VRN4   0x4UL
 
#define VRN5   0x5UL
 
#define VRN6   0x6UL
 
#define VRN7   0x7UL
 
#define IRQ_NO_MASKED   0
 
#define IRQ_MASKED_BY_VTPR   1
 
#define IRQ_MASKED_BY_INSVC   2 /* masked by inservice IRQ */
 
#define PTA_BASE_SHIFT   15
 
#define IA64_PSR_VM_BIT   46
 
#define IA64_PSR_VM   (__IA64_UL(1) << IA64_PSR_VM_BIT)
 
#define IA64_IFS_V_BIT   63
 
#define IA64_IFS_V   (__IA64_UL(1) << IA64_IFS_V_BIT)
 
#define PHY_PAGE_UC   (_PAGE_A|_PAGE_D|_PAGE_P|_PAGE_MA_UC|_PAGE_AR_RWX)
 
#define PHY_PAGE_WB   (_PAGE_A|_PAGE_D|_PAGE_P|_PAGE_MA_WB|_PAGE_AR_RWX)
 
#define is_physical_mode(v)   ((v->arch.mode_flags) & GUEST_IN_PHY)
 
#define is_virtual_mode(v)   (!is_physical_mode(v))
 
#define MODE_IND(psr)   (((psr).it << 2) + ((psr).dt << 1) + (psr).rt)
 
#define _vmm_raw_spin_lock(x)   do {}while(0)
 
#define _vmm_raw_spin_unlock(x)   do {}while(0)
 
#define __kvm_pa(x)
 
#define __kvm_va(x)
 
#define _REGION_ID(x)
 
#define _REGION_PAGE_SIZE(x)
 
#define _REGION_HW_WALKER(x)
 
#define VCPU(_v, _x)   ((_v)->arch.vpd->_x)
 
#define VMX(_v, _x)   ((_v)->arch._x)
 
#define VLSAPIC_INSVC(vcpu, i)   ((vcpu)->arch.insvc[i])
 
#define VLSAPIC_XTP(_v)   VMX(_v, xtp)
 

Typedefs

typedef unsigned long IA64_INST
 
typedef union U_IA64_BUNDLE IA64_BUNDLE
 
typedef union U_INST64_A5 INST64_A5
 
typedef union U_INST64_B4 INST64_B4
 
typedef union U_INST64_B8 INST64_B8
 
typedef union U_INST64_B9 INST64_B9
 
typedef union U_INST64_I19 INST64_I19
 
typedef union U_INST64_I26 INST64_I26
 
typedef union U_INST64_I27 INST64_I27
 
typedef union U_INST64_I28 INST64_I28
 
typedef union U_INST64_M28 INST64_M28
 
typedef union U_INST64_M29 INST64_M29
 
typedef union U_INST64_M30 INST64_M30
 
typedef union U_INST64_M31 INST64_M31
 
typedef union U_INST64_M32 INST64_M32
 
typedef union U_INST64_M33 INST64_M33
 
typedef union U_INST64_M35 INST64_M35
 
typedef union U_INST64_M36 INST64_M36
 
typedef union U_INST64_M37 INST64_M37
 
typedef union U_INST64_M41 INST64_M41
 
typedef union U_INST64_M42 INST64_M42
 
typedef union U_INST64_M43 INST64_M43
 
typedef union U_INST64_M44 INST64_M44
 
typedef union U_INST64_M45 INST64_M45
 
typedef union U_INST64_M46 INST64_M46
 
typedef union U_INST64_M47 INST64_M47
 
typedef union U_INST64_M1 INST64_M1
 
typedef union U_INST64_M2 INST64_M2
 
typedef union U_INST64_M3 INST64_M3
 
typedef union U_INST64_M4 INST64_M4
 
typedef union U_INST64_M5 INST64_M5
 
typedef union U_INST64_M6 INST64_M6
 
typedef union U_INST64_M9 INST64_M9
 
typedef union U_INST64_M10 INST64_M10
 
typedef union U_INST64_M12 INST64_M12
 
typedef union U_INST64_M15 INST64_M15
 
typedef union U_INST64 INST64
 

Enumerations

enum  { I_TLB = 1, D_TLB = 2 }
 
enum  vhpt_ref { DATA_REF, NA_REF, INST_REF, RSE_REF }
 
enum  tlb_miss_type { INSTRUCTION, DATA, REGISTER }
 

Functions

u64 kvm_get_mpt_entry (u64 gpfn)
 
void vmm_spin_lock (vmm_spinlock_t *lock)
 
void vmm_spin_unlock (vmm_spinlock_t *lock)
 
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_gr (struct kvm_vcpu *vcpu, unsigned long reg)
 
void vcpu_set_gr (struct kvm_vcpu *vcpu, unsigned long reg, u64 val, int nat)
 
unsigned long vcpu_get_psr (struct kvm_vcpu *vcpu)
 
void vcpu_set_psr (struct kvm_vcpu *vcpu, unsigned long val)
 
u64 vcpu_thash (struct kvm_vcpu *vcpu, u64 vadr)
 
void vcpu_bsw0 (struct kvm_vcpu *vcpu)
 
void thash_vhpt_insert (struct kvm_vcpu *v, u64 pte, u64 itir, u64 va, int type)
 
struct thash_datavhpt_lookup (u64 va)
 
u64 guest_vhpt_lookup (u64 iha, u64 *pte)
 
void thash_purge_entries (struct kvm_vcpu *v, u64 va, u64 ps)
 
void thash_purge_entries_remote (struct kvm_vcpu *v, u64 va, u64 ps)
 
u64 translate_phy_pte (u64 *pte, u64 itir, u64 va)
 
void thash_purge_and_insert (struct kvm_vcpu *v, u64 pte, u64 itir, u64 ifa, int type)
 
void thash_purge_all (struct kvm_vcpu *v)
 
struct thash_datavtlb_lookup (struct kvm_vcpu *v, u64 va, int is_data)
 
int vtr_find_overlap (struct kvm_vcpu *vcpu, u64 va, u64 ps, int is_data)
 
void vcpu_increment_iip (struct kvm_vcpu *v)
 
void vcpu_decrement_iip (struct kvm_vcpu *vcpu)
 
void vcpu_pend_interrupt (struct kvm_vcpu *vcpu, u8 vec)
 
void vcpu_unpend_interrupt (struct kvm_vcpu *vcpu, u8 vec)
 
void data_page_not_present (struct kvm_vcpu *vcpu, u64 vadr)
 
void dnat_page_consumption (struct kvm_vcpu *vcpu, u64 vadr)
 
void alt_dtlb (struct kvm_vcpu *vcpu, u64 vadr)
 
void nested_dtlb (struct kvm_vcpu *vcpu)
 
void dvhpt_fault (struct kvm_vcpu *vcpu, u64 vadr)
 
int vhpt_enabled (struct kvm_vcpu *vcpu, u64 vadr, enum vhpt_ref ref)
 
void update_vhpi (struct kvm_vcpu *vcpu, int vec)
 
int irq_masked (struct kvm_vcpu *vcpu, int h_pending, int h_inservice)
 
int fetch_code (struct kvm_vcpu *vcpu, u64 gip, IA64_BUNDLE *pbundle)
 
void emulate_io_inst (struct kvm_vcpu *vcpu, u64 padr, u64 ma)
 
void vmm_transition (struct kvm_vcpu *vcpu)
 
void vmm_trampoline (union context *from, union context *to)
 
int vmm_entry (void)
 
u64 vcpu_get_itc (struct kvm_vcpu *vcpu)
 
void vmm_reset_entry (void)
 
void kvm_init_vtlb (struct kvm_vcpu *v)
 
void kvm_init_vhpt (struct kvm_vcpu *v)
 
void thash_init (struct thash_cb *hcb, u64 sz)
 
void panic_vm (struct kvm_vcpu *v, const char *fmt,...)
 
u64 kvm_gpa_to_mpa (u64 gpa)
 
u64 ia64_call_vsa (u64 proc, u64 arg1, u64 arg2, u64 arg3, u64 arg4, u64 arg5, u64 arg6, u64 arg7)
 

Variables

long vmm_sanity
 

Macro Definition Documentation

#define __kvm_pa (   x)
Value:
({union kvm_va _v; _v.l = (long) (x); \
_v.f.reg = 0; _v.l; })

Definition at line 431 of file vcpu.h.

#define __kvm_va (   x)
Value:
({union kvm_va _v; _v.l = (long) (x); \
_v.f.reg = -1; _v.p; })

Definition at line 433 of file vcpu.h.

#define _PAGE_MA_ST   (0x1 << 2) /* is reserved for software use */

Definition at line 290 of file vcpu.h.

#define _REGION_HW_WALKER (   x)
Value:
({union ia64_rr _v; _v.val = (long)(x); \
_v.ve; })

Definition at line 440 of file vcpu.h.

#define _REGION_ID (   x)
Value:
({union ia64_rr _v; _v.val = (long)(x); \
_v.rid; })

Definition at line 436 of file vcpu.h.

#define _REGION_PAGE_SIZE (   x)
Value:
({union ia64_rr _v; _v.val = (long)(x); \
_v.ps; })

Definition at line 438 of file vcpu.h.

#define _vmm_raw_spin_lock (   x)    do {}while(0)

Definition at line 388 of file vcpu.h.

#define _vmm_raw_spin_unlock (   x)    do {}while(0)

Definition at line 389 of file vcpu.h.

#define ARCH_PAGE_SHIFT   12

Definition at line 292 of file vcpu.h.

#define CLEARLSB (   ppn,
  nbits 
)    (((ppn) >> (nbits)) << (nbits))

Definition at line 287 of file vcpu.h.

#define current_vcpu   ((struct kvm_vcpu *) ia64_getreg(_IA64_REG_TP))

Definition at line 345 of file vcpu.h.

#define GUEST_IN_PHY   0x1

Definition at line 342 of file vcpu.h.

#define GUEST_PHY_EMUL   0x2

Definition at line 343 of file vcpu.h.

#define IA64_FAULT   1

Definition at line 332 of file vcpu.h.

#define IA64_IFS_V   (__IA64_UL(1) << IA64_IFS_V_BIT)

Definition at line 369 of file vcpu.h.

#define IA64_IFS_V_BIT   63

Definition at line 368 of file vcpu.h.

#define IA64_NO_FAULT   0

Definition at line 331 of file vcpu.h.

#define IA64_PSR_VM   (__IA64_UL(1) << IA64_PSR_VM_BIT)

Definition at line 365 of file vcpu.h.

#define IA64_PSR_VM_BIT   46

Definition at line 364 of file vcpu.h.

#define INVALID_TI_TAG   (1UL << 63)

Definition at line 294 of file vcpu.h.

#define IRQ_MASKED_BY_INSVC   2 /* masked by inservice IRQ */

Definition at line 360 of file vcpu.h.

#define IRQ_MASKED_BY_VTPR   1

Definition at line 359 of file vcpu.h.

#define IRQ_NO_MASKED   0

Definition at line 358 of file vcpu.h.

#define is_physical_mode (   v)    ((v->arch.mode_flags) & GUEST_IN_PHY)

Definition at line 378 of file vcpu.h.

#define is_virtual_mode (   v)    (!is_physical_mode(v))

Definition at line 381 of file vcpu.h.

#define MASK_41   ((unsigned long)0x1ffffffffff)

Definition at line 276 of file vcpu.h.

#define MODE_IND (   psr)    (((psr).it << 2) + ((psr).dt << 1) + (psr).rt)

Definition at line 384 of file vcpu.h.

#define PAGE_FLAGS_RV_MASK   (0x2|(0x3UL<<50)|(((1UL<<11)-1)<<53))

Definition at line 289 of file vcpu.h.

#define PAGEALIGN (   va,
  ps 
)    CLEARLSB(va, ps)

Definition at line 288 of file vcpu.h.

#define PHY_PAGE_UC   (_PAGE_A|_PAGE_D|_PAGE_P|_PAGE_MA_UC|_PAGE_AR_RWX)

Definition at line 371 of file vcpu.h.

#define PHY_PAGE_WB   (_PAGE_A|_PAGE_D|_PAGE_P|_PAGE_MA_WB|_PAGE_AR_RWX)

Definition at line 372 of file vcpu.h.

#define PMASK (   size)    (~((size) - 1))

Definition at line 285 of file vcpu.h.

#define PSIZE (   size)    (1UL<<(size))

Definition at line 286 of file vcpu.h.

#define PTA_BASE_SHIFT   15

Definition at line 362 of file vcpu.h.

#define SW_BAD   0 /* Bad mode transitition */

Definition at line 336 of file vcpu.h.

#define SW_NOP   4 /* Mode transition, but without action required */

Definition at line 340 of file vcpu.h.

#define SW_P2V   2 /* Exit physical mode emulation */

Definition at line 338 of file vcpu.h.

#define SW_SELF   3 /* No mode transition */

Definition at line 339 of file vcpu.h.

#define SW_V2P   1 /* Physical emulatino is activated */

Definition at line 337 of file vcpu.h.

#define VA_MATTR_NATPAGE   0x7

Definition at line 283 of file vcpu.h.

#define VA_MATTR_UC   0x4

Definition at line 280 of file vcpu.h.

#define VA_MATTR_UCE   0x5

Definition at line 281 of file vcpu.h.

#define VA_MATTR_WB   0x0

Definition at line 279 of file vcpu.h.

#define VA_MATTR_WC   0x6

Definition at line 282 of file vcpu.h.

#define VCPU (   _v,
  _x 
)    ((_v)->arch.vpd->_x)

Definition at line 446 of file vcpu.h.

#define vcpu_quick_region_check (   _tr_regions,
  _ifa 
)    (_tr_regions & (1 << ((unsigned long)_ifa >> 61)))

Definition at line 301 of file vcpu.h.

#define vcpu_quick_region_set (   _tr_regions,
  _ifa 
)    do {_tr_regions |= (1 << ((unsigned long)_ifa >> 61)); } while (0)

Definition at line 304 of file vcpu.h.

#define VLSAPIC_INSVC (   vcpu,
  i 
)    ((vcpu)->arch.insvc[i])

Definition at line 449 of file vcpu.h.

#define VLSAPIC_XTP (   _v)    VMX(_v, xtp)

Definition at line 450 of file vcpu.h.

#define VMM_RBS_OFFSET   ((VMM_TASK_SIZE + 15) & ~15)

Definition at line 334 of file vcpu.h.

#define VMX (   _v,
  _x 
)    ((_v)->arch._x)

Definition at line 447 of file vcpu.h.

#define VRN0   0x0UL

Definition at line 349 of file vcpu.h.

#define VRN1   0x1UL

Definition at line 350 of file vcpu.h.

#define VRN2   0x2UL

Definition at line 351 of file vcpu.h.

#define VRN3   0x3UL

Definition at line 352 of file vcpu.h.

#define VRN4   0x4UL

Definition at line 353 of file vcpu.h.

#define VRN5   0x5UL

Definition at line 354 of file vcpu.h.

#define VRN6   0x6UL

Definition at line 355 of file vcpu.h.

#define VRN7   0x7UL

Definition at line 356 of file vcpu.h.

#define VRN_MASK   0xe000000000000000

Definition at line 348 of file vcpu.h.

#define VRN_SHIFT   61

Definition at line 347 of file vcpu.h.

#define VTLB_PTE_IO   (1UL<<VTLB_PTE_IO_BIT)

Definition at line 298 of file vcpu.h.

#define VTLB_PTE_IO_BIT   60

Definition at line 297 of file vcpu.h.

#define VTLB_PTE_P   (1UL<<VTLB_PTE_P_BIT)

Definition at line 299 of file vcpu.h.

#define VTLB_PTE_P_BIT   0

Definition at line 296 of file vcpu.h.

Typedef Documentation

typedef union U_IA64_BUNDLE IA64_BUNDLE
typedef unsigned long IA64_INST

Definition at line 40 of file vcpu.h.

typedef union U_INST64 INST64
typedef union U_INST64_A5 INST64_A5
typedef union U_INST64_B4 INST64_B4
typedef union U_INST64_B8 INST64_B8
typedef union U_INST64_B9 INST64_B9
typedef union U_INST64_I19 INST64_I19
typedef union U_INST64_I26 INST64_I26
typedef union U_INST64_I27 INST64_I27
typedef union U_INST64_I28 INST64_I28
typedef union U_INST64_M1 INST64_M1
typedef union U_INST64_M10 INST64_M10
typedef union U_INST64_M12 INST64_M12
typedef union U_INST64_M15 INST64_M15
typedef union U_INST64_M2 INST64_M2
typedef union U_INST64_M28 INST64_M28
typedef union U_INST64_M29 INST64_M29
typedef union U_INST64_M3 INST64_M3
typedef union U_INST64_M30 INST64_M30
typedef union U_INST64_M31 INST64_M31
typedef union U_INST64_M32 INST64_M32
typedef union U_INST64_M33 INST64_M33
typedef union U_INST64_M35 INST64_M35
typedef union U_INST64_M36 INST64_M36
typedef union U_INST64_M37 INST64_M37
typedef union U_INST64_M4 INST64_M4
typedef union U_INST64_M41 INST64_M41
typedef union U_INST64_M42 INST64_M42
typedef union U_INST64_M43 INST64_M43
typedef union U_INST64_M44 INST64_M44
typedef union U_INST64_M45 INST64_M45
typedef union U_INST64_M46 INST64_M46
typedef union U_INST64_M47 INST64_M47
typedef union U_INST64_M5 INST64_M5
typedef union U_INST64_M6 INST64_M6
typedef union U_INST64_M9 INST64_M9

Enumeration Type Documentation

anonymous enum
Enumerator:
I_TLB 
D_TLB 

Definition at line 417 of file vcpu.h.

Enumerator:
INSTRUCTION 
DATA 
REGISTER 

Definition at line 444 of file vcpu.h.

enum vhpt_ref
Enumerator:
DATA_REF 
NA_REF 
INST_REF 
RSE_REF 

Definition at line 443 of file vcpu.h.

Function Documentation

void alt_dtlb ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 239 of file process.c.

void data_page_not_present ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 412 of file process.c.

void dnat_page_consumption ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 397 of file process.c.

void dvhpt_fault ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 281 of file process.c.

void emulate_io_inst ( struct kvm_vcpu vcpu,
u64  padr,
u64  ma 
)

Definition at line 168 of file mmio.c.

int fetch_code ( struct kvm_vcpu vcpu,
u64  gip,
IA64_BUNDLE pbundle 
)

Definition at line 593 of file vtlb.c.

u64 guest_vhpt_lookup ( u64  iha,
u64 pte 
)

Definition at line 236 of file vtlb.c.

u64 ia64_call_vsa ( u64  proc,
u64  arg1,
u64  arg2,
u64  arg3,
u64  arg4,
u64  arg5,
u64  arg6,
u64  arg7 
)
int irq_masked ( struct kvm_vcpu vcpu,
int  h_pending,
int  h_inservice 
)

Definition at line 896 of file vcpu.c.

u64 kvm_get_mpt_entry ( u64  gpfn)

Definition at line 564 of file vtlb.c.

u64 kvm_gpa_to_mpa ( u64  gpa)

Definition at line 581 of file vtlb.c.

void kvm_init_vhpt ( struct kvm_vcpu v)

Definition at line 628 of file vtlb.c.

void kvm_init_vtlb ( struct kvm_vcpu v)

Definition at line 636 of file vtlb.c.

void nested_dtlb ( struct kvm_vcpu vcpu)

Definition at line 229 of file process.c.

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

Definition at line 2193 of file vcpu.c.

void thash_init ( struct thash_cb hcb,
u64  sz 
)

Definition at line 545 of file vtlb.c.

void thash_purge_all ( struct kvm_vcpu v)

Definition at line 474 of file vtlb.c.

void thash_purge_and_insert ( struct kvm_vcpu v,
u64  pte,
u64  itir,
u64  ifa,
int  type 
)

Definition at line 419 of file vtlb.c.

void thash_purge_entries ( struct kvm_vcpu v,
u64  va,
u64  ps 
)

Definition at line 377 of file vtlb.c.

void thash_purge_entries_remote ( struct kvm_vcpu v,
u64  va,
u64  ps 
)

Definition at line 384 of file vtlb.c.

void thash_vhpt_insert ( struct kvm_vcpu v,
u64  pte,
u64  itir,
u64  va,
int  type 
)

Definition at line 199 of file vtlb.c.

u64 translate_phy_pte ( u64 pte,
u64  itir,
u64  va 
)

Definition at line 393 of file vtlb.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_decrement_iip ( struct kvm_vcpu vcpu)

Definition at line 1871 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.

unsigned long vcpu_get_psr ( struct kvm_vcpu vcpu)

Definition at line 1789 of file vcpu.c.

void vcpu_increment_iip ( struct kvm_vcpu v)

Definition at line 1860 of file vcpu.c.

void vcpu_pend_interrupt ( struct kvm_vcpu vcpu,
u8  vec 
)

Definition at line 931 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  val,
int  nat 
)

Definition at line 472 of file vcpu.c.

void vcpu_set_psr ( struct kvm_vcpu vcpu,
unsigned long  val 
)

Definition at line 1626 of file vcpu.c.

u64 vcpu_thash ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 1000 of file vcpu.c.

void vcpu_unpend_interrupt ( struct kvm_vcpu vcpu,
u8  vec 
)

Definition at line 943 of file vcpu.c.

int vhpt_enabled ( struct kvm_vcpu vcpu,
u64  vadr,
enum vhpt_ref  ref 
)

Definition at line 91 of file vtlb.c.

struct thash_data* vhpt_lookup ( u64  va)
read

Definition at line 224 of file vtlb.c.

int vmm_entry ( void  )

Definition at line 2125 of file vcpu.c.

void vmm_reset_entry ( void  )
void vmm_spin_lock ( vmm_spinlock_t *  lock)

Definition at line 63 of file vmm.c.

void vmm_spin_unlock ( vmm_spinlock_t *  lock)

Definition at line 68 of file vmm.c.

void vmm_trampoline ( union context from,
union context to 
)
void vmm_transition ( struct kvm_vcpu vcpu)

Definition at line 1008 of file process.c.

struct thash_data* vtlb_lookup ( struct kvm_vcpu v,
u64  va,
int  is_data 
)
read

Definition at line 513 of file vtlb.c.

int vtr_find_overlap ( struct kvm_vcpu vcpu,
u64  va,
u64  ps,
int  is_data 
)

Definition at line 345 of file vtlb.c.

Variable Documentation

long vmm_sanity

Definition at line 37 of file vmm.c.