]> Pileus Git - ~andy/linux/blobdiff - arch/powerpc/include/asm/kvm_host.h
KVM: PPC: Make bools bitfields
[~andy/linux] / arch / powerpc / include / asm / kvm_host.h
index c30a70c6b93155904157bbb028bea2bdfca2a383..5869a487e2e060cfb1c2d377b553d31676fda8d5 100644 (file)
@@ -127,9 +127,9 @@ struct kvmppc_pte {
        u64 eaddr;
        u64 vpage;
        u64 raddr;
-       bool may_read;
-       bool may_write;
-       bool may_execute;
+       bool may_read           : 1;
+       bool may_write          : 1;
+       bool may_execute        : 1;
 };
 
 struct kvmppc_mmu {
@@ -175,7 +175,7 @@ struct kvm_vcpu_arch {
        ulong gpr[32];
 
        u64 fpr[32];
-       u32 fpscr;
+       u64 fpscr;
 
 #ifdef CONFIG_ALTIVEC
        vector128 vr[32];
@@ -186,6 +186,11 @@ struct kvm_vcpu_arch {
        u64 vsr[32];
 #endif
 
+#ifdef CONFIG_PPC_BOOK3S
+       /* For Gekko paired singles */
+       u32 qpr[32];
+#endif
+
        ulong pc;
        ulong ctr;
        ulong lr;
@@ -198,6 +203,7 @@ struct kvm_vcpu_arch {
        ulong msr;
 #ifdef CONFIG_PPC64
        ulong shadow_msr;
+       ulong shadow_srr1;
        ulong hflags;
        ulong guest_owned_ext;
 #endif
@@ -254,16 +260,21 @@ struct kvm_vcpu_arch {
 
        u32 last_inst;
 #ifdef CONFIG_PPC64
-       ulong fault_dsisr;
+       u32 fault_dsisr;
 #endif
        ulong fault_dear;
        ulong fault_esr;
+       ulong queued_dear;
+       ulong queued_esr;
        gpa_t paddr_accessed;
 
        u8 io_gpr; /* GPR used as IO source/target */
        u8 mmio_is_bigendian;
+       u8 mmio_sign_extend;
        u8 dcr_needed;
        u8 dcr_is_write;
+       u8 osi_needed;
+       u8 osi_enabled;
 
        u32 cpr0_cfgaddr; /* holds the last set cpr0_cfgaddr */