All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20111206061056.GN12389@drongo>

diff --git a/a/1.txt b/N1/1.txt
index 16b2973..e7c3dbc 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -86,7 +86,7 @@ index 90e6658..9a59b6d 100644
 +static inline bool hpte_write_permission(unsigned long pp, unsigned long key)
 +{
 +	if (key)
-+		return pp = PP_RWRW;
++		return pp == PP_RWRW;
 +	return pp <= PP_RWRW;
 +}
 +
@@ -277,7 +277,7 @@ index b904c40..2d31519 100644
 +		else
 +			mask = ESID_MASK;
 +
-+		if (((vcpu->arch.slb[i].orige ^ eaddr) & mask) = 0)
++		if (((vcpu->arch.slb[i].orige ^ eaddr) & mask) == 0)
 +			return &vcpu->arch.slb[i];
 +	}
 +	return NULL;
@@ -370,7 +370,7 @@ index b904c40..2d31519 100644
 +	unsigned int mask;
 +
 +	mask = 0x10000000;
-+	if ((instr & 0xfc000000) = 0x7c000000)
++	if ((instr & 0xfc000000) == 0x7c000000)
 +		mask = 0x100;		/* major opcode 31 */
 +	return (instr & mask) != 0;
 +}
@@ -387,9 +387,9 @@ index b904c40..2d31519 100644
 +	 * kvmppc_ld returns.
 +	 * If we fail, we just return to the guest and try executing it again.
 +	 */
