From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yu Zhang Subject: Re: [PATCH v5 3/4] x86/ioreq server: Add HVMOP to map guest ram with p2m_ioreq_server to an ioreq server. Date: Tue, 9 Aug 2016 15:39:38 +0800 Message-ID: <57A988BA.5020104@linux.intel.com> References: <1468314129-28465-1-git-send-email-yu.c.zhang@linux.intel.com> <1468314129-28465-4-git-send-email-yu.c.zhang@linux.intel.com> <57A8C4270200007800103E80@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <57A8C4270200007800103E80@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich , Paul Durrant Cc: Kevin Tian , George Dunlap , Andrew Cooper , Tim Deegan , xen-devel@lists.xen.org, zhiyuan.lv@intel.com, Jun Nakajima List-Id: xen-devel@lists.xenproject.org CgpPbiA4LzgvMjAxNiAxMTo0MCBQTSwgSmFuIEJldWxpY2ggd3JvdGU6Cj4+Pj4gT24gMTIuMDcu MTYgYXQgMTE6MDIsIDx5dS5jLnpoYW5nQGxpbnV4LmludGVsLmNvbT4gd3JvdGU6Cj4+IEBAIC0x NzgsOCArMTc5LDM0IEBAIHN0YXRpYyBpbnQgaHZtZW11bF9kb19pbygKPj4gICAgICAgICAgIGJy ZWFrOwo+PiAgICAgICBjYXNlIFg4NkVNVUxfVU5IQU5ETEVBQkxFOgo+PiAgICAgICB7Cj4+IC0g ICAgICAgIHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzID0KPj4gLSAgICAgICAgICAgIGh2bV9z ZWxlY3RfaW9yZXFfc2VydmVyKGN1cnItPmRvbWFpbiwgJnApOwo+PiArICAgICAgICBzdHJ1Y3Qg aHZtX2lvcmVxX3NlcnZlciAqczsKPj4gKwo+PiArICAgICAgICBpZiAoIGlzX21taW8gKQo+PiAr ICAgICAgICB7Cj4+ICsgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGdtZm4gPSBwYWRkcl90b19w Zm4oYWRkcik7Cj4+ICsgICAgICAgICAgICBwMm1fdHlwZV90IHAybXQ7Cj4+ICsKPj4gKyAgICAg ICAgICAgICh2b2lkKSBnZXRfZ2ZuX3F1ZXJ5X3VubG9ja2VkKGN1cnJkLCBnbWZuLCAmcDJtdCk7 Cj4+ICsKPj4gKyAgICAgICAgICAgIGlmICggcDJtdCA9PSBwMm1faW9yZXFfc2VydmVyICkKPj4g KyAgICAgICAgICAgIHsKPj4gKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3M7Cj4+ ICsKPj4gKyAgICAgICAgICAgICAgICBpZiAoIGRpciAhPSBJT1JFUV9XUklURSApCj4+ICsgICAg ICAgICAgICAgICAgICAgIHMgPSBOVUxMOwo+PiArICAgICAgICAgICAgICAgIGVsc2UKPj4gKyAg ICAgICAgICAgICAgICB7Cj4+ICsgICAgICAgICAgICAgICAgICAgIHMgPSBwMm1fZ2V0X2lvcmVx X3NlcnZlcihjdXJyZCwgJmZsYWdzKTsKPj4gKwo+PiArICAgICAgICAgICAgICAgICAgICBpZiAo ICEoZmxhZ3MgJiBQMk1fSU9SRVFfSEFORExFX1dSSVRFX0FDQ0VTUykgKQo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgcyA9IE5VTEw7Cj4+ICsgICAgICAgICAgICAgICAgfQo+PiArICAgICAg ICAgICAgfQo+PiArICAgICAgICAgICAgZWxzZQo+PiArICAgICAgICAgICAgICAgIHMgPSBodm1f c2VsZWN0X2lvcmVxX3NlcnZlcihjdXJyZCwgJnApOwo+PiArICAgICAgICB9Cj4+ICsgICAgICAg IGVsc2UKPj4gKyAgICAgICAgICAgIHMgPSBodm1fc2VsZWN0X2lvcmVxX3NlcnZlcihjdXJyZCwg JnApOwo+IFdvdWxkbid0IGl0IGJvdGggYmUgbW9yZSBuYXR1cmFsIGFuZCBtYWtlIHRoZSBsb2dp YyBldmVuIGVhc2llcgo+IHRvIGZvbGxvdyBpZiBzIGdvdCBzZXQgdG8gTlVMTCB1cCBmcm9udCwg YWxsIHRoZSAiZWxzZSItcyBkcm9wcGVkLAo+IGFuZCBhIHNpbXBsZQo+Cj4gICAgICAgICAgaWYg KCAhcyApCj4gICAgICAgICAgICAgIHMgPSBodm1fc2VsZWN0X2lvcmVxX3NlcnZlcihjdXJyZCwg JnApOwo+Cj4gYmUgZG9uZSBpbiB0aGUgZW5kPwoKVGhhbmtzLCBKYW4uIEknbGwgaGF2ZSBhIHRy eS4KCj4+IEBAIC01NDQ3LDYgKzU0NTIsMjEgQEAgc3RhdGljIGludCBodm1vcF9zZXRfbWVtX3R5 cGUoCj4+ICAgICAgIGlmICggIWlzX2h2bV9kb21haW4oZCkgKQo+PiAgICAgICAgICAgZ290byBv dXQ7Cj4+ICAgCj4+ICsgICAgaWYgKCBhLmh2bW1lbV90eXBlID09IEhWTU1FTV9pb3JlcV9zZXJ2 ZXIgKQo+PiArICAgIHsKPj4gKyAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzOwo+PiArICAgICAg ICBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqczsKPj4gKwo+PiArICAgICAgICAvKiBIVk1NRU1f aW9yZXFfc2VydmVyIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBIQVAgZW5hYmxlZCBodm0uICovCj4+ ICsgICAgICAgIGlmICggIWhhcF9lbmFibGVkKGQpICkKPj4gKyAgICAgICAgICAgIGdvdG8gb3V0 Owo+PiArCj4+ICsgICAgICAgIC8qIERvIG5vdCBjaGFuZ2UgdG8gSFZNTUVNX2lvcmVxX3NlcnZl ciBpZiBubyBpb3JlcSBzZXJ2ZXIgbWFwcGVkLiAqLwo+PiArICAgICAgICBzID0gcDJtX2dldF9p b3JlcV9zZXJ2ZXIoZCwgJmZsYWdzKTsKPj4gKyAgICAgICAgaWYgKCBzID09IE5VTEwgKQo+PiAr ICAgICAgICAgICAgZ290byBvdXQ7Cj4gRWl0aGVyIGRyb3AgcyBhcyBhbiBpbnRlcm1lZGlhdGUg dmFyaWFibGUgYWx0b2dldGhlciAocHJlZmVycmVkKSwgb3IKPiBjb25zdGlmeSBpdCBwcm9wZXJs eS4KCkdvdCBpdC4KCj4+ICtpbnQgaHZtX21hcF9tZW1fdHlwZV90b19pb3JlcV9zZXJ2ZXIoc3Ry dWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBpZCwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCB0eXBlLCB1aW50MzJfdCBmbGFncykKPj4gK3sKPj4gKyAg ICBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqczsKPj4gKyAgICBpbnQgcmM7Cj4+ICsKPj4gKyAg ICAvKiBGb3Igbm93LCBvbmx5IEhWTU1FTV9pb3JlcV9zZXJ2ZXIgaXMgc3VwcG9ydGVkLiAqLwo+ PiArICAgIGlmICggdHlwZSAhPSBIVk1NRU1faW9yZXFfc2VydmVyICkKPj4gKyAgICAgICAgcmV0 dXJuIC1FSU5WQUw7Cj4+ICsKPj4gKyAgICAvKiBGb3Igbm93LCBvbmx5IHdyaXRlIGVtdWxhdGlv biBpcyBzdXBwb3J0ZWQuICovCj4+ICsgICAgaWYgKCBmbGFncyAmIH4oWEVOX0hWTU9QX0lPUkVR X01FTV9BQ0NFU1NfV1JJVEUpICkKPj4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+ICsKPj4g KyAgICBzcGluX2xvY2soJmQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9zZXJ2ZXIubG9jayk7Cj4g VGhpcyBsb2NrIGRpZCBnZXQgY29udmVydGVkIHRvIGEgcmVjdXJzaXZlIG9uZSBhIGxpdHRsZSB3 aGlsZSBiYWNrLgoKT2guIEkgc2VlLCBzaG91bGQgdXNlIHRoZSBzcGluX2xvY2tfcmVjdXJzaXZl L3NwaW5fdW5sb2NrX3JlY3Vyc2l2ZSAKcGFpci4gVGhhbmtzLgoKPj4gKyAgICByYyA9IC1FTk9F TlQ7Cj4+ICsgICAgbGlzdF9mb3JfZWFjaF9lbnRyeSAoIHMsCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICZkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfc2VydmVyLmxpc3QsCj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgIGxpc3RfZW50cnkgKQo+PiArICAgIHsKPj4gKyAgICAgICAg aWYgKCBzID09IGQtPmFyY2guaHZtX2RvbWFpbi5kZWZhdWx0X2lvcmVxX3NlcnZlciApCj4+ICsg ICAgICAgICAgICBjb250aW51ZTsKPj4gKwo+PiArICAgICAgICBpZiAoIHMtPmlkID09IGlkICkK Pj4gKyAgICAgICAgewo+PiArICAgICAgICAgICAgcmMgPSBwMm1fc2V0X2lvcmVxX3NlcnZlcihk LCBmbGFncywgcyk7Cj4+ICsgICAgICAgICAgICBpZiAoIHJjID09IDAgKQo+PiArICAgICAgICAg ICAgICAgIGRwcmludGsoWEVOTE9HX0RFQlVHLCAiJXUgJXMgdHlwZSBIVk1NRU1faW9yZXFfc2Vy dmVyLlxuIiwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBzLT5pZCwgKGZsYWdzICE9IDAp ID8gIm1hcHBlZCB0byIgOiAidW5tYXBwZWQgZnJvbSIpOwo+IElzIHRoaXMgcmVhbGx5IHVzZWZ1 bD8KClNvcnJ5LCBhcmUgeW91IHJlZmVycmluZyB0byB0aGlzIGRlYnVnIG1lc3NhZ2U/CkkgYmVs aWV2ZSBpdCBoZWxwcywgZXNwZWNpYWxseSB3aGVuIG11bHRpcGxlIGlvcmVxIHNlcnZlcnMgYXJl IApjbGFpbWluZy9kaXNjbGFpbWluZyB0aGVpciBvd25lcnNoaXAgb2YKdGhlIEhWTU1FTV9pb3Jl cV9zZXJ2ZXIuIDopCgo+PiAtLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jCj4+ICsrKyBi L3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMKPj4gQEAgLTEzMiw2ICsxMzIsMTMgQEAgc3RhdGlj IHZvaWQgZXB0X3AybV90eXBlX3RvX2ZsYWdzKHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIGVwdF9l bnRyeV90ICplbnRyeSwKPj4gICAgICAgICAgICAgICBlbnRyeS0+ciA9IGVudHJ5LT53ID0gZW50 cnktPnggPSAxOwo+PiAgICAgICAgICAgICAgIGVudHJ5LT5hID0gZW50cnktPmQgPSAhIWNwdV9o YXNfdm14X2VwdF9hZDsKPj4gICAgICAgICAgICAgICBicmVhazsKPj4gKyAgICAgICAgY2FzZSBw Mm1faW9yZXFfc2VydmVyOgo+PiArICAgICAgICAgICAgZW50cnktPnIgPSAxOwo+PiArICAgICAg ICAgICAgZW50cnktPncgPSAhKHAybS0+aW9yZXEuZmxhZ3MgJiBQMk1fSU9SRVFfSEFORExFX1dS SVRFX0FDQ0VTUyk7Cj4+ICsgICAgICAgICAgICBlbnRyeS0+eCA9IDA7Cj4+ICsgICAgICAgICAg ICBlbnRyeS0+YSA9ICEhY3B1X2hhc192bXhfZXB0X2FkOwo+PiArICAgICAgICAgICAgZW50cnkt PmQgPSBlbnRyeS0+dyAmJiBjcHVfaGFzX3ZteF9lcHRfYWQ7Cj4gRm9yIHNlbGYtY29uc2lzdGVu Y3ksIGNvdWxkIHRoaXMgYmVjb21lCj4KPiAgICAgICAgICAgICAgZW50cnktPmQgPSBlbnRyeS0+ dyAmJiBlbnRyeS0+YTsKPgo+ID8KClllcC4gVGhhbmtzLiA6KQoKPj4gLS0tIGEveGVuL2FyY2gv eDg2L21tL3NoYWRvdy9tdWx0aS5jCj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVs dGkuYwo+PiBAQCAtMzIyNSw4ICszMjI1LDcgQEAgc3RhdGljIGludCBzaF9wYWdlX2ZhdWx0KHN0 cnVjdCB2Y3B1ICp2LAo+PiAgICAgICB9Cj4+ICAgCj4+ICAgICAgIC8qIE5lZWQgdG8gaGFuZCBv ZmYgZGV2aWNlLW1vZGVsIE1NSU8gdG8gdGhlIGRldmljZSBtb2RlbCAqLwo+PiAtICAgIGlmICgg cDJtdCA9PSBwMm1fbW1pb19kbQo+PiAtICAgICAgICAgfHwgKHAybXQgPT0gcDJtX2lvcmVxX3Nl cnZlciAmJiBmdCA9PSBmdF9kZW1hbmRfd3JpdGUpICkKPj4gKyAgICBpZiAoIHAybXQgPT0gcDJt X21taW9fZG0gKQo+IENvdWxkIHlvdSByZW1pbmQgbWUgYWdhaW4gd2hhdCB0aGUgY29kZSBiZWlu ZyByZW1vdmVkIGhlcmUgZ2V0cwo+IHJlcGxhY2VkIGJ5LCBvciB3aHkgaXQgZG9lc24ndCBuZWVk IGFueSByZXBsYWNlbWVudD8KCiAgSFZNTUVNX2lvcmVxX3NlcnZlciBpcyBub3cgb25seSBzdXBw b3J0ZWQgZm9yIEhBUCBlbmFibGVkIGh2bSwgc28gCnNoYWRvdyBjb2RlCmRvZXMgbm90IG5lZWQg dG8gaGFuZGxlIHRoaXMgcDJtIHR5cGUuCgo+PiBAQCAtMzM2LDYgKzMzNiwyMyBAQCBzdHJ1Y3Qg cDJtX2RvbWFpbiB7Cj4+ICAgICAgICAgICBzdHJ1Y3QgZXB0X2RhdGEgZXB0Owo+PiAgICAgICAg ICAgLyogTlBULWVxdWl2YWxlbnQgc3RydWN0dXJlIGNvdWxkIGJlIGFkZGVkIGhlcmUuICovCj4+ ICAgICAgIH07Cj4+ICsKPj4gKyAgICBzdHJ1Y3Qgewo+PiArICAgICAgICBzcGlubG9ja190IGxv Y2s7Cj4+ICsgICAgICAgIC8qCj4+ICsgICAgICAgICAqIGlvcmVxIHNlcnZlciB3aG8ncyByZXNw b25zaWJsZSBmb3IgdGhlIGVtdWxhdGlvbiBvZgo+PiArICAgICAgICAgKiBnZm5zIHdpdGggc3Bl Y2lmaWMgcDJtIHR5cGUoZm9yIG5vdywgcDJtX2lvcmVxX3NlcnZlcikuCj4+ICsgICAgICAgICAq Lwo+PiArICAgICAgICBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqc2VydmVyOwo+PiArICAgICAg ICAvKgo+PiArICAgICAgICAgKiBmbGFncyBzcGVjaWZpZXMgd2hldGhlciByZWFkLCB3cml0ZSBv ciBib3RoIG9wZXJhdGlvbnMKPj4gKyAgICAgICAgICogYXJlIHRvIGJlIGVtdWxhdGVkIGJ5IGFu IGlvcmVxIHNlcnZlci4KPj4gKyAgICAgICAgICovCj4+ICsgICAgICAgIHVuc2lnbmVkIGludCBm bGFnczsKPj4gKwo+PiArI2RlZmluZSBQMk1fSU9SRVFfSEFORExFX1dSSVRFX0FDQ0VTUyBYRU5f SFZNT1BfSU9SRVFfTUVNX0FDQ0VTU19XUklURQo+PiArI2RlZmluZSBQMk1fSU9SRVFfSEFORExF X1JFQURfQUNDRVNTICBYRU5fSFZNT1BfSU9SRVFfTUVNX0FDQ0VTU19SRUFECj4gSSB0aGluayBJ IGRpZCBzYXkgc28gb24gYSBwcmV2aW91cyBpdGVyYXRpb24gYWxyZWFkeTogSSBjYW4ndCBzZWUg dGhlCj4gdmFsdWUgb2YgdGhlc2UgdHdvIGRlZmluZXMsIG9yIGluIGZhY3QgSSBjYW4gc2VlIHRo ZXNlIGJlaW5nIGFjdGl2ZWx5Cj4gZGFuZ2Vyb3VzOiBUaGUgcmVzdCBvZiB5b3VyIHBhdGNoIGFz c3VtZSB0aGF0IGVhY2ggcGFpciBzaGFyZXMKPiB0aGVpciB2YWx1ZXMgKGFzIHRoZXJlJ3Mgbm8g dHJhbnNsYXRpb24gYmV0d2VlbiB0aGVtLCBidXQgYWxzbyBubwo+IEJVSUxEX0JVR19PTigpIGVu c3VyaW5nIHRoZXkncmUgaWRlbnRpY2FsKS4KCk9oLiBJIHRob3VnaHQgaXQgd2FzIGEgY29kaW5n IHN0eWxlIGlzc3VlIHdlIHdlcmUgZGlzY3Vzc2luZyAtIApwcmV2aW91c2x5LCAgdGhlcmUgd2Fz IGEKI2RlZmluZSB1c2luZyB0aGUgPHVuZGVyc2NvcmU+PHVwcGVyY2FzZT4gcGF0dGVybiwgd2hp Y2ggc2hvdWxkIGJlIApkZXByZWNhdGVkLgoKRm9yIHRoZSBQMk1fSU9SRVFfSEFORExFX1dSSVRF L1JFQURfQUNDRVNTIGRlZmluaXRpb24sIEkgYWdyZWUgdGhleSBjYW4gCmJlIHJlbW92ZWQuCgo+ Cj4+IC0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vaHZtX29wLmgKPj4gKysrIGIveGVuL2lu Y2x1ZGUvcHVibGljL2h2bS9odm1fb3AuaAo+PiBAQCAtODksNyArODksOSBAQCB0eXBlZGVmIGVu dW0gewo+PiAgICAgICBIVk1NRU1fdW51c2VkLCAgICAgICAgICAgICAvKiBQbGFjZWhvbGRlcjsg c2V0dGluZyBtZW1vcnkgdG8gdGhpcyB0eXBlCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHdpbGwgZmFpbCBmb3IgY29kZSBhZnRlciA0LjcuMCAqLwo+PiAgICNlbmRpZgo+ PiAtICAgIEhWTU1FTV9pb3JlcV9zZXJ2ZXIKPj4gKyAgICBIVk1NRU1faW9yZXFfc2VydmVyICAg ICAgICAvKiBNZW1vcnkgdHlwZSBjbGFpbWVkIGJ5IGFuIGlvcmVxIHNlcnZlcjsgdHlwZQo+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZXMgdG8gdGhpcyB2YWx1ZSBh cmUgb25seSBhbGxvd2VkIGFmdGVyCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYW4gaW9yZXEgc2VydmVyIGhhcyBjbGFpbWVkIGl0cyBvd25lcnNoaXAuICovCj4gV291bGRu J3QgaXQgYmUgd29ydGggYWxzbyBub3RpbmcgaW4gdGhlIGNvbW1lbnQgdGhhdCBvbmx5IGNoYW5n ZXMKPiB0by9mcm9tIHJ3IGFyZSBwZXJtaXR0ZWQ/Cj4KCk9LLiBXaWxsIGFkZCB0aGlzIGNvbW1l bnQgaW4gbmV4dCB2ZXJzaW9uLgoKWXUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=