diff for duplicates of <20111206061402.GP12389@drongo> diff --git a/a/1.txt b/N1/1.txt index 758ff69..585e4a9 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -52,7 +52,7 @@ index 9a59b6d..75a1b42 100644 --- a/arch/powerpc/include/asm/kvm_book3s_64.h +++ b/arch/powerpc/include/asm/kvm_book3s_64.h @@ -130,6 +130,37 @@ static inline int hpte_cache_flags_ok(unsigned long ptel, unsigned long io_type) - return (wimg & (HPTE_R_W | HPTE_R_I)) = io_type; + return (wimg & (HPTE_R_W | HPTE_R_I)) == io_type; } +/* @@ -198,7 +198,7 @@ index 2d31519..6919d99 100644 + vcpu->arch.pgdir = current->mm->pgd; ret = kvmppc_h_enter(vcpu, flags, pte_index, pteh, ptel); preempt_enable(); - if (ret = H_TOO_HARD) { + if (ret == H_TOO_HARD) { @@ -488,11 +494,15 @@ int kvmppc_book3s_hv_page_fault(struct kvm_run *run, struct kvm_vcpu *vcpu, { struct kvm *kvm = vcpu->kvm; @@ -360,7 +360,7 @@ index 2d31519..6919d99 100644 + */ + i = *rmapp & KVMPPC_RMAP_INDEX; + j = rev[i].forw; -+ if (j = i) { ++ if (j == i) { + /* chain is now empty */ + j = 0; + } else { @@ -381,7 +381,7 @@ index 2d31519..6919d99 100644 + ptel = rev[i].guest_rpte; + psize = hpte_page_size(hptep[0], ptel); + if ((hptep[0] & HPTE_V_VALID) && -+ hpte_rpn(ptel, psize) = gfn) { ++ hpte_rpn(ptel, psize) == gfn) { + kvmppc_invalidate_hpte(kvm, hptep, i); + hptep[0] |= HPTE_V_ABSENT; + } @@ -627,7 +627,7 @@ index d58a885..6248536 100644 unsigned long *rmap; + pte_t pte; + unsigned long mmu_seq; - bool realmode = vcpu->arch.vcore->vcore_state = VCORE_RUNNING; + bool realmode = vcpu->arch.vcore->vcore_state == VCORE_RUNNING; psize = hpte_page_size(pteh, ptel); @@ -141,11 +165,16 @@ long kvmppc_h_enter(struct kvm_vcpu *vcpu, unsigned long flags, @@ -787,7 +787,7 @@ index d58a885..6248536 100644 pp = gr & (HPTE_R_PP0 | HPTE_R_PP); key = (vcpu->arch.shregs.msr & MSR_PR) ? SLB_VSID_KP : SLB_VSID_KS; - if (status & DSISR_ISSTORE) { -+ status &= ~DSISR_NOHPTE; /* DSISR_NOHPTE = SRR1_ISI_NOPT */ ++ status &= ~DSISR_NOHPTE; /* DSISR_NOHPTE == SRR1_ISI_NOPT */ + if (!data) { + if (gr & (HPTE_R_N | HPTE_R_G)) + return status | SRR1_ISI_N_OR_G; @@ -823,7 +823,7 @@ index d58a885..6248536 100644 - if (vcpu->arch.shregs.msr & MSR_IR) + /* Check the storage key to see if it is possibly emulated MMIO */ + if (data && (vcpu->arch.shregs.msr & MSR_IR) && -+ (r & (HPTE_R_KEY_HI | HPTE_R_KEY_LO)) = ++ (r & (HPTE_R_KEY_HI | HPTE_R_KEY_LO)) == + (HPTE_R_KEY_HI | HPTE_R_KEY_LO)) return -2; /* MMIO emulation - load instr word */ diff --git a/a/content_digest b/N1/content_digest index d9da193..adecc3d 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,7 +1,7 @@ "ref\020111206060156.GD12389@drongo\0" "From\0Paul Mackerras <paulus@samba.org>\0" "Subject\0[PATCH 12/13] KVM: PPC: Implement MMU notifiers for Book3S HV guests\0" - "Date\0Tue, 06 Dec 2011 06:14:02 +0000\0" + "Date\0Tue, 6 Dec 2011 17:14:02 +1100\0" "To\0Alexander Graf <agraf@suse.de>\0" "Cc\0linuxppc-dev@ozlabs.org" kvm@vger.kernel.org @@ -62,7 +62,7 @@ "--- a/arch/powerpc/include/asm/kvm_book3s_64.h\n" "+++ b/arch/powerpc/include/asm/kvm_book3s_64.h\n" "@@ -130,6 +130,37 @@ static inline int hpte_cache_flags_ok(unsigned long ptel, unsigned long io_type)\n" - " \treturn (wimg & (HPTE_R_W | HPTE_R_I)) = io_type;\n" + " \treturn (wimg & (HPTE_R_W | HPTE_R_I)) == io_type;\n" " }\n" " \n" "+/*\n" @@ -208,7 +208,7 @@ "+\tvcpu->arch.pgdir = current->mm->pgd;\n" " \tret = kvmppc_h_enter(vcpu, flags, pte_index, pteh, ptel);\n" " \tpreempt_enable();\n" - " \tif (ret = H_TOO_HARD) {\n" + " \tif (ret == H_TOO_HARD) {\n" "@@ -488,11 +494,15 @@ int kvmppc_book3s_hv_page_fault(struct kvm_run *run, struct kvm_vcpu *vcpu,\n" " {\n" " \tstruct kvm *kvm = vcpu->kvm;\n" @@ -370,7 +370,7 @@ "+\t\t */\n" "+\t\ti = *rmapp & KVMPPC_RMAP_INDEX;\n" "+\t\tj = rev[i].forw;\n" - "+\t\tif (j = i) {\n" + "+\t\tif (j == i) {\n" "+\t\t\t/* chain is now empty */\n" "+\t\t\tj = 0;\n" "+\t\t} else {\n" @@ -391,7 +391,7 @@ "+\t\tptel = rev[i].guest_rpte;\n" "+\t\tpsize = hpte_page_size(hptep[0], ptel);\n" "+\t\tif ((hptep[0] & HPTE_V_VALID) &&\n" - "+\t\t hpte_rpn(ptel, psize) = gfn) {\n" + "+\t\t hpte_rpn(ptel, psize) == gfn) {\n" "+\t\t\tkvmppc_invalidate_hpte(kvm, hptep, i);\n" "+\t\t\thptep[0] |= HPTE_V_ABSENT;\n" "+\t\t}\n" @@ -637,7 +637,7 @@ " \tunsigned long *rmap;\n" "+\tpte_t pte;\n" "+\tunsigned long mmu_seq;\n" - " \tbool realmode = vcpu->arch.vcore->vcore_state = VCORE_RUNNING;\n" + " \tbool realmode = vcpu->arch.vcore->vcore_state == VCORE_RUNNING;\n" " \n" " \tpsize = hpte_page_size(pteh, ptel);\n" "@@ -141,11 +165,16 @@ long kvmppc_h_enter(struct kvm_vcpu *vcpu, unsigned long flags,\n" @@ -797,7 +797,7 @@ " \tpp = gr & (HPTE_R_PP0 | HPTE_R_PP);\n" " \tkey = (vcpu->arch.shregs.msr & MSR_PR) ? SLB_VSID_KP : SLB_VSID_KS;\n" "-\tif (status & DSISR_ISSTORE) {\n" - "+\tstatus &= ~DSISR_NOHPTE;\t/* DSISR_NOHPTE = SRR1_ISI_NOPT */\n" + "+\tstatus &= ~DSISR_NOHPTE;\t/* DSISR_NOHPTE == SRR1_ISI_NOPT */\n" "+\tif (!data) {\n" "+\t\tif (gr & (HPTE_R_N | HPTE_R_G))\n" "+\t\t\treturn status | SRR1_ISI_N_OR_G;\n" @@ -833,7 +833,7 @@ "-\tif (vcpu->arch.shregs.msr & MSR_IR)\n" "+\t/* Check the storage key to see if it is possibly emulated MMIO */\n" "+\tif (data && (vcpu->arch.shregs.msr & MSR_IR) &&\n" - "+\t (r & (HPTE_R_KEY_HI | HPTE_R_KEY_LO)) =\n" + "+\t (r & (HPTE_R_KEY_HI | HPTE_R_KEY_LO)) ==\n" "+\t (HPTE_R_KEY_HI | HPTE_R_KEY_LO))\n" " \t\treturn -2;\t/* MMIO emulation - load instr word */\n" " \n" @@ -953,4 +953,4 @@ "-- \n" 1.7.5.4 -d9a4dbbaf2668b4c2a088fd7fdafda6e0e70b45d099b57b8c6eb65b7569f469b +3b16f7864f92d8b85d3d8b3afe25c2226c6c7dc9231a72cd31aa6c16abe19840
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.