This source file includes following definitions.
- kvmppc_set_gpr
 
- kvmppc_get_gpr
 
- kvmppc_set_cr
 
- kvmppc_get_cr
 
- kvmppc_set_xer
 
- kvmppc_get_xer
 
- kvmppc_need_byteswap
 
- kvmppc_set_ctr
 
- kvmppc_get_ctr
 
- kvmppc_set_lr
 
- kvmppc_get_lr
 
- kvmppc_set_pc
 
- kvmppc_get_pc
 
- kvmppc_get_fault_dar
 
- kvmppc_supports_magic_page
 
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 #ifndef __ASM_KVM_BOOKE_H__
  10 #define __ASM_KVM_BOOKE_H__
  11 
  12 #include <linux/types.h>
  13 #include <linux/kvm_host.h>
  14 
  15 
  16 
  17 
  18 
  19 #define KVMPPC_NR_LPIDS                        64
  20 
  21 #define KVMPPC_INST_EHPRIV              0x7c00021c
  22 #define EHPRIV_OC_SHIFT                 11
  23 
  24 #define EHPRIV_OC_DEBUG                 1
  25 
  26 static inline void kvmppc_set_gpr(struct kvm_vcpu *vcpu, int num, ulong val)
  27 {
  28         vcpu->arch.regs.gpr[num] = val;
  29 }
  30 
  31 static inline ulong kvmppc_get_gpr(struct kvm_vcpu *vcpu, int num)
  32 {
  33         return vcpu->arch.regs.gpr[num];
  34 }
  35 
  36 static inline void kvmppc_set_cr(struct kvm_vcpu *vcpu, u32 val)
  37 {
  38         vcpu->arch.regs.ccr = val;
  39 }
  40 
  41 static inline u32 kvmppc_get_cr(struct kvm_vcpu *vcpu)
  42 {
  43         return vcpu->arch.regs.ccr;
  44 }
  45 
  46 static inline void kvmppc_set_xer(struct kvm_vcpu *vcpu, ulong val)
  47 {
  48         vcpu->arch.regs.xer = val;
  49 }
  50 
  51 static inline ulong kvmppc_get_xer(struct kvm_vcpu *vcpu)
  52 {
  53         return vcpu->arch.regs.xer;
  54 }
  55 
  56 static inline bool kvmppc_need_byteswap(struct kvm_vcpu *vcpu)
  57 {
  58         
  59         return false;
  60 }
  61 
  62 static inline void kvmppc_set_ctr(struct kvm_vcpu *vcpu, ulong val)
  63 {
  64         vcpu->arch.regs.ctr = val;
  65 }
  66 
  67 static inline ulong kvmppc_get_ctr(struct kvm_vcpu *vcpu)
  68 {
  69         return vcpu->arch.regs.ctr;
  70 }
  71 
  72 static inline void kvmppc_set_lr(struct kvm_vcpu *vcpu, ulong val)
  73 {
  74         vcpu->arch.regs.link = val;
  75 }
  76 
  77 static inline ulong kvmppc_get_lr(struct kvm_vcpu *vcpu)
  78 {
  79         return vcpu->arch.regs.link;
  80 }
  81 
  82 static inline void kvmppc_set_pc(struct kvm_vcpu *vcpu, ulong val)
  83 {
  84         vcpu->arch.regs.nip = val;
  85 }
  86 
  87 static inline ulong kvmppc_get_pc(struct kvm_vcpu *vcpu)
  88 {
  89         return vcpu->arch.regs.nip;
  90 }
  91 
  92 static inline ulong kvmppc_get_fault_dar(struct kvm_vcpu *vcpu)
  93 {
  94         return vcpu->arch.fault_dear;
  95 }
  96 
  97 static inline bool kvmppc_supports_magic_page(struct kvm_vcpu *vcpu)
  98 {
  99         
 100 #ifdef CONFIG_KVM_E500V2
 101         return true;
 102 #else
 103         return false;
 104 #endif
 105 }
 106 #endif