-+	if (vcpu->arch.last_inst = KVM_INST_FETCH_FAILED) {
++	if (vcpu->arch.last_inst == KVM_INST_FETCH_FAILED) {
 +		ret = kvmppc_ld(vcpu, &srr0, sizeof(u32), &last_inst, false);
-+		if (ret != EMULATE_DONE || last_inst = KVM_INST_FETCH_FAILED)
++		if (ret != EMULATE_DONE || last_inst == KVM_INST_FETCH_FAILED)
 +			return RESUME_GUEST;
 +		vcpu->arch.last_inst = last_inst;
 +	}
@@ -552,7 +552,7 @@ index b600f8c..d58a885 100644
 +		/* PPC970 can't do emulated MMIO */
 +		if (!cpu_has_feature(CPU_FTR_ARCH_206))
 +			return H_PARAMETER;
-+		/* Emulated MMIO - mark this with key1 */
++		/* Emulated MMIO - mark this with key=31 */
 +		pteh |= HPTE_V_ABSENT;
 +		ptel |= HPTE_R_KEY_HI | HPTE_R_KEY_LO;
 +		goto do_insert;
@@ -575,11 +575,11 @@ index b600f8c..d58a885 100644
 + do_insert:
  	if (pte_index >= HPT_NPTE)
  		return H_PARAMETER;
- 	if (likely((flags & H_EXACT) = 0)) {
+ 	if (likely((flags & H_EXACT) == 0)) {
 @@ -187,7 +197,8 @@ long kvmppc_h_enter(struct kvm_vcpu *vcpu, unsigned long flags,
  		hpte = (unsigned long *)(kvm->arch.hpt_virt + (pte_index << 4));
  		for (i = 0; i < 8; ++i) {
- 			if ((*hpte & HPTE_V_VALID) = 0 &&
+ 			if ((*hpte & HPTE_V_VALID) == 0 &&
 -			    try_lock_hpte(hpte, HPTE_V_HVLOCK | HPTE_V_VALID))
 +			    try_lock_hpte(hpte, HPTE_V_HVLOCK | HPTE_V_VALID |
 +					  HPTE_V_ABSENT))
@@ -590,7 +590,7 @@ index b600f8c..d58a885 100644
  			for (i = 0; i < 8; ++i) {
  				while (!try_lock_hpte(hpte, HPTE_V_HVLOCK))
  					cpu_relax();
--				if ((*hpte & HPTE_V_VALID) = 0)
+-				if ((*hpte & HPTE_V_VALID) == 0)
 +				if (!(*hpte & (HPTE_V_VALID | HPTE_V_ABSENT)))
  					break;
  				*hpte &= ~HPTE_V_HVLOCK;
@@ -631,8 +631,8 @@ index b600f8c..d58a885 100644
  	hpte = (unsigned long *)(kvm->arch.hpt_virt + (pte_index << 4));
  	while (!try_lock_hpte(hpte, HPTE_V_HVLOCK))
  		cpu_relax();
--	if ((hpte[0] & HPTE_V_VALID) = 0 ||
-+	if ((hpte[0] & (HPTE_V_ABSENT | HPTE_V_VALID)) = 0 ||
+-	if ((hpte[0] & HPTE_V_VALID) == 0 ||
++	if ((hpte[0] & (HPTE_V_ABSENT | HPTE_V_VALID)) == 0 ||
  	    ((flags & H_AVPN) && (hpte[0] & ~0x7fUL) != avpn) ||
  	    ((flags & H_ANDCOND) && (hpte[0] & avpn) != 0)) {
  		hpte[0] &= ~HPTE_V_HVLOCK;
@@ -683,14 +683,14 @@ index b600f8c..d58a885 100644
  	hpte = (unsigned long *)(kvm->arch.hpt_virt + (pte_index << 4));
  	while (!try_lock_hpte(hpte, HPTE_V_HVLOCK))
  		cpu_relax();
--	if ((hpte[0] & HPTE_V_VALID) = 0 ||
-+	if ((hpte[0] & (HPTE_V_ABSENT | HPTE_V_VALID)) = 0 ||
+-	if ((hpte[0] & HPTE_V_VALID) == 0 ||
++	if ((hpte[0] & (HPTE_V_ABSENT | HPTE_V_VALID)) == 0 ||
  	    ((flags & H_AVPN) && (hpte[0] & ~0x7fUL) != avpn)) {
  		hpte[0] &= ~HPTE_V_HVLOCK;
  		return H_NOT_FOUND;
  	}
 +
- 	if (atomic_read(&kvm->online_vcpus) = 1)
+ 	if (atomic_read(&kvm->online_vcpus) == 1)
  		flags |= H_LOCAL;
  	v = hpte[0];
 @@ -430,20 +451,22 @@ long kvmppc_h_protect(struct kvm_vcpu *vcpu, unsigned long flags,
@@ -832,8 +832,8 @@ index b600f8c..d58a885 100644
 +			 * page-size segment) page sizes, it is sufficient
 +			 * to check against the actual page size.
 +			 */
-+			if ((v & valid) && (v & mask) = val &&
-+			    hpte_page_size(v, r) = (1ul << pshift))
++			if ((v & valid) && (v & mask) == val &&
++			    hpte_page_size(v, r) == (1ul << pshift))
 +				/* Return with the HPTE still locked */
 +				return (hash << 3) + (i >> 1);
 +
diff --git a/a/content_digest b/N1/content_digest
index 710a008..b59481d 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,11 +1,11 @@
  "ref\020111206060156.GD12389@drongo\0"
  "From\0Paul Mackerras <paulus@samba.org>\0"
- "Subject\0[PATCH 10/13] KVM: PPC: Implement MMIO emulation support for Book3S\0"
- "Date\0Tue, 06 Dec 2011 06:10:56 +0000\0"
+ "Subject\0[PATCH 10/13] KVM: PPC: Implement MMIO emulation support for Book3S HV guests\0"
+ "Date\0Tue, 6 Dec 2011 17:10:56 +1100\0"
  "To\0Alexander Graf <agraf@suse.de>\0"
  "Cc\0linuxppc-dev@ozlabs.org"
-  kvm-ppc@vger.kernel.org
- " kvm@vger.kernel.org\0"
+  kvm@vger.kernel.org
+ " kvm-ppc@vger.kernel.org\0"
  "\00:1\0"
  "b\0"
  "This provides the low-level support for MMIO emulation in Book3S HV\n"
@@ -96,7 +96,7 @@
  "+static inline bool hpte_write_permission(unsigned long pp, unsigned long key)\n"
  "+{\n"
  "+\tif (key)\n"
- "+\t\treturn pp = PP_RWRW;\n"
+ "+\t\treturn pp == PP_RWRW;\n"
  "+\treturn pp <= PP_RWRW;\n"
  "+}\n"
  "+\n"
@@ -287,7 +287,7 @@
  "+\t\telse\n"
  "+\t\t\tmask = ESID_MASK;\n"
  "+\n"
- "+\t\tif (((vcpu->arch.slb[i].orige ^ eaddr) & mask) = 0)\n"
+ "+\t\tif (((vcpu->arch.slb[i].orige ^ eaddr) & mask) == 0)\n"
  "+\t\t\treturn &vcpu->arch.slb[i];\n"
  "+\t}\n"
  "+\treturn NULL;\n"
@@ -380,7 +380,7 @@
  "+\tunsigned int mask;\n"
  "+\n"
  "+\tmask = 0x10000000;\n"
- "+\tif ((instr & 0xfc000000) = 0x7c000000)\n"
+ "+\tif ((instr & 0xfc000000) == 0x7c000000)\n"
  "+\t\tmask = 0x100;\t\t/* major opcode 31 */\n"
  "+\treturn (instr & mask) != 0;\n"
  "+}\n"
@@ -397,9 +397,9 @@
  "+\t * kvmppc_ld returns.\n"
  "+\t * If we fail, we just return to the guest and try executing it again.\n"
  "+\t */\n"
- "+\tif (vcpu->arch.last_inst = KVM_INST_FETCH_FAILED) {\n"
+ "+\tif (vcpu->arch.last_inst == KVM_INST_FETCH_FAILED) {\n"
  "+\t\tret = kvmppc_ld(vcpu, &srr0, sizeof(u32), &last_inst, false);\n"
- "+\t\tif (ret != EMULATE_DONE || last_inst = KVM_INST_FETCH_FAILED)\n"
+ "+\t\tif (ret != EMULATE_DONE || last_inst == KVM_INST_FETCH_FAILED)\n"
  "+\t\t\treturn RESUME_GUEST;\n"
  "+\t\tvcpu->arch.last_inst = last_inst;\n"
  "+\t}\n"
@@ -562,7 +562,7 @@
  "+\t\t/* PPC970 can't do emulated MMIO */\n"
  "+\t\tif (!cpu_has_feature(CPU_FTR_ARCH_206))\n"
  "+\t\t\treturn H_PARAMETER;\n"
- "+\t\t/* Emulated MMIO - mark this with key1 */\n"
+ "+\t\t/* Emulated MMIO - mark this with key=31 */\n"
  "+\t\tpteh |= HPTE_V_ABSENT;\n"
  "+\t\tptel |= HPTE_R_KEY_HI | HPTE_R_KEY_LO;\n"
  "+\t\tgoto do_insert;\n"
@@ -585,11 +585,11 @@
  "+ do_insert:\n"
  " \tif (pte_index >= HPT_NPTE)\n"
  " \t\treturn H_PARAMETER;\n"
- " \tif (likely((flags & H_EXACT) = 0)) {\n"
+ " \tif (likely((flags & H_EXACT) == 0)) {\n"
  "@@ -187,7 +197,8 @@ long kvmppc_h_enter(struct kvm_vcpu *vcpu, unsigned long flags,\n"
  " \t\thpte = (unsigned long *)(kvm->arch.hpt_virt + (pte_index << 4));\n"
  " \t\tfor (i = 0; i < 8; ++i) {\n"
- " \t\t\tif ((*hpte & HPTE_V_VALID) = 0 &&\n"
+ " \t\t\tif ((*hpte & HPTE_V_VALID) == 0 &&\n"
  "-\t\t\t    try_lock_hpte(hpte, HPTE_V_HVLOCK | HPTE_V_VALID))\n"
  "+\t\t\t    try_lock_hpte(hpte, HPTE_V_HVLOCK | HPTE_V_VALID |\n"
  "+\t\t\t\t\t  HPTE_V_ABSENT))\n"
@@ -600,7 +600,7 @@
  " \t\t\tfor (i = 0; i < 8; ++i) {\n"
  " \t\t\t\twhile (!try_lock_hpte(hpte, HPTE_V_HVLOCK))\n"
  " \t\t\t\t\tcpu_relax();\n"
- "-\t\t\t\tif ((*hpte & HPTE_V_VALID) = 0)\n"
+ "-\t\t\t\tif ((*hpte & HPTE_V_VALID) == 0)\n"
  "+\t\t\t\tif (!(*hpte & (HPTE_V_VALID | HPTE_V_ABSENT)))\n"
  " \t\t\t\t\tbreak;\n"
  " \t\t\t\t*hpte &= ~HPTE_V_HVLOCK;\n"
@@ -641,8 +641,8 @@
  " \thpte = (unsigned long *)(kvm->arch.hpt_virt + (pte_index << 4));\n"
  " \twhile (!try_lock_hpte(hpte, HPTE_V_HVLOCK))\n"
  " \t\tcpu_relax();\n"
- "-\tif ((hpte[0] & HPTE_V_VALID) = 0 ||\n"
- "+\tif ((hpte[0] & (HPTE_V_ABSENT | HPTE_V_VALID)) = 0 ||\n"
+ "-\tif ((hpte[0] & HPTE_V_VALID) == 0 ||\n"
+ "+\tif ((hpte[0] & (HPTE_V_ABSENT | HPTE_V_VALID)) == 0 ||\n"
  " \t    ((flags & H_AVPN) && (hpte[0] & ~0x7fUL) != avpn) ||\n"
  " \t    ((flags & H_ANDCOND) && (hpte[0] & avpn) != 0)) {\n"
  " \t\thpte[0] &= ~HPTE_V_HVLOCK;\n"
@@ -693,14 +693,14 @@
  " \thpte = (unsigned long *)(kvm->arch.hpt_virt + (pte_index << 4));\n"
  " \twhile (!try_lock_hpte(hpte, HPTE_V_HVLOCK))\n"
  " \t\tcpu_relax();\n"
- "-\tif ((hpte[0] & HPTE_V_VALID) = 0 ||\n"
- "+\tif ((hpte[0] & (HPTE_V_ABSENT | HPTE_V_VALID)) = 0 ||\n"
+ "-\tif ((hpte[0] & HPTE_V_VALID) == 0 ||\n"
+ "+\tif ((hpte[0] & (HPTE_V_ABSENT | HPTE_V_VALID)) == 0 ||\n"
  " \t    ((flags & H_AVPN) && (hpte[0] & ~0x7fUL) != avpn)) {\n"
  " \t\thpte[0] &= ~HPTE_V_HVLOCK;\n"
  " \t\treturn H_NOT_FOUND;\n"
  " \t}\n"
  "+\n"
- " \tif (atomic_read(&kvm->online_vcpus) = 1)\n"
+ " \tif (atomic_read(&kvm->online_vcpus) == 1)\n"
  " \t\tflags |= H_LOCAL;\n"
  " \tv = hpte[0];\n"
  "@@ -430,20 +451,22 @@ long kvmppc_h_protect(struct kvm_vcpu *vcpu, unsigned long flags,\n"
@@ -842,8 +842,8 @@
  "+\t\t\t * page-size segment) page sizes, it is sufficient\n"
  "+\t\t\t * to check against the actual page size.\n"
  "+\t\t\t */\n"
- "+\t\t\tif ((v & valid) && (v & mask) = val &&\n"
- "+\t\t\t    hpte_page_size(v, r) = (1ul << pshift))\n"
+ "+\t\t\tif ((v & valid) && (v & mask) == val &&\n"
+ "+\t\t\t    hpte_page_size(v, r) == (1ul << pshift))\n"
  "+\t\t\t\t/* Return with the HPTE still locked */\n"
  "+\t\t\t\treturn (hash << 3) + (i >> 1);\n"
  "+\n"
@@ -1115,4 +1115,4 @@
  "-- \n"
  1.7.5.4
 
-7d53caacef3a4098eb59d0efa756c7ad7e4e3e318a50fc8e26755bf33303b946
+4376b80d196adf5478108a1af80662eb102f9066f3fa1aa9503bc3b0f6d908df

diff --git a/a/1.txt b/N2/1.txt
index 16b2973..e7c3dbc 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -86,7 +86,7 @@ index 90e6658..9a59b6d 100644
 +static inline bool hpte_write_permission(unsigned long pp, unsigned long key)
 +{
 +	if (key)
-+		return pp = PP_RWRW;
++		return pp == PP_RWRW;
 +	return pp <= PP_RWRW;
 +}
 +
@@ -277,7 +277,7 @@ index b904c40..2d31519 100644
 +		else
 +			mask = ESID_MASK;
 +
-+		if (((vcpu->arch.slb[i].orige ^ eaddr) & mask) = 0)
++		if (((vcpu->arch.slb[i].orige ^ eaddr) & mask) == 0)
 +			return &vcpu->arch.slb[i];
 +	}
 +	return NULL;
@@ -370,7 +370,7 @@ index b904c40..2d31519 100644
 +	unsigned int mask;
 +
 +	mask = 0x10000000;
-+	if ((instr & 0xfc000000) = 0x7c000000)
++	if ((instr & 0xfc000000) == 0x7c000000)
 +		mask = 0x100;		/* major opcode 31 */
 +	return (instr & mask) != 0;
 +}
@@ -387,9 +387,9 @@ index b904c40..2d31519 100644
 +	 * kvmppc_ld returns.
 +	 * If we fail, we just return to the guest and try executing it again.
 +	 */
-+	if (vcpu->arch.last_inst = KVM_INST_FETCH_FAILED) {
++	if (vcpu->arch.last_inst == KVM_INST_FETCH_FAILED) {
 +		ret = kvmppc_ld(vcpu, &srr0, sizeof(u32), &last_inst, false);
-+		if (ret != EMULATE_DONE || last_inst = KVM_INST_FETCH_FAILED)
++		if (ret != EMULATE_DONE || last_inst == KVM_INST_FETCH_FAILED)
 +			return RESUME_GUEST;
 +		vcpu->arch.last_inst = last_inst;
 +	}
@@ -552,7 +552,7 @@ index b600f8c..d58a885 100644
 +		/* PPC970 can't do emulated MMIO */
 +		if (!cpu_has_feature(CPU_FTR_ARCH_206))
 +			return H_PARAMETER;
-+		/* Emulated MMIO - mark this with key1 */
++		/* Emulated MMIO - mark this with key=31 */
 +		pteh |= HPTE_V_ABSENT;
 +		ptel |= HPTE_R_KEY_HI | HPTE_R_KEY_LO;
 +		goto do_insert;
@@ -575,11 +575,11 @@ index b600f8c..d58a885 100644
 + do_insert:
  	if (pte_index >= HPT_NPTE)
  		return H_PARAMETER;
- 	if (likely((flags & H_EXACT) = 0)) {
+ 	if (likely((flags & H_EXACT) == 0)) {
 @@ -187,7 +197,8 @@ long kvmppc_h_enter(struct kvm_vcpu *vcpu, unsigned long flags,
  		hpte = (unsigned long *)(kvm->arch.hpt_virt + (pte_index << 4));
  		for (i = 0; i < 8; ++i) {
- 			if ((*hpte & HPTE_V_VALID) = 0 &&
+ 			if ((*hpte & HPTE_V_VALID) == 0 &&
 -			    try_lock_hpte(hpte, HPTE_V_HVLOCK | HPTE_V_VALID))
 +			    try_lock_hpte(hpte, HPTE_V_HVLOCK | HPTE_V_VALID |
 +					  HPTE_V_ABSENT))
@@ -590,7 +590,7 @@ index b600f8c..d58a885 100644
  			for (i = 0; i < 8; ++i) {
  				while (!try_lock_hpte(hpte, HPTE_V_HVLOCK))
  					cpu_relax();
--				if ((*hpte & HPTE_V_VALID) = 0)
+-				if ((*hpte & HPTE_V_VALID) == 0)
 +				if (!(*hpte & (HPTE_V_VALID | HPTE_V_ABSENT)))
  					break;
  				*hpte &= ~HPTE_V_HVLOCK;
@@ -631,8 +631,8 @@ index b600f8c..d58a885 100644
  	hpte = (unsigned long *)(kvm->arch.hpt_virt + (pte_index << 4));
  	while (!try_lock_hpte(hpte, HPTE_V_HVLOCK))
  		cpu_relax();
--	if ((hpte[0] & HPTE_V_VALID) = 0 ||
-+	if ((hpte[0] & (HPTE_V_ABSENT | HPTE_V_VALID)) = 0 ||
+-	if ((hpte[0] & HPTE_V_VALID) == 0 ||
++	if ((hpte[0] & (HPTE_V_ABSENT | HPTE_V_VALID)) == 0 ||
  	    ((flags & H_AVPN) && (hpte[0] & ~0x7fUL) != avpn) ||
  	    ((flags & H_ANDCOND) && (hpte[0] & avpn) != 0)) {
  		hpte[0] &= ~HPTE_V_HVLOCK;
@@ -683,14 +683,14 @@ index b600f8c..d58a885 100644
  	hpte = (unsigned long *)(kvm->arch.hpt_virt + (pte_index << 4));
  	while (!try_lock_hpte(hpte, HPTE_V_HVLOCK))
  		cpu_relax();
--	if ((hpte[0] & HPTE_V_VALID) = 0 ||
-+	if ((hpte[0] & (HPTE_V_ABSENT | HPTE_V_VALID)) = 0 ||
+-	if ((hpte[0] & HPTE_V_VALID) == 0 ||
++	if ((hpte[0] & (HPTE_V_ABSENT | HPTE_V_VALID)) == 0 ||
  	    ((flags & H_AVPN) && (hpte[0] & ~0x7fUL) != avpn)) {
  		hpte[0] &= ~HPTE_V_HVLOCK;
  		return H_NOT_FOUND;
  	}
 +
- 	if (atomic_read(&kvm->online_vcpus) = 1)
+ 	if (atomic_read(&kvm->online_vcpus) == 1)
  		flags |= H_LOCAL;
  	v = hpte[0];
 @@ -430,20 +451,22 @@ long kvmppc_h_protect(struct kvm_vcpu *vcpu, unsigned long flags,
@@ -832,8 +832,8 @@ index b600f8c..d58a885 100644
 +			 * page-size segment) page sizes, it is sufficient
 +			 * to check against the actual page size.
 +			 */
-+			if ((v & valid) && (v & mask) = val &&
-+			    hpte_page_size(v, r) = (1ul << pshift))
++			if ((v & valid) && (v & mask) == val &&
++			    hpte_page_size(v, r) == (1ul << pshift))
 +				/* Return with the HPTE still locked */
 +				return (hash << 3) + (i >> 1);
 +
diff --git a/a/content_digest b/N2/content_digest
index 710a008..da257ec 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -1,7 +1,7 @@
  "ref\020111206060156.GD12389@drongo\0"
  "From\0Paul Mackerras <paulus@samba.org>\0"
- "Subject\0[PATCH 10/13] KVM: PPC: Implement MMIO emulation support for Book3S\0"
- "Date\0Tue, 06 Dec 2011 06:10:56 +0000\0"
+ "Subject\0[PATCH 10/13] KVM: PPC: Implement MMIO emulation support for Book3S HV guests\0"
+ "Date\0Tue, 6 Dec 2011 17:10:56 +1100\0"
  "To\0Alexander Graf <agraf@suse.de>\0"
  "Cc\0linuxppc-dev@ozlabs.org"
   kvm-ppc@vger.kernel.org
@@ -96,7 +96,7 @@
  "+static inline bool hpte_write_permission(unsigned long pp, unsigned long key)\n"
  "+{\n"
  "+\tif (key)\n"
- "+\t\treturn pp = PP_RWRW;\n"
+ "+\t\treturn pp == PP_RWRW;\n"
  "+\treturn pp <= PP_RWRW;\n"
  "+}\n"
  "+\n"
@@ -287,7 +287,7 @@
  "+\t\telse\n"
  "+\t\t\tmask = ESID_MASK;\n"
  "+\n"
- "+\t\tif (((vcpu->arch.slb[i].orige ^ eaddr) & mask) = 0)\n"
+ "+\t\tif (((vcpu->arch.slb[i].orige ^ eaddr) & mask) == 0)\n"
  "+\t\t\treturn &vcpu->arch.slb[i];\n"
  "+\t}\n"
  "+\treturn NULL;\n"
@@ -380,7 +380,7 @@
  "+\tunsigned int mask;\n"
  "+\n"
  "+\tmask = 0x10000000;\n"
- "+\tif ((instr & 0xfc000000) = 0x7c000000)\n"
+ "+\tif ((instr & 0xfc000000) == 0x7c000000)\n"
  "+\t\tmask = 0x100;\t\t/* major opcode 31 */\n"
  "+\treturn (instr & mask) != 0;\n"
  "+}\n"
@@ -397,9 +397,9 @@
  "+\t * kvmppc_ld returns.\n"
  "+\t * If we fail, we just return to the guest and try executing it again.\n"
  "+\t */\n"
- "+\tif (vcpu->arch.last_inst = KVM_INST_FETCH_FAILED) {\n"
+ "+\tif (vcpu->arch.last_inst == KVM_INST_FETCH_FAILED) {\n"
  "+\t\tret = kvmppc_ld(vcpu, &srr0, sizeof(u32), &last_inst, false);\n"
- "+\t\tif (ret != EMULATE_DONE || last_inst = KVM_INST_FETCH_FAILED)\n"
+ "+\t\tif (ret != EMULATE_DONE || last_inst == KVM_INST_FETCH_FAILED)\n"
  "+\t\t\treturn RESUME_GUEST;\n"
  "+\t\tvcpu->arch.last_inst = last_inst;\n"
  "+\t}\n"
@@ -562,7 +562,7 @@
  "+\t\t/* PPC970 can't do emulated MMIO */\n"
  "+\t\tif (!cpu_has_feature(CPU_FTR_ARCH_206))\n"
  "+\t\t\treturn H_PARAMETER;\n"
- "+\t\t/* Emulated MMIO - mark this with key1 */\n"
+ "+\t\t/* Emulated MMIO - mark this with key=31 */\n"
  "+\t\tpteh |= HPTE_V_ABSENT;\n"
  "+\t\tptel |= HPTE_R_KEY_HI | HPTE_R_KEY_LO;\n"
  "+\t\tgoto do_insert;\n"
@@ -585,11 +585,11 @@
  "+ do_insert:\n"
  " \tif (pte_index >= HPT_NPTE)\n"
  " \t\treturn H_PARAMETER;\n"
- " \tif (likely((flags & H_EXACT) = 0)) {\n"
+ " \tif (likely((flags & H_EXACT) == 0)) {\n"
  "@@ -187,7 +197,8 @@ long kvmppc_h_enter(struct kvm_vcpu *vcpu, unsigned long flags,\n"
  " \t\thpte = (unsigned long *)(kvm->arch.hpt_virt + (pte_index << 4));\n"
  " \t\tfor (i = 0; i < 8; ++i) {\n"
- " \t\t\tif ((*hpte & HPTE_V_VALID) = 0 &&\n"
+ " \t\t\tif ((*hpte & HPTE_V_VALID) == 0 &&\n"
  "-\t\t\t    try_lock_hpte(hpte, HPTE_V_HVLOCK | HPTE_V_VALID))\n"
  "+\t\t\t    try_lock_hpte(hpte, HPTE_V_HVLOCK | HPTE_V_VALID |\n"
  "+\t\t\t\t\t  HPTE_V_ABSENT))\n"
@@ -600,7 +600,7 @@
  " \t\t\tfor (i = 0; i < 8; ++i) {\n"
  " \t\t\t\twhile (!try_lock_hpte(hpte, HPTE_V_HVLOCK))\n"
  " \t\t\t\t\tcpu_relax();\n"
- "-\t\t\t\tif ((*hpte & HPTE_V_VALID) = 0)\n"
+ "-\t\t\t\tif ((*hpte & HPTE_V_VALID) == 0)\n"
  "+\t\t\t\tif (!(*hpte & (HPTE_V_VALID | HPTE_V_ABSENT)))\n"
  " \t\t\t\t\tbreak;\n"
  " \t\t\t\t*hpte &= ~HPTE_V_HVLOCK;\n"
@@ -641,8 +641,8 @@
  " \thpte = (unsigned long *)(kvm->arch.hpt_virt + (pte_index << 4));\n"
  " \twhile (!try_lock_hpte(hpte, HPTE_V_HVLOCK))\n"
  " \t\tcpu_relax();\n"
- "-\tif ((hpte[0] & HPTE_V_VALID) = 0 ||\n"
- "+\tif ((hpte[0] & (HPTE_V_ABSENT | HPTE_V_VALID)) = 0 ||\n"
+ "-\tif ((hpte[0] & HPTE_V_VALID) == 0 ||\n"
+ "+\tif ((hpte[0] & (HPTE_V_ABSENT | HPTE_V_VALID)) == 0 ||\n"
  " \t    ((flags & H_AVPN) && (hpte[0] & ~0x7fUL) != avpn) ||\n"
  " \t    ((flags & H_ANDCOND) && (hpte[0] & avpn) != 0)) {\n"
  " \t\thpte[0] &= ~HPTE_V_HVLOCK;\n"
@@ -693,14 +693,14 @@
  " \thpte = (unsigned long *)(kvm->arch.hpt_virt + (pte_index << 4));\n"
  " \twhile (!try_lock_hpte(hpte, HPTE_V_HVLOCK))\n"
  " \t\tcpu_relax();\n"
- "-\tif ((hpte[0] & HPTE_V_VALID) = 0 ||\n"
- "+\tif ((hpte[0] & (HPTE_V_ABSENT | HPTE_V_VALID)) = 0 ||\n"
+ "-\tif ((hpte[0] & HPTE_V_VALID) == 0 ||\n"
+ "+\tif ((hpte[0] & (HPTE_V_ABSENT | HPTE_V_VALID)) == 0 ||\n"
  " \t    ((flags & H_AVPN) && (hpte[0] & ~0x7fUL) != avpn)) {\n"
  " \t\thpte[0] &= ~HPTE_V_HVLOCK;\n"
  " \t\treturn H_NOT_FOUND;\n"
  " \t}\n"
  "+\n"
- " \tif (atomic_read(&kvm->online_vcpus) = 1)\n"
+ " \tif (atomic_read(&kvm->online_vcpus) == 1)\n"
  " \t\tflags |= H_LOCAL;\n"
  " \tv = hpte[0];\n"
  "@@ -430,20 +451,22 @@ long kvmppc_h_protect(struct kvm_vcpu *vcpu, unsigned long flags,\n"
@@ -842,8 +842,8 @@
  "+\t\t\t * page-size segment) page sizes, it is sufficient\n"
  "+\t\t\t * to check against the actual page size.\n"
  "+\t\t\t */\n"
- "+\t\t\tif ((v & valid) && (v & mask) = val &&\n"
- "+\t\t\t    hpte_page_size(v, r) = (1ul << pshift))\n"
+ "+\t\t\tif ((v & valid) && (v & mask) == val &&\n"
+ "+\t\t\t    hpte_page_size(v, r) == (1ul << pshift))\n"
  "+\t\t\t\t/* Return with the HPTE still locked */\n"
  "+\t\t\t\treturn (hash << 3) + (i >> 1);\n"
  "+\n"
@@ -1115,4 +1115,4 @@
  "-- \n"
  1.7.5.4
 
-7d53caacef3a4098eb59d0efa756c7ad7e4e3e318a50fc8e26755bf33303b946
+f51525c73ad9bfdb25d97dc7ed9118e73fd625ad5c7c897023bc6fb26b291848

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.