Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
book3s.c File Reference
#include <linux/kvm_host.h>
#include <linux/err.h>
#include <linux/export.h>
#include <linux/slab.h>
#include <asm/reg.h>
#include <asm/cputable.h>
#include <asm/cacheflush.h>
#include <asm/tlbflush.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/kvm_ppc.h>
#include <asm/kvm_book3s.h>
#include <asm/mmu_context.h>
#include <asm/page.h>
#include <linux/gfp.h>
#include <linux/sched.h>
#include <linux/vmalloc.h>
#include <linux/highmem.h>
#include "trace.h"

Go to the source code of this file.

Macros

#define VCPU_STAT(x)   offsetof(struct kvm_vcpu, stat.x), KVM_STAT_VCPU
 

Functions

void kvmppc_core_load_host_debugstate (struct kvm_vcpu *vcpu)
 
void kvmppc_core_load_guest_debugstate (struct kvm_vcpu *vcpu)
 
void kvmppc_inject_interrupt (struct kvm_vcpu *vcpu, int vec, u64 flags)
 
void kvmppc_book3s_queue_irqprio (struct kvm_vcpu *vcpu, unsigned int vec)
 
void kvmppc_core_queue_program (struct kvm_vcpu *vcpu, ulong flags)
 
void kvmppc_core_queue_dec (struct kvm_vcpu *vcpu)
 
int kvmppc_core_pending_dec (struct kvm_vcpu *vcpu)
 
void kvmppc_core_dequeue_dec (struct kvm_vcpu *vcpu)
 
void kvmppc_core_queue_external (struct kvm_vcpu *vcpu, struct kvm_interrupt *irq)
 
void kvmppc_core_dequeue_external (struct kvm_vcpu *vcpu, struct kvm_interrupt *irq)
 
int kvmppc_book3s_irqprio_deliver (struct kvm_vcpu *vcpu, unsigned int priority)
 
int kvmppc_core_prepare_to_enter (struct kvm_vcpu *vcpu)
 
pfn_t kvmppc_gfn_to_pfn (struct kvm_vcpu *vcpu, gfn_t gfn)
 
int kvmppc_st (struct kvm_vcpu *vcpu, ulong *eaddr, int size, void *ptr, bool data)
 
int kvmppc_ld (struct kvm_vcpu *vcpu, ulong *eaddr, int size, void *ptr, bool data)
 
int kvm_arch_vcpu_setup (struct kvm_vcpu *vcpu)
 
int kvm_arch_vcpu_ioctl_get_regs (struct kvm_vcpu *vcpu, struct kvm_regs *regs)
 
int kvm_arch_vcpu_ioctl_set_regs (struct kvm_vcpu *vcpu, struct kvm_regs *regs)
 
int kvm_arch_vcpu_ioctl_get_fpu (struct kvm_vcpu *vcpu, struct kvm_fpu *fpu)
 
int kvm_arch_vcpu_ioctl_set_fpu (struct kvm_vcpu *vcpu, struct kvm_fpu *fpu)
 
int kvm_arch_vcpu_ioctl_translate (struct kvm_vcpu *vcpu, struct kvm_translation *tr)
 
void kvmppc_decrementer_func (unsigned long data)
 

Variables

struct kvm_stats_debugfs_item debugfs_entries []
 

Macro Definition Documentation

#define VCPU_STAT (   x)    offsetof(struct kvm_vcpu, stat.x), KVM_STAT_VCPU

Definition at line 39 of file book3s.c.

Function Documentation

int kvm_arch_vcpu_ioctl_get_fpu ( struct kvm_vcpu vcpu,
struct kvm_fpu fpu 
)

Definition at line 469 of file book3s.c.

int kvm_arch_vcpu_ioctl_get_regs ( struct kvm_vcpu vcpu,
struct kvm_regs regs 
)

Definition at line 414 of file book3s.c.

int kvm_arch_vcpu_ioctl_set_fpu ( struct kvm_vcpu vcpu,
struct kvm_fpu fpu 
)

Definition at line 474 of file book3s.c.

