Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
e500.c File Reference
#include <linux/kvm_host.h>
#include <linux/slab.h>
#include <linux/err.h>
#include <linux/export.h>
#include <asm/reg.h>
#include <asm/cputable.h>
#include <asm/tlbflush.h>
#include <asm/kvm_ppc.h>
#include "../mm/mmu_decl.h"
#include "booke.h"
#include "e500.h"

Go to the source code of this file.

Data Structures

struct  id
 
struct  vcpu_id_table
 
struct  pcpu_id_table
 

Macros

#define NUM_TIDS   256
 

Functions

unsigned int kvmppc_e500_get_sid (struct kvmppc_vcpu_e500 *vcpu_e500, unsigned int as, unsigned int gid, unsigned int pr, int avoid_recursion)
 
unsigned int kvmppc_e500_get_tlb_stid (struct kvm_vcpu *vcpu, struct kvm_book3e_206_tlb_entry *gtlbe)
 
void kvmppc_set_pid (struct kvm_vcpu *vcpu, u32 pid)
 
void kvmppc_e500_tlbil_one (struct kvmppc_vcpu_e500 *vcpu_e500, struct kvm_book3e_206_tlb_entry *gtlbe)
 
void kvmppc_e500_tlbil_all (struct kvmppc_vcpu_e500 *vcpu_e500)
 
void kvmppc_mmu_msr_notify (struct kvm_vcpu *vcpu, u32 old_msr)
 
void kvmppc_core_load_host_debugstate (struct kvm_vcpu *vcpu)
 
void kvmppc_core_load_guest_debugstate (struct kvm_vcpu *vcpu)
 
void kvmppc_core_vcpu_load (struct kvm_vcpu *vcpu, int cpu)
 
void kvmppc_core_vcpu_put (struct kvm_vcpu *vcpu)
 
int kvmppc_core_check_processor_compat (void)
 
int kvmppc_core_vcpu_setup (struct kvm_vcpu *vcpu)
 
void kvmppc_core_get_sregs (struct kvm_vcpu *vcpu, struct kvm_sregs *sregs)
 
int kvmppc_core_set_sregs (struct kvm_vcpu *vcpu, struct kvm_sregs *sregs)
 
struct kvm_vcpukvmppc_core_vcpu_create (struct kvm *kvm, unsigned int id)
 
void kvmppc_core_vcpu_free (struct kvm_vcpu *vcpu)
 
int kvmppc_core_init_vm (struct kvm *kvm)
 
void kvmppc_core_destroy_vm (struct kvm *kvm)
 
 module_init (kvmppc_e500_init)
 
 module_exit (kvmppc_e500_exit)
 

Macro Definition Documentation

#define NUM_TIDS   256

Definition at line 34 of file e500.c.

Function Documentation

int kvmppc_core_check_processor_compat ( void  )

Definition at line 326 of file e500.c.

void kvmppc_core_destroy_vm ( struct kvm kvm)

Definition at line 486 of file e500.c.

void kvmppc_core_get_sregs ( struct kvm_vcpu vcpu,
struct kvm_sregs sregs 
)

Definition at line 370 of file e500.c.

int kvmppc_core_init_vm ( struct kvm kvm)

Definition at line 481 of file e500.c.

void kvmppc_core_load_guest_debugstate ( struct kvm_vcpu vcpu)

Definition at line 304 of file e500.c.

void kvmppc_core_load_host_debugstate ( struct kvm_vcpu vcpu)

Definition at line 300 of file e500.c.

int kvmppc_core_set_sregs ( struct kvm_vcpu vcpu,
struct kvm_sregs sregs 
)

Definition at line 393 of file e500.c.

struct kvm_vcpu* kvmppc_core_vcpu_create ( struct kvm kvm,
unsigned int  id 
)
read

Definition at line 428 of file e500.c.

void kvmppc_core_vcpu_free ( struct kvm_vcpu vcpu)

Definition at line 470 of file e500.c.

void kvmppc_core_vcpu_load ( struct kvm_vcpu vcpu,
int  cpu 
)

Definition at line 308 of file e500.c.

void kvmppc_core_vcpu_put ( struct kvm_vcpu vcpu)

Definition at line 316 of file e500.c.

int kvmppc_core_vcpu_setup ( struct kvm_vcpu vcpu)

Definition at line 355 of file e500.c.

unsigned int kvmppc_e500_get_sid ( struct kvmppc_vcpu_e500 vcpu_e500,
unsigned int  as,
unsigned int  gid,
unsigned int  pr,
int  avoid_recursion 
)

Definition at line 187 of file e500.c.

unsigned int kvmppc_e500_get_tlb_stid ( struct kvm_vcpu vcpu,
struct kvm_book3e_206_tlb_entry gtlbe 
)

Definition at line 216 of file e500.c.

void kvmppc_e500_tlbil_all ( struct kvmppc_vcpu_e500 vcpu_e500)

Definition at line 289 of file e500.c.

void kvmppc_e500_tlbil_one ( struct kvmppc_vcpu_e500 vcpu_e500,
struct kvm_book3e_206_tlb_entry gtlbe 
)

Definition at line 234 of file e500.c.

void kvmppc_mmu_msr_notify ( struct kvm_vcpu vcpu,
u32  old_msr 
)

Definition at line 294 of file e500.c.

void kvmppc_set_pid ( struct kvm_vcpu vcpu,
u32  pid 
)

Definition at line 223 of file e500.c.

module_exit ( kvmppc_e500_exit  )
module_init ( kvmppc_e500_init  )