Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
vtlb.c File Reference
#include "vcpu.h"
#include <linux/rwsem.h>
#include <asm/tlb.h>

Go to the source code of this file.

Functions

void machine_tlb_purge (u64 va, u64 ps)
 
void local_flush_tlb_all (void)
 
int vhpt_enabled (struct kvm_vcpu *vcpu, u64 vadr, enum vhpt_ref ref)
 
struct thash_datavsa_thash (union ia64_pta vpta, u64 va, u64 vrr, u64 *tag)
 
struct thash_data__vtr_lookup (struct kvm_vcpu *vcpu, u64 va, int type)
 
void mark_pages_dirty (struct kvm_vcpu *v, u64 pte, u64 ps)
 
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 vtlb_insert (struct kvm_vcpu *v, u64 pte, u64 itir, u64 va)
 
int vtr_find_overlap (struct kvm_vcpu *vcpu, u64 va, u64 ps, int type)
 
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)
 
void thash_init (struct thash_cb *hcb, u64 sz)
 
u64 kvm_get_mpt_entry (u64 gpfn)
 
u64 kvm_lookup_mpa (u64 gpfn)
 
u64 kvm_gpa_to_mpa (u64 gpa)
 
int fetch_code (struct kvm_vcpu *vcpu, u64 gip, IA64_BUNDLE *pbundle)
 
void kvm_init_vhpt (struct kvm_vcpu *v)
 
void kvm_init_vtlb (struct kvm_vcpu *v)
 

Function Documentation

struct thash_data* __vtr_lookup ( struct kvm_vcpu vcpu,
u64  va,
int  type 
)
read

Definition at line 130 of file vtlb.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 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.

u64 kvm_lookup_mpa ( u64  gpfn)

Definition at line 574 of file vtlb.c.

void local_flush_tlb_all ( void  )

Definition at line 67 of file vtlb.c.

void machine_tlb_purge ( u64  va,
u64  ps 
)

Definition at line 62 of file vtlb.c.

void mark_pages_dirty ( struct kvm_vcpu v,
u64  pte,
u64  ps 
)

Definition at line 181 of file vtlb.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.

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.

struct thash_data* vsa_thash ( union ia64_pta  vpta,
u64  va,
u64  vrr,
u64 tag 
)
read

Definition at line 116 of file vtlb.c.

void vtlb_insert ( struct kvm_vcpu v,
u64  pte,
u64  itir,
u64  va 
)

Definition at line 329 of file vtlb.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  type 
)

Definition at line 345 of file vtlb.c.