KVM: PPC: Make DSISR 32 bits wide
authorAlexander Graf <agraf@suse.de>
Wed, 24 Mar 2010 20:48:19 +0000 (21:48 +0100)
committerAvi Kivity <avi@redhat.com>
Mon, 17 May 2010 09:16:53 +0000 (12:16 +0300)
DSISR is only defined as 32 bits wide. So let's reflect that in the
structs too.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/powerpc/include/asm/kvm_book3s.h
arch/powerpc/include/asm/kvm_host.h
arch/powerpc/kvm/book3s_64_interrupts.S

index 14d0262..9f5a992 100644 (file)
@@ -84,8 +84,8 @@ struct kvmppc_vcpu_book3s {
        u64 hid[6];
        u64 gqr[8];
        int slb_nr;
+       u32 dsisr;
        u64 sdr1;
-       u64 dsisr;
        u64 hior;
        u64 msr_mask;
        u64 vsid_first;
index 119deb4..0ebda67 100644 (file)
@@ -260,7 +260,7 @@ struct kvm_vcpu_arch {
 
        u32 last_inst;
 #ifdef CONFIG_PPC64
-       ulong fault_dsisr;
+       u32 fault_dsisr;
 #endif
        ulong fault_dear;
        ulong fault_esr;
index c1584d0..faca876 100644 (file)
@@ -171,7 +171,7 @@ kvmppc_handler_highmem:
        std     r3, VCPU_PC(r7)
        std     r4, VCPU_SHADOW_SRR1(r7)
        std     r5, VCPU_FAULT_DEAR(r7)
-       std     r6, VCPU_FAULT_DSISR(r7)
+       stw     r6, VCPU_FAULT_DSISR(r7)
 
        ld      r5, VCPU_HFLAGS(r7)
        rldicl. r5, r5, 0, 63           /* CR = ((r5 & 1) == 0) */