Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Enumerations | Functions | Variables
booke.h File Reference
#include <linux/types.h>
#include <linux/kvm_host.h>
#include <asm/kvm_ppc.h>
#include <asm/switch_to.h>
#include "timing.h"

Go to the source code of this file.

Macros

#define BOOKE_IRQPRIO_DATA_STORAGE   0
 
#define BOOKE_IRQPRIO_INST_STORAGE   1
 
#define BOOKE_IRQPRIO_ALIGNMENT   2
 
#define BOOKE_IRQPRIO_PROGRAM   3
 
#define BOOKE_IRQPRIO_FP_UNAVAIL   4
 
#define BOOKE_IRQPRIO_SPE_UNAVAIL   5
 
#define BOOKE_IRQPRIO_SPE_FP_DATA   6
 
#define BOOKE_IRQPRIO_SPE_FP_ROUND   7
 
#define BOOKE_IRQPRIO_SYSCALL   8
 
#define BOOKE_IRQPRIO_AP_UNAVAIL   9
 
#define BOOKE_IRQPRIO_DTLB_MISS   10
 
#define BOOKE_IRQPRIO_ITLB_MISS   11
 
#define BOOKE_IRQPRIO_MACHINE_CHECK   12
 
#define BOOKE_IRQPRIO_DEBUG   13
 
#define BOOKE_IRQPRIO_CRITICAL   14
 
#define BOOKE_IRQPRIO_WATCHDOG   15
 
#define BOOKE_IRQPRIO_EXTERNAL   16
 
#define BOOKE_IRQPRIO_FIT   17
 
#define BOOKE_IRQPRIO_DECREMENTER   18
 
#define BOOKE_IRQPRIO_PERFORMANCE_MONITOR   19
 
#define BOOKE_IRQPRIO_EXTERNAL_LEVEL   20
 
#define BOOKE_IRQPRIO_DBELL   21
 
#define BOOKE_IRQPRIO_DBELL_CRIT   22
 
#define BOOKE_IRQPRIO_MAX   23
 
#define BOOKE_IRQMASK_EE
 
#define BOOKE_IRQMASK_CE
 

Enumerations

enum  int_class { INT_CLASS_NONCRIT, INT_CLASS_CRIT, INT_CLASS_MC, INT_CLASS_DBG }
 

Functions

void kvmppc_set_msr (struct kvm_vcpu *vcpu, u32 new_msr)
 
void kvmppc_mmu_msr_notify (struct kvm_vcpu *vcpu, u32 old_msr)
 
void kvmppc_set_tcr (struct kvm_vcpu *vcpu, u32 new_tcr)
 
void kvmppc_set_tsr_bits (struct kvm_vcpu *vcpu, u32 tsr_bits)
 
void kvmppc_clr_tsr_bits (struct kvm_vcpu *vcpu, u32 tsr_bits)
 
int kvmppc_booke_emulate_op (struct kvm_run *run, struct kvm_vcpu *vcpu, unsigned int inst, int *advance)
 
int kvmppc_booke_emulate_mfspr (struct kvm_vcpu *vcpu, int sprn, ulong *spr_val)
 
int kvmppc_booke_emulate_mtspr (struct kvm_vcpu *vcpu, int sprn, ulong spr_val)
 
void kvmppc_load_guest_spe (struct kvm_vcpu *vcpu)
 
void kvmppc_save_guest_spe (struct kvm_vcpu *vcpu)
 
void kvmppc_vcpu_disable_spe (struct kvm_vcpu *vcpu)
 
void kvmppc_booke_vcpu_load (struct kvm_vcpu *vcpu, int cpu)
 
void kvmppc_booke_vcpu_put (struct kvm_vcpu *vcpu)
 
void kvmppc_set_pending_interrupt (struct kvm_vcpu *vcpu, enum int_class type)
 

Variables

unsigned long kvmppc_booke_handlers
 

Macro Definition Documentation

#define BOOKE_IRQMASK_CE
Value:

Definition at line 63 of file booke.h.

#define BOOKE_IRQMASK_EE
Value:

Definition at line 56 of file booke.h.

#define BOOKE_IRQPRIO_ALIGNMENT   2

Definition at line 32 of file booke.h.

#define BOOKE_IRQPRIO_AP_UNAVAIL   9

Definition at line 39 of file booke.h.

#define BOOKE_IRQPRIO_CRITICAL   14

Definition at line 44 of file booke.h.

#define BOOKE_IRQPRIO_DATA_STORAGE   0

Definition at line 30 of file booke.h.