int kvm_arch_vcpu_ioctl_set_regs ( struct kvm_vcpu vcpu,
struct kvm_regs regs 
)

Definition at line 442 of file book3s.c.

int kvm_arch_vcpu_ioctl_translate ( struct kvm_vcpu vcpu,
struct kvm_translation tr 
)

Definition at line 479 of file book3s.c.

int kvm_arch_vcpu_setup ( struct kvm_vcpu vcpu)

Definition at line 409 of file book3s.c.

int kvmppc_book3s_irqprio_deliver ( struct kvm_vcpu vcpu,
unsigned int  priority 
)

Definition at line 170 of file book3s.c.

void kvmppc_book3s_queue_irqprio ( struct kvm_vcpu vcpu,
unsigned int  vec 
)

Definition at line 119 of file book3s.c.

void kvmppc_core_dequeue_dec ( struct kvm_vcpu vcpu)

Definition at line 147 of file book3s.c.

void kvmppc_core_dequeue_external ( struct kvm_vcpu vcpu,
struct kvm_interrupt irq 
)

Definition at line 163 of file book3s.c.

void kvmppc_core_load_guest_debugstate ( struct kvm_vcpu vcpu)

Definition at line 68 of file book3s.c.

void kvmppc_core_load_host_debugstate ( struct kvm_vcpu vcpu)

Definition at line 64 of file book3s.c.

int kvmppc_core_pending_dec ( struct kvm_vcpu vcpu)

Definition at line 142 of file book3s.c.

int kvmppc_core_prepare_to_enter ( struct kvm_vcpu vcpu)

Definition at line 261 of file book3s.c.

void kvmppc_core_queue_dec ( struct kvm_vcpu vcpu)

Definition at line 137 of file book3s.c.

void kvmppc_core_queue_external ( struct kvm_vcpu vcpu,
struct kvm_interrupt irq 
)

Definition at line 152 of file book3s.c.

void kvmppc_core_queue_program ( struct kvm_vcpu vcpu,
ulong  flags 
)

Definition at line 131 of file book3s.c.

void kvmppc_decrementer_func ( unsigned long  data)

Definition at line 485 of file book3s.c.

pfn_t kvmppc_gfn_to_pfn ( struct kvm_vcpu vcpu,
gfn_t  gfn 
)

Definition at line 290 of file book3s.c.

void kvmppc_inject_interrupt ( struct kvm_vcpu vcpu,
int  vec,
u64  flags 
)

Definition at line 72 of file book3s.c.

int kvmppc_ld ( struct kvm_vcpu vcpu,
ulong eaddr,
int  size,
void ptr,
bool  data 
)

Definition at line 379 of file book3s.c.

int kvmppc_st ( struct kvm_vcpu vcpu,
ulong eaddr,
int  size,
void ptr,
bool  data 
)

Definition at line 358 of file book3s.c.

Variable Documentation

struct kvm_stats_debugfs_item debugfs_entries[]
Initial value:
= {
{ "exits", VCPU_STAT(sum_exits) },
{ "mmio", VCPU_STAT(mmio_exits) },
{ "sig", VCPU_STAT(signal_exits) },
{ "sysc", VCPU_STAT(syscall_exits) },
{ "inst_emu", VCPU_STAT(emulated_inst_exits) },
{ "dec", VCPU_STAT(dec_exits) },
{ "ext_intr", VCPU_STAT(ext_intr_exits) },
{ "queue_intr", VCPU_STAT(queue_intr) },
{ "halt_wakeup", VCPU_STAT(halt_wakeup) },
{ "pf_storage", VCPU_STAT(pf_storage) },
{ "sp_storage", VCPU_STAT(sp_storage) },
{ "pf_instruc", VCPU_STAT(pf_instruc) },
{ "sp_instruc", VCPU_STAT(sp_instruc) },
{ "ld", VCPU_STAT(ld) },
{ "ld_slow", VCPU_STAT(ld_slow) },
{ "st", VCPU_STAT(st) },
{ "st_slow", VCPU_STAT(st_slow) },
{ NULL }
}

Definition at line 43 of file book3s.c.