diff for duplicates of <87im68vw16.fsf@linux.ibm.com> diff --git a/a/1.txt b/N1/1.txt index f8d66f8..76bb647 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -21,7 +21,7 @@ Nicholas Piggin <npiggin@gmail.com> writes: > + ret = kvmppc_h_remove(vcpu, kvmppc_get_gpr(vcpu, 4), > + kvmppc_get_gpr(vcpu, 5), > + kvmppc_get_gpr(vcpu, 6)); -> + if (ret = H_TOO_HARD) +> + if (ret == H_TOO_HARD) > + return RESUME_HOST; > + break; > + case H_ENTER: @@ -29,37 +29,37 @@ Nicholas Piggin <npiggin@gmail.com> writes: > + kvmppc_get_gpr(vcpu, 5), > + kvmppc_get_gpr(vcpu, 6), > + kvmppc_get_gpr(vcpu, 7)); -> + if (ret = H_TOO_HARD) +> + if (ret == H_TOO_HARD) > + return RESUME_HOST; > + break; > + case H_READ: > + ret = kvmppc_h_read(vcpu, kvmppc_get_gpr(vcpu, 4), > + kvmppc_get_gpr(vcpu, 5)); -> + if (ret = H_TOO_HARD) +> + if (ret == H_TOO_HARD) > + return RESUME_HOST; > + break; > + case H_CLEAR_MOD: > + ret = kvmppc_h_clear_mod(vcpu, kvmppc_get_gpr(vcpu, 4), > + kvmppc_get_gpr(vcpu, 5)); -> + if (ret = H_TOO_HARD) +> + if (ret == H_TOO_HARD) > + return RESUME_HOST; > + break; > + case H_CLEAR_REF: > + ret = kvmppc_h_clear_ref(vcpu, kvmppc_get_gpr(vcpu, 4), > + kvmppc_get_gpr(vcpu, 5)); -> + if (ret = H_TOO_HARD) +> + if (ret == H_TOO_HARD) > + return RESUME_HOST; > + break; > + case H_PROTECT: > + ret = kvmppc_h_protect(vcpu, kvmppc_get_gpr(vcpu, 4), > + kvmppc_get_gpr(vcpu, 5), > + kvmppc_get_gpr(vcpu, 6)); -> + if (ret = H_TOO_HARD) +> + if (ret == H_TOO_HARD) > + return RESUME_HOST; > + break; > + case H_BULK_REMOVE: > + ret = kvmppc_h_bulk_remove(vcpu); -> + if (ret = H_TOO_HARD) +> + if (ret == H_TOO_HARD) > + return RESUME_HOST; > + break; > + @@ -84,7 +84,7 @@ ERROR: modpost: "kvmppc_h_read" [arch/powerpc/kvm/kvm-hv.ko] undefined! > default: > return RESUME_HOST; > } -> + WARN_ON_ONCE(ret = H_TOO_HARD); +> + WARN_ON_ONCE(ret == H_TOO_HARD); > kvmppc_set_gpr(vcpu, 3, ret); > vcpu->arch.hcall_needed = 0; > return RESUME_GUEST; @@ -94,12 +94,12 @@ ERROR: modpost: "kvmppc_h_read" [arch/powerpc/kvm/kvm-hv.ko] undefined! > */ > - case BOOK3S_INTERRUPT_H_DATA_STORAGE: > - r = RESUME_PAGE_FAULT; -> - if (vcpu->arch.fault_dsisr = HDSISR_CANARY) +> - if (vcpu->arch.fault_dsisr == HDSISR_CANARY) > + case BOOK3S_INTERRUPT_H_DATA_STORAGE: { > + unsigned long vsid; > + long err; > + -> + if (vcpu->arch.fault_dsisr = HDSISR_CANARY) { +> + if (vcpu->arch.fault_dsisr == HDSISR_CANARY) { > r = RESUME_GUEST; /* Just retry if it's the canary */ > + break; > + } @@ -121,9 +121,9 @@ ERROR: modpost: "kvmppc_h_read" [arch/powerpc/kvm/kvm-hv.ko] undefined! > + } > + err = kvmppc_hpte_hv_fault(vcpu, vcpu->arch.fault_dar, > + vsid, vcpu->arch.fault_dsisr, true); -> + if (err = 0) { +> + if (err == 0) { > + r = RESUME_GUEST; -> + } else if (err = -1 || err = -2) { +> + } else if (err == -1 || err == -2) { > + r = RESUME_PAGE_FAULT; > + } else { > + kvmppc_core_queue_data_storage(vcpu, vcpu->arch.fault_dar, err); @@ -160,9 +160,9 @@ ERROR: modpost: "kvmppc_h_read" [arch/powerpc/kvm/kvm-hv.ko] undefined! > + } > + err = kvmppc_hpte_hv_fault(vcpu, vcpu->arch.fault_dar, > + vsid, vcpu->arch.fault_dsisr, false); -> + if (err = 0) { +> + if (err == 0) { > + r = RESUME_GUEST; -> + } else if (err = -1) { +> + } else if (err == -1) { > + r = RESUME_PAGE_FAULT; > + } else { > + kvmppc_core_queue_inst_storage(vcpu, err); diff --git a/a/content_digest b/N1/content_digest index 3bee394..c5e1616 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -2,7 +2,7 @@ "ref\020210225134652.2127648-35-npiggin@gmail.com\0" "From\0Fabiano Rosas <farosas@linux.ibm.com>\0" "Subject\0Re: [PATCH v2 34/37] KVM: PPC: Book3S HV: add virtual mode handlers for HPT hcalls and page faults\0" - "Date\0Wed, 03 Mar 2021 20:09:57 +0000\0" + "Date\0Wed, 03 Mar 2021 17:09:57 -0300\0" "To\0Nicholas Piggin <npiggin@gmail.com>" " kvm-ppc@vger.kernel.org\0" "Cc\0linuxppc-dev@lists.ozlabs.org" @@ -32,7 +32,7 @@ "> +\t\tret = kvmppc_h_remove(vcpu, kvmppc_get_gpr(vcpu, 4),\n" "> +\t\t\t\t\tkvmppc_get_gpr(vcpu, 5),\n" "> +\t\t\t\t\tkvmppc_get_gpr(vcpu, 6));\n" - "> +\t\tif (ret = H_TOO_HARD)\n" + "> +\t\tif (ret == H_TOO_HARD)\n" "> +\t\t\treturn RESUME_HOST;\n" "> +\t\tbreak;\n" "> +\tcase H_ENTER:\n" @@ -40,37 +40,37 @@ "> +\t\t\t\t\tkvmppc_get_gpr(vcpu, 5),\n" "> +\t\t\t\t\tkvmppc_get_gpr(vcpu, 6),\n" "> +\t\t\t\t\tkvmppc_get_gpr(vcpu, 7));\n" - "> +\t\tif (ret = H_TOO_HARD)\n" + "> +\t\tif (ret == H_TOO_HARD)\n" "> +\t\t\treturn RESUME_HOST;\n" "> +\t\tbreak;\n" "> +\tcase H_READ:\n" "> +\t\tret = kvmppc_h_read(vcpu, kvmppc_get_gpr(vcpu, 4),\n" "> +\t\t\t\t\tkvmppc_get_gpr(vcpu, 5));\n" - "> +\t\tif (ret = H_TOO_HARD)\n" + "> +\t\tif (ret == H_TOO_HARD)\n" "> +\t\t\treturn RESUME_HOST;\n" "> +\t\tbreak;\n" "> +\tcase H_CLEAR_MOD:\n" "> +\t\tret = kvmppc_h_clear_mod(vcpu, kvmppc_get_gpr(vcpu, 4),\n" "> +\t\t\t\t\tkvmppc_get_gpr(vcpu, 5));\n" - "> +\t\tif (ret = H_TOO_HARD)\n" + "> +\t\tif (ret == H_TOO_HARD)\n" "> +\t\t\treturn RESUME_HOST;\n" "> +\t\tbreak;\n" "> +\tcase H_CLEAR_REF:\n" "> +\t\tret = kvmppc_h_clear_ref(vcpu, kvmppc_get_gpr(vcpu, 4),\n" "> +\t\t\t\t\tkvmppc_get_gpr(vcpu, 5));\n" - "> +\t\tif (ret = H_TOO_HARD)\n" + "> +\t\tif (ret == H_TOO_HARD)\n" "> +\t\t\treturn RESUME_HOST;\n" "> +\t\tbreak;\n" "> +\tcase H_PROTECT:\n" "> +\t\tret = kvmppc_h_protect(vcpu, kvmppc_get_gpr(vcpu, 4),\n" "> +\t\t\t\t\tkvmppc_get_gpr(vcpu, 5),\n" "> +\t\t\t\t\tkvmppc_get_gpr(vcpu, 6));\n" - "> +\t\tif (ret = H_TOO_HARD)\n" + "> +\t\tif (ret == H_TOO_HARD)\n" "> +\t\t\treturn RESUME_HOST;\n" "> +\t\tbreak;\n" "> +\tcase H_BULK_REMOVE:\n" "> +\t\tret = kvmppc_h_bulk_remove(vcpu);\n" - "> +\t\tif (ret = H_TOO_HARD)\n" + "> +\t\tif (ret == H_TOO_HARD)\n" "> +\t\t\treturn RESUME_HOST;\n" "> +\t\tbreak;\n" "> +\n" @@ -95,7 +95,7 @@ "> \tdefault:\n" "> \t\treturn RESUME_HOST;\n" "> \t}\n" - "> +\tWARN_ON_ONCE(ret = H_TOO_HARD);\n" + "> +\tWARN_ON_ONCE(ret == H_TOO_HARD);\n" "> \tkvmppc_set_gpr(vcpu, 3, ret);\n" "> \tvcpu->arch.hcall_needed = 0;\n" "> \treturn RESUME_GUEST;\n" @@ -105,12 +105,12 @@ "> \t */\n" "> -\tcase BOOK3S_INTERRUPT_H_DATA_STORAGE:\n" "> -\t\tr = RESUME_PAGE_FAULT;\n" - "> -\t\tif (vcpu->arch.fault_dsisr = HDSISR_CANARY)\n" + "> -\t\tif (vcpu->arch.fault_dsisr == HDSISR_CANARY)\n" "> +\tcase BOOK3S_INTERRUPT_H_DATA_STORAGE: {\n" "> +\t\tunsigned long vsid;\n" "> +\t\tlong err;\n" "> +\n" - "> +\t\tif (vcpu->arch.fault_dsisr = HDSISR_CANARY) {\n" + "> +\t\tif (vcpu->arch.fault_dsisr == HDSISR_CANARY) {\n" "> \t\t\tr = RESUME_GUEST; /* Just retry if it's the canary */\n" "> +\t\t\tbreak;\n" "> +\t\t}\n" @@ -132,9 +132,9 @@ "> +\t\t}\n" "> +\t\terr = kvmppc_hpte_hv_fault(vcpu, vcpu->arch.fault_dar,\n" "> +\t\t\t\tvsid, vcpu->arch.fault_dsisr, true);\n" - "> +\t\tif (err = 0) {\n" + "> +\t\tif (err == 0) {\n" "> +\t\t\tr = RESUME_GUEST;\n" - "> +\t\t} else if (err = -1 || err = -2) {\n" + "> +\t\t} else if (err == -1 || err == -2) {\n" "> +\t\t\tr = RESUME_PAGE_FAULT;\n" "> +\t\t} else {\n" "> +\t\t\tkvmppc_core_queue_data_storage(vcpu, vcpu->arch.fault_dar, err);\n" @@ -171,9 +171,9 @@ "> +\t\t}\n" "> +\t\terr = kvmppc_hpte_hv_fault(vcpu, vcpu->arch.fault_dar,\n" "> +\t\t\t\tvsid, vcpu->arch.fault_dsisr, false);\n" - "> +\t\tif (err = 0) {\n" + "> +\t\tif (err == 0) {\n" "> +\t\t\tr = RESUME_GUEST;\n" - "> +\t\t} else if (err = -1) {\n" + "> +\t\t} else if (err == -1) {\n" "> +\t\t\tr = RESUME_PAGE_FAULT;\n" "> +\t\t} else {\n" "> +\t\t\tkvmppc_core_queue_inst_storage(vcpu, err);\n" @@ -186,4 +186,4 @@ "> \t * This occurs if the guest executes an illegal instruction.\n" "> \t * If the guest debug is disabled, generate a program interrupt" -2deb39f2d24e7841771e4222a1a0484421a726763bd87cf9841d1cd87ca74d78 +f8667006598145f96f02d2b7701beb4d63d6e18d244237672659514883e5f16b
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.