#define BOOKE_IRQPRIO_DBELL   21

Definition at line 52 of file booke.h.

#define BOOKE_IRQPRIO_DBELL_CRIT   22

Definition at line 53 of file booke.h.

#define BOOKE_IRQPRIO_DEBUG   13

Definition at line 43 of file booke.h.

#define BOOKE_IRQPRIO_DECREMENTER   18

Definition at line 48 of file booke.h.

#define BOOKE_IRQPRIO_DTLB_MISS   10

Definition at line 40 of file booke.h.

#define BOOKE_IRQPRIO_EXTERNAL   16

Definition at line 46 of file booke.h.

#define BOOKE_IRQPRIO_EXTERNAL_LEVEL   20

Definition at line 51 of file booke.h.

#define BOOKE_IRQPRIO_FIT   17

Definition at line 47 of file booke.h.

#define BOOKE_IRQPRIO_FP_UNAVAIL   4

Definition at line 34 of file booke.h.

#define BOOKE_IRQPRIO_INST_STORAGE   1

Definition at line 31 of file booke.h.

#define BOOKE_IRQPRIO_ITLB_MISS   11

Definition at line 41 of file booke.h.

#define BOOKE_IRQPRIO_MACHINE_CHECK   12

Definition at line 42 of file booke.h.

#define BOOKE_IRQPRIO_MAX   23

Definition at line 54 of file booke.h.

#define BOOKE_IRQPRIO_PERFORMANCE_MONITOR   19

Definition at line 49 of file booke.h.

#define BOOKE_IRQPRIO_PROGRAM   3

Definition at line 33 of file booke.h.

#define BOOKE_IRQPRIO_SPE_FP_DATA   6

Definition at line 36 of file booke.h.

#define BOOKE_IRQPRIO_SPE_FP_ROUND   7

Definition at line 37 of file booke.h.

#define BOOKE_IRQPRIO_SPE_UNAVAIL   5

Definition at line 35 of file booke.h.

#define BOOKE_IRQPRIO_SYSCALL   8

Definition at line 38 of file booke.h.

#define BOOKE_IRQPRIO_WATCHDOG   15

Definition at line 45 of file booke.h.

Enumeration Type Documentation

enum int_class
Enumerator:
INT_CLASS_NONCRIT 
INT_CLASS_CRIT 
INT_CLASS_MC 
INT_CLASS_DBG 

Definition at line 91 of file booke.h.

Function Documentation

int kvmppc_booke_emulate_mfspr ( struct kvm_vcpu vcpu,
int  sprn,
ulong spr_val 
)

Definition at line 240 of file booke_emulate.c.

int kvmppc_booke_emulate_mtspr ( struct kvm_vcpu vcpu,
int  sprn,
ulong  spr_val 
)

Definition at line 118 of file booke_emulate.c.

int kvmppc_booke_emulate_op ( struct kvm_run run,
struct kvm_vcpu vcpu,
unsigned int  inst,
int advance 
)

Definition at line 46 of file booke_emulate.c.

void kvmppc_booke_vcpu_load ( struct kvm_vcpu vcpu,
int  cpu 
)

Definition at line 1299 of file booke.c.

void kvmppc_booke_vcpu_put ( struct kvm_vcpu vcpu)

Definition at line 1304 of file booke.c.

void kvmppc_clr_tsr_bits ( struct kvm_vcpu vcpu,
u32  tsr_bits 
)

Definition at line 1281 of file booke.c.

void kvmppc_load_guest_spe ( struct kvm_vcpu vcpu)
void kvmppc_mmu_msr_notify ( struct kvm_vcpu vcpu,
u32  old_msr 
)

Definition at line 389 of file 44x_tlb.c.

void kvmppc_save_guest_spe ( struct kvm_vcpu vcpu)
void kvmppc_set_msr ( struct kvm_vcpu vcpu,
u32  new_msr 
)

Definition at line 127 of file booke.c.

void kvmppc_set_pending_interrupt ( struct kvm_vcpu vcpu,
enum int_class  type 
)

Definition at line 29 of file e500mc.c.

void kvmppc_set_tcr ( struct kvm_vcpu vcpu,
u32  new_tcr 
)

Definition at line 1267 of file booke.c.

void kvmppc_set_tsr_bits ( struct kvm_vcpu vcpu,
u32  tsr_bits 
)

Definition at line 1273 of file booke.c.

void kvmppc_vcpu_disable_spe ( struct kvm_vcpu vcpu)

Variable Documentation

unsigned long kvmppc_booke_handlers

Definition at line 43 of file booke.c.