All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <6A3DF150A5B70D4F9B66A25E3F7C888D070D6DAB@039-SN2MPN1-013.039d.mgd.msft.net>

diff --git a/a/1.txt b/N1/1.txt
index 2765db5..0f2f033 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,115 +1,71 @@
-
-
-> -----Original Message-----
-> From: kvm-ppc-owner@vger.kernel.org [mailto:kvm-ppc-owner@vger.kernel.org] On
-> Behalf Of "“tiejun.chen”"
-> Sent: Thursday, July 18, 2013 1:01 PM
-> To: Bhushan Bharat-R65777
-> Cc: kvm-ppc@vger.kernel.org; kvm@vger.kernel.org; agraf@suse.de; Wood Scott-
-> B07421
-> Subject: Re: [PATCH 2/2] kvm: powerpc: set cache coherency only for kernel
-> managed pages
-> 
-> On 07/18/2013 03:12 PM, Bhushan Bharat-R65777 wrote:
-> >
-> >
-> >> -----Original Message-----
-> >> From: "“tiejun.chen”" [mailto:tiejun.chen@windriver.com]
-> >> Sent: Thursday, July 18, 2013 11:56 AM
-> >> To: Bhushan Bharat-R65777
-> >> Cc: kvm-ppc@vger.kernel.org; kvm@vger.kernel.org; agraf@suse.de; Wood
-> >> Scott- B07421; Bhushan Bharat-R65777
-> >> Subject: Re: [PATCH 2/2] kvm: powerpc: set cache coherency only for
-> >> kernel managed pages
-> >>
-> >> On 07/18/2013 02:04 PM, Bharat Bhushan wrote:
-> >>> If there is a struct page for the requested mapping then it's normal
-> >>> DDR and the mapping sets "M" bit (coherent, cacheable) else this is
-> >>> treated as I/O and we set  "I + G"  (cache inhibited, guarded)
-> >>>
-> >>> This helps setting proper TLB mapping for direct assigned device
-> >>>
-> >>> Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
-> >>> ---
-> >>>    arch/powerpc/kvm/e500_mmu_host.c |   17 ++++++++++++-----
-> >>>    1 files changed, 12 insertions(+), 5 deletions(-)
-> >>>
-> >>> diff --git a/arch/powerpc/kvm/e500_mmu_host.c
-> >>> b/arch/powerpc/kvm/e500_mmu_host.c
-> >>> index 1c6a9d7..089c227 100644
-> >>> --- a/arch/powerpc/kvm/e500_mmu_host.c
-> >>> +++ b/arch/powerpc/kvm/e500_mmu_host.c
-> >>> @@ -64,13 +64,20 @@ static inline u32 e500_shadow_mas3_attrib(u32
-> >>> mas3, int
-> >> usermode)
-> >>>    	return mas3;
-> >>>    }
-> >>>
-> >>> -static inline u32 e500_shadow_mas2_attrib(u32 mas2, int usermode)
-> >>> +static inline u32 e500_shadow_mas2_attrib(u32 mas2, pfn_t pfn)
-> >>>    {
-> >>> +	u32 mas2_attr;
-> >>> +
-> >>> +	mas2_attr = mas2 & MAS2_ATTRIB_MASK;
-> >>> +
-> >>> +	if (!pfn_valid(pfn)) {
-> >>
-> >> Why not directly use kvm_is_mmio_pfn()?
-> >
-> > What I understand from this function (someone can correct me) is that it
-> returns "false" when the page is managed by kernel and is not marked as RESERVED
-> (for some reason). For us it does not matter whether the page is reserved or
-> not, if it is kernel visible page then it is DDR.
-> >
-> 
-> I think you are setting I|G by addressing all mmio pages, right? If so,
-> 
->      KVM: direct mmio pfn check
-> 
->      Userspace may specify memory slots that are backed by mmio pages rather
-> than
->      normal RAM.  In some cases it is not enough to identify these mmio pages
->      by pfn_valid().  This patch adds checking the PageReserved as well.
-
-Do you know what are those "some cases" and how checking PageReserved helps in those cases?
-
--Bharat
-
-> 
-> Tiejun
-> 
-> > -Bharat
-> >
-> >>
-> >> Tiejun
-> >>
-> >>> +		mas2_attr |= MAS2_I | MAS2_G;
-> >>> +	} else {
-> >>>    #ifdef CONFIG_SMP
-> >>> -	return (mas2 & MAS2_ATTRIB_MASK) | MAS2_M;
-> >>> -#else
-> >>> -	return mas2 & MAS2_ATTRIB_MASK;
-> >>> +		mas2_attr |= MAS2_M;
-> >>>    #endif
-> >>> +	}
-> >>> +	return mas2_attr;
-> >>>    }
-> >>>
-> >>>    /*
-> >>> @@ -313,7 +320,7 @@ static void kvmppc_e500_setup_stlbe(
-> >>>    	/* Force IPROT=0 for all guest mappings. */
-> >>>    	stlbe->mas1 = MAS1_TSIZE(tsize) | get_tlb_sts(gtlbe) | MAS1_VALID;
-> >>>    	stlbe->mas2 = (gvaddr & MAS2_EPN) |
-> >>> -		      e500_shadow_mas2_attrib(gtlbe->mas2, pr);
-> >>> +		      e500_shadow_mas2_attrib(gtlbe->mas2, pfn);
-> >>>    	stlbe->mas7_3 = ((u64)pfn << PAGE_SHIFT) |
-> >>>    			e500_shadow_mas3_attrib(gtlbe->mas7_3, pr);
-> >>>
-> >>>
-> >>
-> >
-> 
-> --
-> To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in the body
-> of a message to majordomo@vger.kernel.org More majordomo info at
-> http://vger.kernel.org/majordomo-info.html
\ No newline at end of file
+DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbToga3ZtLXBwYy1vd25lckB2
+Z2VyLmtlcm5lbC5vcmcgW21haWx0bzprdm0tcHBjLW93bmVyQHZnZXIua2VybmVsLm9yZ10gT24N
+Cj4gQmVoYWxmIE9mICLigJx0aWVqdW4uY2hlbuKAnSINCj4gU2VudDogVGh1cnNkYXksIEp1bHkg
+MTgsIDIwMTMgMTowMSBQTQ0KPiBUbzogQmh1c2hhbiBCaGFyYXQtUjY1Nzc3DQo+IENjOiBrdm0t
+cHBjQHZnZXIua2VybmVsLm9yZzsga3ZtQHZnZXIua2VybmVsLm9yZzsgYWdyYWZAc3VzZS5kZTsg
+V29vZCBTY290dC0NCj4gQjA3NDIxDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMi8yXSBrdm06IHBv
+d2VycGM6IHNldCBjYWNoZSBjb2hlcmVuY3kgb25seSBmb3Iga2VybmVsDQo+IG1hbmFnZWQgcGFn
+ZXMNCj4gDQo+IE9uIDA3LzE4LzIwMTMgMDM6MTIgUE0sIEJodXNoYW4gQmhhcmF0LVI2NTc3NyB3
+cm90ZToNCj4gPg0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZy
+b206ICLigJx0aWVqdW4uY2hlbuKAnSIgW21haWx0bzp0aWVqdW4uY2hlbkB3aW5kcml2ZXIuY29t
+XQ0KPiA+PiBTZW50OiBUaHVyc2RheSwgSnVseSAxOCwgMjAxMyAxMTo1NiBBTQ0KPiA+PiBUbzog
+Qmh1c2hhbiBCaGFyYXQtUjY1Nzc3DQo+ID4+IENjOiBrdm0tcHBjQHZnZXIua2VybmVsLm9yZzsg
+a3ZtQHZnZXIua2VybmVsLm9yZzsgYWdyYWZAc3VzZS5kZTsgV29vZA0KPiA+PiBTY290dC0gQjA3
+NDIxOyBCaHVzaGFuIEJoYXJhdC1SNjU3NzcNCj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzJd
+IGt2bTogcG93ZXJwYzogc2V0IGNhY2hlIGNvaGVyZW5jeSBvbmx5IGZvcg0KPiA+PiBrZXJuZWwg
+bWFuYWdlZCBwYWdlcw0KPiA+Pg0KPiA+PiBPbiAwNy8xOC8yMDEzIDAyOjA0IFBNLCBCaGFyYXQg
+Qmh1c2hhbiB3cm90ZToNCj4gPj4+IElmIHRoZXJlIGlzIGEgc3RydWN0IHBhZ2UgZm9yIHRoZSBy
+ZXF1ZXN0ZWQgbWFwcGluZyB0aGVuIGl0J3Mgbm9ybWFsDQo+ID4+PiBERFIgYW5kIHRoZSBtYXBw
+aW5nIHNldHMgIk0iIGJpdCAoY29oZXJlbnQsIGNhY2hlYWJsZSkgZWxzZSB0aGlzIGlzDQo+ID4+
+PiB0cmVhdGVkIGFzIEkvTyBhbmQgd2Ugc2V0ICAiSSArIEciICAoY2FjaGUgaW5oaWJpdGVkLCBn
+dWFyZGVkKQ0KPiA+Pj4NCj4gPj4+IFRoaXMgaGVscHMgc2V0dGluZyBwcm9wZXIgVExCIG1hcHBp
+bmcgZm9yIGRpcmVjdCBhc3NpZ25lZCBkZXZpY2UNCj4gPj4+DQo+ID4+PiBTaWduZWQtb2ZmLWJ5
+OiBCaGFyYXQgQmh1c2hhbiA8YmhhcmF0LmJodXNoYW5AZnJlZXNjYWxlLmNvbT4NCj4gPj4+IC0t
+LQ0KPiA+Pj4gICAgYXJjaC9wb3dlcnBjL2t2bS9lNTAwX21tdV9ob3N0LmMgfCAgIDE3ICsrKysr
+KysrKysrKy0tLS0tDQo+ID4+PiAgICAxIGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyks
+IDUgZGVsZXRpb25zKC0pDQo+ID4+Pg0KPiA+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9r
+dm0vZTUwMF9tbXVfaG9zdC5jDQo+ID4+PiBiL2FyY2gvcG93ZXJwYy9rdm0vZTUwMF9tbXVfaG9z
+dC5jDQo+ID4+PiBpbmRleCAxYzZhOWQ3Li4wODljMjI3IDEwMDY0NA0KPiA+Pj4gLS0tIGEvYXJj
+aC9wb3dlcnBjL2t2bS9lNTAwX21tdV9ob3N0LmMNCj4gPj4+ICsrKyBiL2FyY2gvcG93ZXJwYy9r
+dm0vZTUwMF9tbXVfaG9zdC5jDQo+ID4+PiBAQCAtNjQsMTMgKzY0LDIwIEBAIHN0YXRpYyBpbmxp
+bmUgdTMyIGU1MDBfc2hhZG93X21hczNfYXR0cmliKHUzMg0KPiA+Pj4gbWFzMywgaW50DQo+ID4+
+IHVzZXJtb2RlKQ0KPiA+Pj4gICAgCXJldHVybiBtYXMzOw0KPiA+Pj4gICAgfQ0KPiA+Pj4NCj4g
+Pj4+IC1zdGF0aWMgaW5saW5lIHUzMiBlNTAwX3NoYWRvd19tYXMyX2F0dHJpYih1MzIgbWFzMiwg
+aW50IHVzZXJtb2RlKQ0KPiA+Pj4gK3N0YXRpYyBpbmxpbmUgdTMyIGU1MDBfc2hhZG93X21hczJf
+YXR0cmliKHUzMiBtYXMyLCBwZm5fdCBwZm4pDQo+ID4+PiAgICB7DQo+ID4+PiArCXUzMiBtYXMy
+X2F0dHI7DQo+ID4+PiArDQo+ID4+PiArCW1hczJfYXR0ciA9IG1hczIgJiBNQVMyX0FUVFJJQl9N
+QVNLOw0KPiA+Pj4gKw0KPiA+Pj4gKwlpZiAoIXBmbl92YWxpZChwZm4pKSB7DQo+ID4+DQo+ID4+
+IFdoeSBub3QgZGlyZWN0bHkgdXNlIGt2bV9pc19tbWlvX3BmbigpPw0KPiA+DQo+ID4gV2hhdCBJ
+IHVuZGVyc3RhbmQgZnJvbSB0aGlzIGZ1bmN0aW9uIChzb21lb25lIGNhbiBjb3JyZWN0IG1lKSBp
+cyB0aGF0IGl0DQo+IHJldHVybnMgImZhbHNlIiB3aGVuIHRoZSBwYWdlIGlzIG1hbmFnZWQgYnkg
+a2VybmVsIGFuZCBpcyBub3QgbWFya2VkIGFzIFJFU0VSVkVEDQo+IChmb3Igc29tZSByZWFzb24p
+LiBGb3IgdXMgaXQgZG9lcyBub3QgbWF0dGVyIHdoZXRoZXIgdGhlIHBhZ2UgaXMgcmVzZXJ2ZWQg
+b3INCj4gbm90LCBpZiBpdCBpcyBrZXJuZWwgdmlzaWJsZSBwYWdlIHRoZW4gaXQgaXMgRERSLg0K
+PiA+DQo+IA0KPiBJIHRoaW5rIHlvdSBhcmUgc2V0dGluZyBJfEcgYnkgYWRkcmVzc2luZyBhbGwg
+bW1pbyBwYWdlcywgcmlnaHQ/IElmIHNvLA0KPiANCj4gICAgICBLVk06IGRpcmVjdCBtbWlvIHBm
+biBjaGVjaw0KPiANCj4gICAgICBVc2Vyc3BhY2UgbWF5IHNwZWNpZnkgbWVtb3J5IHNsb3RzIHRo
+YXQgYXJlIGJhY2tlZCBieSBtbWlvIHBhZ2VzIHJhdGhlcg0KPiB0aGFuDQo+ICAgICAgbm9ybWFs
+IFJBTS4gIEluIHNvbWUgY2FzZXMgaXQgaXMgbm90IGVub3VnaCB0byBpZGVudGlmeSB0aGVzZSBt
+bWlvIHBhZ2VzDQo+ICAgICAgYnkgcGZuX3ZhbGlkKCkuICBUaGlzIHBhdGNoIGFkZHMgY2hlY2tp
+bmcgdGhlIFBhZ2VSZXNlcnZlZCBhcyB3ZWxsLg0KDQpEbyB5b3Uga25vdyB3aGF0IGFyZSB0aG9z
+ZSAic29tZSBjYXNlcyIgYW5kIGhvdyBjaGVja2luZyBQYWdlUmVzZXJ2ZWQgaGVscHMgaW4gdGhv
+c2UgY2FzZXM/DQoNCi1CaGFyYXQNCg0KPiANCj4gVGllanVuDQo+IA0KPiA+IC1CaGFyYXQNCj4g
+Pg0KPiA+Pg0KPiA+PiBUaWVqdW4NCj4gPj4NCj4gPj4+ICsJCW1hczJfYXR0ciB8PSBNQVMyX0kg
+fCBNQVMyX0c7DQo+ID4+PiArCX0gZWxzZSB7DQo+ID4+PiAgICAjaWZkZWYgQ09ORklHX1NNUA0K
+PiA+Pj4gLQlyZXR1cm4gKG1hczIgJiBNQVMyX0FUVFJJQl9NQVNLKSB8IE1BUzJfTTsNCj4gPj4+
+IC0jZWxzZQ0KPiA+Pj4gLQlyZXR1cm4gbWFzMiAmIE1BUzJfQVRUUklCX01BU0s7DQo+ID4+PiAr
+CQltYXMyX2F0dHIgfD0gTUFTMl9NOw0KPiA+Pj4gICAgI2VuZGlmDQo+ID4+PiArCX0NCj4gPj4+
+ICsJcmV0dXJuIG1hczJfYXR0cjsNCj4gPj4+ICAgIH0NCj4gPj4+DQo+ID4+PiAgICAvKg0KPiA+
+Pj4gQEAgLTMxMyw3ICszMjAsNyBAQCBzdGF0aWMgdm9pZCBrdm1wcGNfZTUwMF9zZXR1cF9zdGxi
+ZSgNCj4gPj4+ICAgIAkvKiBGb3JjZSBJUFJPVD0wIGZvciBhbGwgZ3Vlc3QgbWFwcGluZ3MuICov
+DQo+ID4+PiAgICAJc3RsYmUtPm1hczEgPSBNQVMxX1RTSVpFKHRzaXplKSB8IGdldF90bGJfc3Rz
+KGd0bGJlKSB8IE1BUzFfVkFMSUQ7DQo+ID4+PiAgICAJc3RsYmUtPm1hczIgPSAoZ3ZhZGRyICYg
+TUFTMl9FUE4pIHwNCj4gPj4+IC0JCSAgICAgIGU1MDBfc2hhZG93X21hczJfYXR0cmliKGd0bGJl
+LT5tYXMyLCBwcik7DQo+ID4+PiArCQkgICAgICBlNTAwX3NoYWRvd19tYXMyX2F0dHJpYihndGxi
+ZS0+bWFzMiwgcGZuKTsNCj4gPj4+ICAgIAlzdGxiZS0+bWFzN18zID0gKCh1NjQpcGZuIDw8IFBB
+R0VfU0hJRlQpIHwNCj4gPj4+ICAgIAkJCWU1MDBfc2hhZG93X21hczNfYXR0cmliKGd0bGJlLT5t
+YXM3XzMsIHByKTsNCj4gPj4+DQo+ID4+Pg0KPiA+Pg0KPiA+DQo+IA0KPiAtLQ0KPiBUbyB1bnN1
+YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUga3ZtLXBw
+YyIgaW4gdGhlIGJvZHkNCj4gb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5v
+cmcgTW9yZSBtYWpvcmRvbW8gaW5mbyBhdA0KPiBodHRwOi8vdmdlci5rZXJuZWwub3JnL21ham9y
+ZG9tby1pbmZvLmh0bWwNCg0K
\ No newline at end of file
diff --git a/a/content_digest b/N1/content_digest
index 3aa5e46..87110f4 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -38,121 +38,77 @@
   "b\0"
 ]
 [
-  "\n",
-  "\n",
-  "> -----Original Message-----\n",
-  "> From: kvm-ppc-owner\@vger.kernel.org [mailto:kvm-ppc-owner\@vger.kernel.org] On\n",
-  "> Behalf Of \"\342\200\234tiejun.chen\342\200\235\"\n",
-  "> Sent: Thursday, July 18, 2013 1:01 PM\n",
-  "> To: Bhushan Bharat-R65777\n",
-  "> Cc: kvm-ppc\@vger.kernel.org; kvm\@vger.kernel.org; agraf\@suse.de; Wood Scott-\n",
-  "> B07421\n",
-  "> Subject: Re: [PATCH 2/2] kvm: powerpc: set cache coherency only for kernel\n",
-  "> managed pages\n",
-  "> \n",
-  "> On 07/18/2013 03:12 PM, Bhushan Bharat-R65777 wrote:\n",
-  "> >\n",
-  "> >\n",
-  "> >> -----Original Message-----\n",
-  "> >> From: \"\342\200\234tiejun.chen\342\200\235\" [mailto:tiejun.chen\@windriver.com]\n",
-  "> >> Sent: Thursday, July 18, 2013 11:56 AM\n",
-  "> >> To: Bhushan Bharat-R65777\n",
-  "> >> Cc: kvm-ppc\@vger.kernel.org; kvm\@vger.kernel.org; agraf\@suse.de; Wood\n",
-  "> >> Scott- B07421; Bhushan Bharat-R65777\n",
-  "> >> Subject: Re: [PATCH 2/2] kvm: powerpc: set cache coherency only for\n",
-  "> >> kernel managed pages\n",
-  "> >>\n",
-  "> >> On 07/18/2013 02:04 PM, Bharat Bhushan wrote:\n",
-  "> >>> If there is a struct page for the requested mapping then it's normal\n",
-  "> >>> DDR and the mapping sets \"M\" bit (coherent, cacheable) else this is\n",
-  "> >>> treated as I/O and we set  \"I + G\"  (cache inhibited, guarded)\n",
-  "> >>>\n",
-  "> >>> This helps setting proper TLB mapping for direct assigned device\n",
-  "> >>>\n",
-  "> >>> Signed-off-by: Bharat Bhushan <bharat.bhushan\@freescale.com>\n",
-  "> >>> ---\n",
-  "> >>>    arch/powerpc/kvm/e500_mmu_host.c |   17 ++++++++++++-----\n",
-  "> >>>    1 files changed, 12 insertions(+), 5 deletions(-)\n",
-  "> >>>\n",
-  "> >>> diff --git a/arch/powerpc/kvm/e500_mmu_host.c\n",
-  "> >>> b/arch/powerpc/kvm/e500_mmu_host.c\n",
-  "> >>> index 1c6a9d7..089c227 100644\n",
-  "> >>> --- a/arch/powerpc/kvm/e500_mmu_host.c\n",
-  "> >>> +++ b/arch/powerpc/kvm/e500_mmu_host.c\n",
-  "> >>> \@\@ -64,13 +64,20 \@\@ static inline u32 e500_shadow_mas3_attrib(u32\n",
-  "> >>> mas3, int\n",
-  "> >> usermode)\n",
-  "> >>>    \treturn mas3;\n",
-  "> >>>    }\n",
-  "> >>>\n",
-  "> >>> -static inline u32 e500_shadow_mas2_attrib(u32 mas2, int usermode)\n",
-  "> >>> +static inline u32 e500_shadow_mas2_attrib(u32 mas2, pfn_t pfn)\n",
-  "> >>>    {\n",
-  "> >>> +\tu32 mas2_attr;\n",
-  "> >>> +\n",
-  "> >>> +\tmas2_attr = mas2 & MAS2_ATTRIB_MASK;\n",
-  "> >>> +\n",
-  "> >>> +\tif (!pfn_valid(pfn)) {\n",
-  "> >>\n",
-  "> >> Why not directly use kvm_is_mmio_pfn()?\n",
-  "> >\n",
-  "> > What I understand from this function (someone can correct me) is that it\n",
-  "> returns \"false\" when the page is managed by kernel and is not marked as RESERVED\n",
-  "> (for some reason). For us it does not matter whether the page is reserved or\n",
-  "> not, if it is kernel visible page then it is DDR.\n",
-  "> >\n",
-  "> \n",
-  "> I think you are setting I|G by addressing all mmio pages, right? If so,\n",
-  "> \n",
-  ">      KVM: direct mmio pfn check\n",
-  "> \n",
-  ">      Userspace may specify memory slots that are backed by mmio pages rather\n",
-  "> than\n",
-  ">      normal RAM.  In some cases it is not enough to identify these mmio pages\n",
-  ">      by pfn_valid().  This patch adds checking the PageReserved as well.\n",
-  "\n",
-  "Do you know what are those \"some cases\" and how checking PageReserved helps in those cases?\n",
-  "\n",
-  "-Bharat\n",
-  "\n",
-  "> \n",
-  "> Tiejun\n",
-  "> \n",
-  "> > -Bharat\n",
-  "> >\n",
-  "> >>\n",
-  "> >> Tiejun\n",
-  "> >>\n",
-  "> >>> +\t\tmas2_attr |= MAS2_I | MAS2_G;\n",
-  "> >>> +\t} else {\n",
-  "> >>>    #ifdef CONFIG_SMP\n",
-  "> >>> -\treturn (mas2 & MAS2_ATTRIB_MASK) | MAS2_M;\n",
-  "> >>> -#else\n",
-  "> >>> -\treturn mas2 & MAS2_ATTRIB_MASK;\n",
-  "> >>> +\t\tmas2_attr |= MAS2_M;\n",
-  "> >>>    #endif\n",
-  "> >>> +\t}\n",
-  "> >>> +\treturn mas2_attr;\n",
-  "> >>>    }\n",
-  "> >>>\n",
-  "> >>>    /*\n",
-  "> >>> \@\@ -313,7 +320,7 \@\@ static void kvmppc_e500_setup_stlbe(\n",
-  "> >>>    \t/* Force IPROT=0 for all guest mappings. */\n",
-  "> >>>    \tstlbe->mas1 = MAS1_TSIZE(tsize) | get_tlb_sts(gtlbe) | MAS1_VALID;\n",
-  "> >>>    \tstlbe->mas2 = (gvaddr & MAS2_EPN) |\n",
-  "> >>> -\t\t      e500_shadow_mas2_attrib(gtlbe->mas2, pr);\n",
-  "> >>> +\t\t      e500_shadow_mas2_attrib(gtlbe->mas2, pfn);\n",
-  "> >>>    \tstlbe->mas7_3 = ((u64)pfn << PAGE_SHIFT) |\n",
-  "> >>>    \t\t\te500_shadow_mas3_attrib(gtlbe->mas7_3, pr);\n",
-  "> >>>\n",
-  "> >>>\n",
-  "> >>\n",
-  "> >\n",
-  "> \n",
-  "> --\n",
-  "> To unsubscribe from this list: send the line \"unsubscribe kvm-ppc\" in the body\n",
-  "> of a message to majordomo\@vger.kernel.org More majordomo info at\n",
-  "> http://vger.kernel.org/majordomo-info.html"
+  "DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbToga3ZtLXBwYy1vd25lckB2\n",
+  "Z2VyLmtlcm5lbC5vcmcgW21haWx0bzprdm0tcHBjLW93bmVyQHZnZXIua2VybmVsLm9yZ10gT24N\n",
+  "Cj4gQmVoYWxmIE9mICLigJx0aWVqdW4uY2hlbuKAnSINCj4gU2VudDogVGh1cnNkYXksIEp1bHkg\n",
+  "MTgsIDIwMTMgMTowMSBQTQ0KPiBUbzogQmh1c2hhbiBCaGFyYXQtUjY1Nzc3DQo+IENjOiBrdm0t\n",
+  "cHBjQHZnZXIua2VybmVsLm9yZzsga3ZtQHZnZXIua2VybmVsLm9yZzsgYWdyYWZAc3VzZS5kZTsg\n",
+  "V29vZCBTY290dC0NCj4gQjA3NDIxDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMi8yXSBrdm06IHBv\n",
+  "d2VycGM6IHNldCBjYWNoZSBjb2hlcmVuY3kgb25seSBmb3Iga2VybmVsDQo+IG1hbmFnZWQgcGFn\n",
+  "ZXMNCj4gDQo+IE9uIDA3LzE4LzIwMTMgMDM6MTIgUE0sIEJodXNoYW4gQmhhcmF0LVI2NTc3NyB3\n",
+  "cm90ZToNCj4gPg0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZy\n",
+  "b206ICLigJx0aWVqdW4uY2hlbuKAnSIgW21haWx0bzp0aWVqdW4uY2hlbkB3aW5kcml2ZXIuY29t\n",
+  "XQ0KPiA+PiBTZW50OiBUaHVyc2RheSwgSnVseSAxOCwgMjAxMyAxMTo1NiBBTQ0KPiA+PiBUbzog\n",
+  "Qmh1c2hhbiBCaGFyYXQtUjY1Nzc3DQo+ID4+IENjOiBrdm0tcHBjQHZnZXIua2VybmVsLm9yZzsg\n",
+  "a3ZtQHZnZXIua2VybmVsLm9yZzsgYWdyYWZAc3VzZS5kZTsgV29vZA0KPiA+PiBTY290dC0gQjA3\n",
+  "NDIxOyBCaHVzaGFuIEJoYXJhdC1SNjU3NzcNCj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzJd\n",
+  "IGt2bTogcG93ZXJwYzogc2V0IGNhY2hlIGNvaGVyZW5jeSBvbmx5IGZvcg0KPiA+PiBrZXJuZWwg\n",
+  "bWFuYWdlZCBwYWdlcw0KPiA+Pg0KPiA+PiBPbiAwNy8xOC8yMDEzIDAyOjA0IFBNLCBCaGFyYXQg\n",
+  "Qmh1c2hhbiB3cm90ZToNCj4gPj4+IElmIHRoZXJlIGlzIGEgc3RydWN0IHBhZ2UgZm9yIHRoZSBy\n",
+  "ZXF1ZXN0ZWQgbWFwcGluZyB0aGVuIGl0J3Mgbm9ybWFsDQo+ID4+PiBERFIgYW5kIHRoZSBtYXBw\n",
+  "aW5nIHNldHMgIk0iIGJpdCAoY29oZXJlbnQsIGNhY2hlYWJsZSkgZWxzZSB0aGlzIGlzDQo+ID4+\n",
+  "PiB0cmVhdGVkIGFzIEkvTyBhbmQgd2Ugc2V0ICAiSSArIEciICAoY2FjaGUgaW5oaWJpdGVkLCBn\n",
+  "dWFyZGVkKQ0KPiA+Pj4NCj4gPj4+IFRoaXMgaGVscHMgc2V0dGluZyBwcm9wZXIgVExCIG1hcHBp\n",
+  "bmcgZm9yIGRpcmVjdCBhc3NpZ25lZCBkZXZpY2UNCj4gPj4+DQo+ID4+PiBTaWduZWQtb2ZmLWJ5\n",
+  "OiBCaGFyYXQgQmh1c2hhbiA8YmhhcmF0LmJodXNoYW5AZnJlZXNjYWxlLmNvbT4NCj4gPj4+IC0t\n",
+  "LQ0KPiA+Pj4gICAgYXJjaC9wb3dlcnBjL2t2bS9lNTAwX21tdV9ob3N0LmMgfCAgIDE3ICsrKysr\n",
+  "KysrKysrKy0tLS0tDQo+ID4+PiAgICAxIGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyks\n",
+  "IDUgZGVsZXRpb25zKC0pDQo+ID4+Pg0KPiA+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9r\n",
+  "dm0vZTUwMF9tbXVfaG9zdC5jDQo+ID4+PiBiL2FyY2gvcG93ZXJwYy9rdm0vZTUwMF9tbXVfaG9z\n",
+  "dC5jDQo+ID4+PiBpbmRleCAxYzZhOWQ3Li4wODljMjI3IDEwMDY0NA0KPiA+Pj4gLS0tIGEvYXJj\n",
+  "aC9wb3dlcnBjL2t2bS9lNTAwX21tdV9ob3N0LmMNCj4gPj4+ICsrKyBiL2FyY2gvcG93ZXJwYy9r\n",
+  "dm0vZTUwMF9tbXVfaG9zdC5jDQo+ID4+PiBAQCAtNjQsMTMgKzY0LDIwIEBAIHN0YXRpYyBpbmxp\n",
+  "bmUgdTMyIGU1MDBfc2hhZG93X21hczNfYXR0cmliKHUzMg0KPiA+Pj4gbWFzMywgaW50DQo+ID4+\n",
+  "IHVzZXJtb2RlKQ0KPiA+Pj4gICAgCXJldHVybiBtYXMzOw0KPiA+Pj4gICAgfQ0KPiA+Pj4NCj4g\n",
+  "Pj4+IC1zdGF0aWMgaW5saW5lIHUzMiBlNTAwX3NoYWRvd19tYXMyX2F0dHJpYih1MzIgbWFzMiwg\n",
+  "aW50IHVzZXJtb2RlKQ0KPiA+Pj4gK3N0YXRpYyBpbmxpbmUgdTMyIGU1MDBfc2hhZG93X21hczJf\n",
+  "YXR0cmliKHUzMiBtYXMyLCBwZm5fdCBwZm4pDQo+ID4+PiAgICB7DQo+ID4+PiArCXUzMiBtYXMy\n",
+  "X2F0dHI7DQo+ID4+PiArDQo+ID4+PiArCW1hczJfYXR0ciA9IG1hczIgJiBNQVMyX0FUVFJJQl9N\n",
+  "QVNLOw0KPiA+Pj4gKw0KPiA+Pj4gKwlpZiAoIXBmbl92YWxpZChwZm4pKSB7DQo+ID4+DQo+ID4+\n",
+  "IFdoeSBub3QgZGlyZWN0bHkgdXNlIGt2bV9pc19tbWlvX3BmbigpPw0KPiA+DQo+ID4gV2hhdCBJ\n",
+  "IHVuZGVyc3RhbmQgZnJvbSB0aGlzIGZ1bmN0aW9uIChzb21lb25lIGNhbiBjb3JyZWN0IG1lKSBp\n",
+  "cyB0aGF0IGl0DQo+IHJldHVybnMgImZhbHNlIiB3aGVuIHRoZSBwYWdlIGlzIG1hbmFnZWQgYnkg\n",
+  "a2VybmVsIGFuZCBpcyBub3QgbWFya2VkIGFzIFJFU0VSVkVEDQo+IChmb3Igc29tZSByZWFzb24p\n",
+  "LiBGb3IgdXMgaXQgZG9lcyBub3QgbWF0dGVyIHdoZXRoZXIgdGhlIHBhZ2UgaXMgcmVzZXJ2ZWQg\n",
+  "b3INCj4gbm90LCBpZiBpdCBpcyBrZXJuZWwgdmlzaWJsZSBwYWdlIHRoZW4gaXQgaXMgRERSLg0K\n",
+  "PiA+DQo+IA0KPiBJIHRoaW5rIHlvdSBhcmUgc2V0dGluZyBJfEcgYnkgYWRkcmVzc2luZyBhbGwg\n",
+  "bW1pbyBwYWdlcywgcmlnaHQ/IElmIHNvLA0KPiANCj4gICAgICBLVk06IGRpcmVjdCBtbWlvIHBm\n",
+  "biBjaGVjaw0KPiANCj4gICAgICBVc2Vyc3BhY2UgbWF5IHNwZWNpZnkgbWVtb3J5IHNsb3RzIHRo\n",
+  "YXQgYXJlIGJhY2tlZCBieSBtbWlvIHBhZ2VzIHJhdGhlcg0KPiB0aGFuDQo+ICAgICAgbm9ybWFs\n",
+  "IFJBTS4gIEluIHNvbWUgY2FzZXMgaXQgaXMgbm90IGVub3VnaCB0byBpZGVudGlmeSB0aGVzZSBt\n",
+  "bWlvIHBhZ2VzDQo+ICAgICAgYnkgcGZuX3ZhbGlkKCkuICBUaGlzIHBhdGNoIGFkZHMgY2hlY2tp\n",
+  "bmcgdGhlIFBhZ2VSZXNlcnZlZCBhcyB3ZWxsLg0KDQpEbyB5b3Uga25vdyB3aGF0IGFyZSB0aG9z\n",
+  "ZSAic29tZSBjYXNlcyIgYW5kIGhvdyBjaGVja2luZyBQYWdlUmVzZXJ2ZWQgaGVscHMgaW4gdGhv\n",
+  "c2UgY2FzZXM/DQoNCi1CaGFyYXQNCg0KPiANCj4gVGllanVuDQo+IA0KPiA+IC1CaGFyYXQNCj4g\n",
+  "Pg0KPiA+Pg0KPiA+PiBUaWVqdW4NCj4gPj4NCj4gPj4+ICsJCW1hczJfYXR0ciB8PSBNQVMyX0kg\n",
+  "fCBNQVMyX0c7DQo+ID4+PiArCX0gZWxzZSB7DQo+ID4+PiAgICAjaWZkZWYgQ09ORklHX1NNUA0K\n",
+  "PiA+Pj4gLQlyZXR1cm4gKG1hczIgJiBNQVMyX0FUVFJJQl9NQVNLKSB8IE1BUzJfTTsNCj4gPj4+\n",
+  "IC0jZWxzZQ0KPiA+Pj4gLQlyZXR1cm4gbWFzMiAmIE1BUzJfQVRUUklCX01BU0s7DQo+ID4+PiAr\n",
+  "CQltYXMyX2F0dHIgfD0gTUFTMl9NOw0KPiA+Pj4gICAgI2VuZGlmDQo+ID4+PiArCX0NCj4gPj4+\n",
+  "ICsJcmV0dXJuIG1hczJfYXR0cjsNCj4gPj4+ICAgIH0NCj4gPj4+DQo+ID4+PiAgICAvKg0KPiA+\n",
+  "Pj4gQEAgLTMxMyw3ICszMjAsNyBAQCBzdGF0aWMgdm9pZCBrdm1wcGNfZTUwMF9zZXR1cF9zdGxi\n",
+  "ZSgNCj4gPj4+ICAgIAkvKiBGb3JjZSBJUFJPVD0wIGZvciBhbGwgZ3Vlc3QgbWFwcGluZ3MuICov\n",
+  "DQo+ID4+PiAgICAJc3RsYmUtPm1hczEgPSBNQVMxX1RTSVpFKHRzaXplKSB8IGdldF90bGJfc3Rz\n",
+  "KGd0bGJlKSB8IE1BUzFfVkFMSUQ7DQo+ID4+PiAgICAJc3RsYmUtPm1hczIgPSAoZ3ZhZGRyICYg\n",
+  "TUFTMl9FUE4pIHwNCj4gPj4+IC0JCSAgICAgIGU1MDBfc2hhZG93X21hczJfYXR0cmliKGd0bGJl\n",
+  "LT5tYXMyLCBwcik7DQo+ID4+PiArCQkgICAgICBlNTAwX3NoYWRvd19tYXMyX2F0dHJpYihndGxi\n",
+  "ZS0+bWFzMiwgcGZuKTsNCj4gPj4+ICAgIAlzdGxiZS0+bWFzN18zID0gKCh1NjQpcGZuIDw8IFBB\n",
+  "R0VfU0hJRlQpIHwNCj4gPj4+ICAgIAkJCWU1MDBfc2hhZG93X21hczNfYXR0cmliKGd0bGJlLT5t\n",
+  "YXM3XzMsIHByKTsNCj4gPj4+DQo+ID4+Pg0KPiA+Pg0KPiA+DQo+IA0KPiAtLQ0KPiBUbyB1bnN1\n",
+  "YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUga3ZtLXBw\n",
+  "YyIgaW4gdGhlIGJvZHkNCj4gb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5v\n",
+  "cmcgTW9yZSBtYWpvcmRvbW8gaW5mbyBhdA0KPiBodHRwOi8vdmdlci5rZXJuZWwub3JnL21ham9y\n",
+  "ZG9tby1pbmZvLmh0bWwNCg0K"
 ]
 
-70f1ed5ee79b21f2422eba1a1c9d09ce0c59c5b4b42e76becb3d79e8e891f031
+587400449397454d35c8cb2f57d30ebb3bea67bb5f9d39e33d469b15e00a0561

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.