From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: Re: [PATCH v2 22/30] xen/x86: support PVHv2 Dom0 BAR remapping Date: Thu, 6 Oct 2016 17:25:09 +0200 Message-ID: <20161006152509.5ziabwmokmtocs5f@mac> References: <1474991845-27962-1-git-send-email-roger.pau@citrix.com> <1474991845-27962-23-git-send-email-roger.pau@citrix.com> <4bfac2f9375e4cee884ec2cbbd4fa5bd@AMSPEX02CL03.citrite.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bsAqH-00078e-Js for xen-devel@lists.xenproject.org; Thu, 06 Oct 2016 15:44:17 +0000 Content-Disposition: inline In-Reply-To: <4bfac2f9375e4cee884ec2cbbd4fa5bd@AMSPEX02CL03.citrite.net> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Paul Durrant Cc: "xen-devel@lists.xenproject.org" , "boris.ostrovsky@oracle.com" , Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org T24gTW9uLCBPY3QgMDMsIDIwMTYgYXQgMTE6MTA6NDRBTSArMDEwMCwgUGF1bCBEdXJyYW50IHdy b3RlOgo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+IEZyb206IFJvZ2VyIFBhdSBN b25uZSBbbWFpbHRvOnJvZ2VyLnBhdUBjaXRyaXguY29tXQo+ID4gU2VudDogMjcgU2VwdGVtYmVy IDIwMTYgMTY6NTcKPiA+IFRvOiB4ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKPiA+IENj OiBrb25yYWQud2lsa0BvcmFjbGUuY29tOyBib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbTsgUm9n ZXIgUGF1IE1vbm5lCj4gPiA8cm9nZXIucGF1QGNpdHJpeC5jb20+OyBQYXVsIER1cnJhbnQgPFBh dWwuRHVycmFudEBjaXRyaXguY29tPjsgSmFuCj4gPiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv bT47IEFuZHJldyBDb29wZXIKPiA+IDxBbmRyZXcuQ29vcGVyM0BjaXRyaXguY29tPgo+ID4gU3Vi amVjdDogW1BBVENIIHYyIDIyLzMwXSB4ZW4veDg2OiBzdXBwb3J0IFBWSHYyIERvbTAgQkFSIHJl bWFwcGluZwo+ID4gCj4gPiBBZGQgaGFuZGxlcnMgdG8gZGV0ZWN0IGF0dGVtcHMgZnJvbSBhIFBW SHYyIERvbTAgdG8gY2hhbmdlIHRoZSBwb3NpdGlvbgo+ID4gb2YgdGhlIFBDSSBCQVJzIGFuZCBw cm9wZXJseSByZW1hcCB0aGVtLgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9u bsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KPiA+IC0tLQo+ID4gQ2M6IFBhdWwgRHVycmFudCA8 cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+Cj4gPiBDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1 c2UuY29tPgo+ID4gQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ Cj4gPiAtLS0KPiA+ICB4ZW4vYXJjaC94ODYvaHZtL2lvLmMgICAgICAgICB8ICAgMiArCj4gPiAg eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMgfCAzMDcKPiA+ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2lv LmggIHwgIDE5ICsrKwo+ID4gIHhlbi9pbmNsdWRlL3hlbi9wY2kuaCAgICAgICAgIHwgICAzICsK PiA+ICA0IGZpbGVzIGNoYW5nZWQsIDMzMSBpbnNlcnRpb25zKCspCj4gPiAKPiA+IGRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvaHZtL2lvLmMgYi94ZW4vYXJjaC94ODYvaHZtL2lvLmMgaW5kZXgK PiA+IDdkZTFkZTMuLjRkYjAyNjYgMTAwNjQ0Cj4gPiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL2lv LmMKPiA+ICsrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaW8uYwo+ID4gQEAgLTg2Miw2ICs4NjIsOCBA QCBzdGF0aWMgaW50IGh2bV9wdF9hZGRfcmVnaXN0ZXIoc3RydWN0IGh2bV9wdF9kZXZpY2UKPiA+ ICpkZXYsICB9Cj4gPiAKPiA+ICBzdGF0aWMgc3RydWN0IGh2bV9wdF9oYW5kbGVyX2luaXQgKmh3 ZG9tX3B0X2hhbmRsZXJzW10gPSB7Cj4gPiArICAgICZodm1fcHRfYmFyX2luaXQsCj4gPiArICAg ICZodm1fcHRfdmZfYmFyX2luaXQsCj4gPiAgfTsKPiA+IAo+ID4gIGludCBod2RvbV9hZGRfZGV2 aWNlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KSBkaWZmIC0tZ2l0Cj4gPiBhL3hlbi9kcml2ZXJzL3Bh c3N0aHJvdWdoL3BjaS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMgaW5kZXgKPiA+ IDZkODMxZGQuLjYwYzllNzQgMTAwNjQ0Cj4gPiAtLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC9wY2kuYwo+ID4gKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMKPiA+IEBAIC02 MzMsNiArNjMzLDMxMyBAQCBzdGF0aWMgaW50IHBjaV9zaXplX2Jhcih1bnNpZ25lZCBpbnQgc2Vn LCB1bnNpZ25lZAo+ID4gaW50IGJ1cywgdW5zaWduZWQgaW50IHNsb3QsCj4gPiAgICAgIHJldHVy biAwOwo+ID4gIH0KPiA+IAo+ID4gK3N0YXRpYyBib29sIGJhcl9yZWdfaXNfdmYodWludDMyX3Qg cmVhbF9vZmZzZXQsIHVpbnQzMl90Cj4gPiAraGFuZGxlcl9vZmZzZXQpIHsKPiA+ICsgICAgaWYg KCByZWFsX29mZnNldCAtIGhhbmRsZXJfb2Zmc2V0ID09IFBDSV9TUklPVl9CQVIgKQo+ID4gKyAg ICAgICAgcmV0dXJuIHRydWU7Cj4gPiArICAgIGVsc2UKPiA+ICsgICAgICAgIHJldHVybiBmYWxz ZTsKPiA+ICt9Cj4gPiArCj4gCj4gUmV0dXJuIHRoZSBib29sIGV4cHJlc3Npb24gcmF0aGVyIHRo YW4gdGhlIGlmLXRoZW4tZWxzZT8KCkRvbmUuCiAKPiA+ICtzdGF0aWMgaW50IGJhcl9yZWdfaW5p dChzdHJ1Y3QgaHZtX3B0X2RldmljZSAqcywKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3QgaHZtX3B0X3JlZ19oYW5kbGVyICpoYW5kbGVyLAo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQzMl90IHJlYWxfb2Zmc2V0LCB1aW50MzJfdCAqZGF0YSkgewo+ID4gKyAgICB1 aW50OF90IHNlZywgYnVzLCBzbG90LCBmdW5jOwo+ID4gKyAgICB1aW50NjRfdCBhZGRyLCBzaXpl Owo+ID4gKyAgICB1aW50MzJfdCB2YWw7Cj4gPiArICAgIHVuc2lnbmVkIGludCBpbmRleCA9IGhh bmRsZXItPm9mZnNldCAvIDQ7Cj4gPiArICAgIGJvb2wgdmYgPSBiYXJfcmVnX2lzX3ZmKHJlYWxf b2Zmc2V0LCBoYW5kbGVyLT5vZmZzZXQpOwo+ID4gKyAgICBzdHJ1Y3QgaHZtX3B0X2JhciAqYmFy cyA9ICh2ZiA/IHMtPnZmX2JhcnMgOiBzLT5iYXJzKTsKPiA+ICsgICAgaW50IG51bV9iYXJzID0g KHZmID8gUENJX1NSSU9WX05VTV9CQVJTIDogcy0+bnVtX2JhcnMpOwo+ID4gKyAgICBpbnQgcmM7 Cj4gPiArCj4gPiArICAgIGlmICggaW5kZXggPj0gbnVtX2JhcnMgKQo+ID4gKyAgICB7Cj4gPiAr ICAgICAgICAqZGF0YSA9IEhWTV9QVF9JTlZBTElEX1JFRzsKPiA+ICsgICAgICAgIHJldHVybiAw Owo+ID4gKyAgICB9Cj4gPiArCj4gPiArICAgIHNlZyA9IHMtPnBkZXYtPnNlZzsKPiA+ICsgICAg YnVzID0gcy0+cGRldi0+YnVzOwo+ID4gKyAgICBzbG90ID0gUENJX1NMT1Qocy0+cGRldi0+ZGV2 Zm4pOwo+ID4gKyAgICBmdW5jID0gUENJX0ZVTkMocy0+cGRldi0+ZGV2Zm4pOwo+ID4gKyAgICB2 YWwgPSBwY2lfY29uZl9yZWFkMzIoc2VnLCBidXMsIHNsb3QsIGZ1bmMsIHJlYWxfb2Zmc2V0KTsK PiA+ICsKPiA+ICsgICAgaWYgKCBpbmRleCA+IDAgJiYgYmFyc1tpbmRleCAtIDFdLnR5cGUgPT0g SFZNX1BUX0JBUl9NRU02NF9MTyApCj4gPiArICAgICAgICBiYXJzW2luZGV4XS50eXBlID0gSFZN X1BUX0JBUl9NRU02NF9ISTsKPiA+ICsgICAgZWxzZSBpZiAoICh2YWwgJiBQQ0lfQkFTRV9BRERS RVNTX1NQQUNFKSA9PQo+ID4gUENJX0JBU0VfQUREUkVTU19TUEFDRV9JTyApCj4gPiArICAgIHsK PiA+ICsgICAgICAgIGJhcnNbaW5kZXhdLnR5cGUgPSBIVk1fUFRfQkFSX1VOVVNFRDsKPiA+ICsg ICAgfQo+ID4gKyAgICBlbHNlIGlmICggKHZhbCAmIFBDSV9CQVNFX0FERFJFU1NfTUVNX1RZUEVf TUFTSykgPT0KPiA+ICsgICAgICAgICAgICAgIFBDSV9CQVNFX0FERFJFU1NfTUVNX1RZUEVfNjQg KQo+ID4gKyAgICAgICAgYmFyc1tpbmRleF0udHlwZSA9IEhWTV9QVF9CQVJfTUVNNjRfTE87Cj4g PiArICAgIGVsc2UKPiA+ICsgICAgICAgIGJhcnNbaW5kZXhdLnR5cGUgPSBIVk1fUFRfQkFSX01F TTMyOwo+ID4gKwo+ID4gKyAgICBpZiAoIGJhcnNbaW5kZXhdLnR5cGUgPT0gSFZNX1BUX0JBUl9N RU0zMiB8fAo+ID4gKyAgICAgICAgIGJhcnNbaW5kZXhdLnR5cGUgPT0gSFZNX1BUX0JBUl9NRU02 NF9MTyApCj4gPiArICAgIHsKPiA+ICsgICAgICAgIC8qIFNpemUgdGhlIEJBUiBhbmQgbWFwIGl0 LiAqLwo+ID4gKyAgICAgICAgcmMgPSBwY2lfc2l6ZV9iYXIoc2VnLCBidXMsIHNsb3QsIGZ1bmMs IHJlYWxfb2Zmc2V0IC0gaGFuZGxlci0+b2Zmc2V0LAo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgbnVtX2JhcnMsICZpbmRleCwgJmFkZHIsICZzaXplKTsKPiA+ICsgICAgICAgIGlmICgg cmMgKQo+ID4gKyAgICAgICAgewo+ID4gKyAgICAgICAgICAgIHByaW50a19wZGV2KHMtPnBkZXYs IFhFTkxPR19FUlIsICJ1bmFibGUgdG8gc2l6ZSBCQVIjJWRcbiIsCj4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgaW5kZXgpOwo+ID4gKyAgICAgICAgICAgIHJldHVybiByYzsKPiA+ICsgICAg ICAgIH0KPiA+ICsKPiA+ICsgICAgICAgIGlmICggc2l6ZSA9PSAwICkKPiA+ICsgICAgICAgICAg ICBiYXJzW2luZGV4XS50eXBlID0gSFZNX1BUX0JBUl9VTlVTRUQ7Cj4gPiArICAgICAgICBlbHNl Cj4gPiArICAgICAgICB7Cj4gPiArICAgICAgICAgICAgcHJpbnRrX3BkZXYocy0+cGRldiwgWEVO TE9HX0RFQlVHLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICJNYXBwaW5nIEJBUiMldTog JSNseCBzaXplOiAldVxuIiwgaW5kZXgsIGFkZHIsIHNpemUpOwo+ID4gKyAgICAgICAgICAgIHJj ID0gbW9kaWZ5X21taW9fMTEocy0+cGRldi0+ZG9tYWluLCBQRk5fRE9XTihhZGRyKSwKPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERJVl9ST1VORF9VUChzaXplLCBQQUdFX1NJ WkUpLCB0cnVlKTsKPiA+ICsgICAgICAgICAgICBpZiAoIHJjICkKPiA+ICsgICAgICAgICAgICB7 Cj4gPiArICAgICAgICAgICAgICAgIHByaW50a19wZGV2KHMtPnBkZXYsIFhFTkxPR19FUlIsCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsZWQgdG8gbWFwIEJBUiMlZCBpbnRv IG1lbW9yeSBtYXA6ICVkXG4iLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRl eCwgcmMpOwo+ID4gKyAgICAgICAgICAgICAgICByZXR1cm4gcmM7Cj4gPiArICAgICAgICAgICAg fQo+ID4gKyAgICAgICAgfQo+ID4gKyAgICB9Cj4gPiArCj4gPiArICAgICpkYXRhID0gYmFyc1tp bmRleF0udHlwZSA9PSBIVk1fUFRfQkFSX1VOVVNFRCA/Cj4gPiBIVk1fUFRfSU5WQUxJRF9SRUcg OiB2YWw7Cj4gPiArICAgIHJldHVybiAwOwo+ID4gK30KPiA+ICsKPiA+ICsvKiBPbmx5IGFsbG93 IHdyaXRlcyB0byBjaGVjayB0aGUgc2l6ZSBvZiB0aGUgQkFScyAqLyBzdGF0aWMgaW50Cj4gPiAr YWxsb3dfYmFyX3dyaXRlKHN0cnVjdCBodm1fcHRfYmFyICpiYXIsIHN0cnVjdCBodm1fcHRfcmVn ICpyZWcsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBjaV9kZXYgKnBk ZXYsIHVpbnQzMl90IHZhbCkgewo+ID4gKyAgICB1aW50MzJfdCBtYXNrOwo+ID4gKwo+ID4gKyAg ICBpZiAoIGJhci0+dHlwZSA9PSBIVk1fUFRfQkFSX01FTTY0X0hJICkKPiA+ICsgICAgICAgIG1h c2sgPSB+MDsKPiA+ICsgICAgZWxzZQo+ID4gKyAgICAgICAgbWFzayA9ICh1aW50MzJfdCkgUENJ X0JBU0VfQUREUkVTU19NRU1fTUFTSzsKPiA+ICsKPiA+ICsgICAgaWYgKCB2YWwgIT0gfjAgJiYg KHZhbCAmIG1hc2spICE9IChyZWctPnZhbC5kd29yZCAmIG1hc2spICkKPiA+ICsgICAgewo+ID4g KyAgICAgICAgcHJpbnRrX3BkZXYocGRldiwgWEVOTE9HX0VSUiwKPiA+ICsgICAgICAgICAgICAg ICAgImNoYW5naW5nIHRoZSBwb3NpdGlvbiBvZiB0aGUgQkFScyBpcyBub3QgeWV0IHN1cHBvcnRl ZDogJSN4XG4iLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgdmFsKTsKPiAKPiBUaGlzIGRvZXNu J3Qgc2VlbSB0byBxdWl0ZSB0YWxseSB3aXRoIGNvbW1pdCBjb21tZW50LiBDYW4gQkFScyBiZSBy ZS1wcm9ncmFtbWVkIG9yIG5vdD8KClJpZ2h0LCBJIGdvdCBtZXNzZWQgdXAgaW4gdGhlIGNvbW1p dCBtZWVzYWdlLiBUaGlzIF9wcmV2ZW50c18gcmVtYXBwaW5nIEJBUnMgCih3aGljaCB3b3VsZCBh bHNvIG5vdCB3b3JrIGFueXdheSkuIEZ1cnRoZXIgY29kZSB0byBhbGxvdyByZW1hcHBpbmcgQkFS cyBjYW4gCmJlIGJhc2VkIG9uIHRvcCBvZiB0aGlzIGhhbmRsZXJzLgoKUm9nZXIuCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4t ZGV2ZWwK