From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: Re: [PATCH v8 4/7] VT-d: Use one function to update both remapped and posted IRTE Date: Wed, 22 Feb 2017 15:12:30 +0800 Message-ID: <20170222071230.GA59724@skl-2s3.sh.intel.com> References: <1479434244-10223-1-git-send-email-feng.wu@intel.com> <1479434244-10223-5-git-send-email-feng.wu@intel.com> <583424F002000078001208F3@prv-mh.provo.novell.com> <20170222015304.GB50645@skl-2s3.sh.intel.com> <58AD6391020000780013CA19@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <58AD6391020000780013CA19@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 Cc: "george.dunlap@eu.citrix.com" , "andrew.cooper3@citrix.com" , "dario.faggioli@citrix.com" , Kevin Tian , "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org T24gV2VkLCBGZWIgMjIsIDIwMTcgYXQgMDI6MTA6MjVBTSAtMDcwMCwgSmFuIEJldWxpY2ggd3Jv dGU6Cj4+Pj4gT24gMjIuMDIuMTcgYXQgMDI6NTMsIDxjaGFvLmdhb0BpbnRlbC5jb20+IHdyb3Rl Ogo+PiBPbiBUdWUsIE5vdiAyMiwgMjAxNiBhdCAwNTo1ODo1NlBNICswODAwLCBKYW4gQmV1bGlj aCB3cm90ZToKPj4+PiBAQCAtNjM3LDcgKzY1NywyMyBAQCBzdGF0aWMgaW50IG1zaV9tc2dfdG9f cmVtYXBfZW50cnkoCj4+Pj4gICAgICByZW1hcF9ydGUtPmFkZHJlc3NfaGkgPSAwOwo+Pj4+ICAg ICAgcmVtYXBfcnRlLT5kYXRhID0gaW5kZXggLSBpOwo+Pj4+Cj4+Pj4gLSAgICBtZW1jcHkoaXJl bWFwX2VudHJ5LCAmbmV3X2lyZSwgc2l6ZW9mKHN0cnVjdCBpcmVtYXBfZW50cnkpKTsKPj4+PiAr ICAgIGlmICggIXBpX2Rlc2MgKQo+Pj4+ICsgICAgICAgIG1lbWNweShpcmVtYXBfZW50cnksICZu ZXdfaXJlLCBzaXplb2Yoc3RydWN0IGlyZW1hcF9lbnRyeSkpOwo+Pj4+ICsgICAgZWxzZQo+Pj4+ ICsgICAgewo+Pj4+ICsgICAgICAgIF9fdWludDEyOF90IHJldDsKPj4+PiArCj4+Pj4gKyAgICAg ICAgb2xkX2lyZSA9ICppcmVtYXBfZW50cnk7Cj4+Pj4gKyAgICAgICAgcmV0ID0gY21weGNoZzE2 YihpcmVtYXBfZW50cnksICZvbGRfaXJlLCAmbmV3X2lyZSk7Cj4+Pj4gKwo+Pj4+ICsgICAgICAg IC8qCj4+Pj4gKyAgICAgICAgICogSW4gdGhlIGFib3ZlLCB3ZSB1c2UgY21weGNoZzE2IHRvIGF0 b21pY2FsbHkgdXBkYXRlIHRoZSAxMjgtYml0IElSVEUsCj4+Pj4gKyAgICAgICAgICogYW5kIHRo ZSBoYXJkd2FyZSBjYW5ub3QgdXBkYXRlIHRoZSBJUlRFIGJlaGluZCB1cywgc28gdGhlIHJldHVy biB2YWx1ZQo+Pj4+ICsgICAgICAgICAqIG9mIGNtcHhjaGcxNiBzaG91bGQgYmUgdGhlIHNhbWUg YXMgb2xkX2lyZS4gVGhpcyBBU1NFUlQgdmFsaWRhdGUgaXQuCj4+Pj4gKyAgICAgICAgICovCj4+ Pj4gKyAgICAgICAgQVNTRVJUKHJldCA9PSBvbGRfaXJlLnZhbCk7Cj4+Pj4gKyAgICB9Cj4+Pgo+ Pj5Db3VsZCB5b3UgcmVtaW5kIG1lIGFnYWluIHBsZWFzZSB3aHkgcG9zdGVkIGZvcm1hdCB1cGRh dGVzIG5lZWQKPj4+dG8gdXNlIGNtcHhjaGcxNmIsIGJ1dCByZW1hcHBlZCBmb3JtYXQgb25lcyBk b24ndD8gKEFzIGEgYXNpZGUsCj4+PndpdGggdGhlIGNvZGUgc3RydWN0dXJlIGFzIHlvdSBoYXZl IGl0IHlvdSBzaG91bGQgbW92ZSB0aGUgb2xkX2lydGUKPj4+ZGVjbGFyYXRpb24gaGVyZSwgb3Ig b21pdCBpdCBhbHRvZ2V0aGVyLCBhcyB5b3UgY291bGQgYXMgd2VsbCBwYXNzCj4+PippcmVtYXBf ZW50cnkgZGlyZWN0bHkgYWZhaWN0LikKPj4gCj4+IEJlZm9yZSBmZW5nIGxlZnQsIEkgaGF2ZSBh c2tlZCBoaW0gYWJvdXQgdGhpcyBxdWVzdGlvbi4gSGUgdG9sZCBtZSB0aGF0Cj4+IHRoZSBQREEg ZmllbGQgb2YgcG9zdGVkIGZvcm1hdCBJUlRFIGNvbXByaXNlcyBvZiB0d28gcGFydHM6Cj4+IFBv c3RlZCBEZXNjcml0b3IgQWRkcmVzcyBIaWdoWzEyNzo5Nl0gYW5kIExvdyBbNjM6MzhdLiBJZiB3 ZSB3YW50IHRvIHVwZGF0ZQo+PiBQREEgZmllbGQsIGRvIGl0IGF0b21pY2FsbHkgb3IgZGlzYWJs ZS11cGRhdGUtZW5hYmxlLiBIZSBhbHNvIHNhaWQsIGl0IGhhZAo+PiBiZWVuIGNvbmZpcm1lZCB0 aGF0IGNtcHhjaGcxNmIgd2FzIHN1cHBvcnRlZCBvbiBhbGwgaW50ZWwgcGxhdGZvcm0gd2l0aCBW VC1kIFBJLgo+PiBJZiB3ZSBhc3N1bWUgdGhhdCB1cGRhdGVzIHRvIHJlbWFwcGVkIGZvcm1hdCBJ UlRFIG9ubHkgaXMgdG8gdXBkYXRlIGVpdGhlcgo+PiA2NCBiaXQgb3IgaGlnaCA2NCBiaXQgKGV4 Y2VwdCBpbml0aWFsaXRpb24pLCB0d28gNjRiaXQgbWVtb3J5IHdyaXRlIG9wZXJhdGlvbnMKPj4g aXMgZW5vdWdoLiAKPgo+VHdvIDY0LWJpdCBtZW1vcnkgd3JpdGUgb3BlcmF0aW9ucz8gV2hlcmUg ZG8geW91IHNlZSB0aGVtPyBJCj5vbmx5IHNlZSBtZW1jcHkoKSwgd2hpY2ggZm9yIHRoZSBwdXJw b3NlcyBvZiB0aGUgY29kZSBoZXJlIGlzCj5zdXBwb3NlZCB0byBiZSBhIGJsYWNrIGJveC4KCk9r LiBJIG1hZGUgYSBtaXN0YWtlIGhlcmUuIEluIGlvYXBpYyBjYXNlLCBiZWZvcmUgdXBkYXRlIElS VEUsIHRoZSBhY2NvcmRpbmcKSU9BUElDIFJURSBpcyBtYXNrZWQuIFNvLCB1c2luZyBhIG1lbWNw eSgpIGlzIHNhZmUuIEluIG1zaSBjYXNlLCB0aGVyZSBpcyBubwptYXNrIG9wZXJhdGlvbi4gSSB0 aGluayBvbmx5IHVzaW5nIGEgbWVtY3B5KCkgaXMgdW5zYWZlLiBEbyB5b3UgdGhpbmsgc28/Cgo+ Cj4+Pj4gQEAgLTY2OCw3ICs3MDQsOCBAQCBpbnQgbXNpX21zZ193cml0ZV9yZW1hcF9ydGUoCj4+ Pj4KPj4+PiAgICAgIGRyaGQgPSBwZGV2ID8gYWNwaV9maW5kX21hdGNoZWRfZHJoZF91bml0KHBk ZXYpCj4+Pj4gICAgICAgICAgICAgICAgICA6IGhwZXRfdG9fZHJoZChtc2lfZGVzYy0+aHBldF9p ZCk7Cj4+Pj4gLSAgICByZXR1cm4gZHJoZCA/IG1zaV9tc2dfdG9fcmVtYXBfZW50cnkoZHJoZC0+ aW9tbXUsIHBkZXYsIG1zaV9kZXNjLCBtc2cpCj4+Pj4gKyAgICByZXR1cm4gZHJoZCA/IG1zaV9t c2dfdG9fcmVtYXBfZW50cnkoZHJoZC0+aW9tbXUsIHBkZXYsCj4+Pj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNpX2Rlc2MsIG1zZywgTlVMTCwgMCkKPj4+Cj4+ PklzIHRoaXMgdW5jb25kaXRpb25hbCBwYXNzaW5nIG9mIE5VTEwgaGVyZSByZWFsbHkgY29ycmVj dD8KPj4gCj4+IFNpbmNlIHR3byBwYXJhbWV0ZXJzIGFyZSBhZGRlZCB0byB0aGlzIGZ1bmN0aW9u LCB3ZSBzaG91bGQgdGhpbmsgYWJvdXQgd2hhdAo+PiB0aGUgZnVuY3Rpb24gZG9lcyBhZ2Fpbi4g dGhlIGxhc3QgMiBwYXJhbWV0ZXJzIGFyZSBvcHRpb25hbC4KPj4gCj4+IElmIHRoZXkgYXJlIG5v dCBwcmVzZW50LCBqdXN0IG1lYW5zIGEgcGh5c2ljYWwgZGV2aWNlIGRyaXZlciBjaGFuZ2VzIGl0 cyBtc2kKPj4gbWVzc2FnZS4gU28gaXQgbm90aWZpZXMgaW9tbXUgdG8gZG8gc29tZSBjaGFuZ2Vz IHRvIElSVEUgYWNjb3JkaW5nbHkgKHRoZSBkcml2ZXIgZG9lc24ndAo+PiBrbm93IHRoZSBmb3Jt YXQgb2YgdGhlIGxpdmUgSVJURSkuIFRoaXMgaXMgdGhlIGNhc2UgYWJvdmUuCj4+IAo+PiBJZiB0 aGV5IGFyZSBwcmVzZW50LCBpdCBtZWFucyB0aGUgbXNpIHNob3VsZCBiZSBkZWxpdmVyZWQgdG8g dGhlIHZjcHUgd2l0aCB0aGUKPj4gdmVjdG9yIG51bS4gVG8gYWNoaWV2ZSB0aGF0LCB0aGUgZnVu Y3Rpb24gcmVwbGFjZXMgdGhlIG9sZCBJUlRFIHdpdGggYSBuZXcKPj4gcG9zdGVkIGZvcm1hdCBJ UlRFLgo+Cj5JIGRvbid0IHNlZSBob3cgdGhpcyBhbnN3ZXJzIG15IHF1ZXN0aW9uLiBJbiBmYWN0 IGl0IGZlZWxzIGxpa2UgeW91LAo+anVzdCBsaWtlIEZlbmcsIGFyZSBtYWtpbmcgYXNzdW1wdGlv bnMgb24gdGhlIGNvbmRpdGlvbnMgdW5kZXIKPndoaWNoIHRoZSBmdW5jdGlvbiBoZXJlIGlzIGJl aW5nIGNhbGxlZCBfYXQgcHJlc2VudF8uIFlvdSBzaG91bGQsCj5ob3dldmVyLCBtYWtlIHRoZSBm dW5jdGlvbiB3b3JrIGNvcnJlY3RseSBmb3IgYWxsIHBvc3NpYmxlIHVzZXMsCj5vciBhZGQgQVNT RVJUKClzIHRvIGNsZWFybHkgZXhwb3NlIGlzc3VlcyB3aXRoIHBvdGVudGlhbCBuZXcsCj5mdXR1 cmUgY2FsbGVycy4KCk9rLiBZb3VyIHN1Z2dlc3Rpb24gaXMgdmVyeSBnb29kLiAKRXZlcnkgY2Fs bGVyIHRlbGxzIHRoZSBmdW5jdGlvbiB0byBjb25zdHJ1Y3QgYSBjZW50YWluIGZvcm1hdCBJUlRF LiBSZXR1cm4gdG8KeW91ciBxdWVzdGlvbiwgSSB0aGluayBpdCBpcyBkZWZpbnRlbHkgd3Jvbmcg dG8gcGFzcyBOVUxMIHVuY29uZGl0aW9uYWxseS4KV2Ugc2hvdWxkICBwYXNzIE5VTEwgYmVmb3Jl IHRoZSBtc2kgaXMgYmluZGVkIHRvIGEgZ3Vlc3QgaW50ZXJydXB0IGFuZCBwYXNzIHRoZQpkZXN0 aW5hdGlvbiB2Y3B1IGFuZCB2ZWN0b3IgbnVtIGFmdGVyIHRoYXQuIEF0IHRoaXMgbW9tZW50LCBJ IGNhbid0IGNvbWUgdXAKd2l0aCBhIHdheSB0byBjaGVjayB3aGV0aGVyIHRoZSBtc2kgaXMgYmlu ZGVkIHRvIGEgZ3Vlc3QgaW50ZXJydXB0IGFuZCBnZXQgdGhlCmRlc3RpbmF0aW9uIHZjcHUgYW5k IHZlY3RvciBudW0gb25seSB0aHJvdWdoIHRoZSBzdHJ1Y3QgcGNpX2RldiBhbmQgc3RydWN0Cm1z aV9kZXNjLiBDb3VsZCB5b3UgZ2l2ZSBtZSBzb21lIHN1Z2dlc3Rpb24gb24gdGhhdCBvciByZWNv bW1lbmQgYSBzdHJ1Y3R1cmUsCnlvdSB0aGluaywgaW4gd2hpY2ggd2UgY2FuIGFkZCBzb21lIGZp ZWxkcyB0byByZWNvcmQgdGhlc2UgaW5mb3JtYXRpb24/ICAKClRoYW5rcywKQ2hhbwoKPgo+Pj4+ IEBAIC05OTIsMzUgKzk4NiwxMSBAQCBpbnQgcGlfdXBkYXRlX2lydGUoY29uc3Qgc3RydWN0IHZj cHUgKnYsIGNvbnN0IHN0cnVjdCBwaXJxICpwaXJxLAo+Pj4+ICAgICAgICAgIHJldHVybiAtRU5P REVWOwo+Pj4+Cj4+Pj4gICAgICBpb21tdSA9IGRyaGQtPmlvbW11Owo+Pj4+IC0gICAgaXJfY3Ry bCA9IGlvbW11X2lyX2N0cmwoaW9tbXUpOwo+Pj4+IC0gICAgaWYgKCAhaXJfY3RybCApCj4+Pj4g KyAgICBpZiAoICFpb21tdV9pcl9jdHJsKGlvbW11KSApCj4+Pj4gICAgICAgICAgcmV0dXJuIC1F Tk9ERVY7Cj4+Pj4KPj4+PiAtICAgIHNwaW5fbG9ja19pcnEoJmlyX2N0cmwtPmlyZW1hcF9sb2Nr KTsKPj4+PiAtCj4+Pj4gLSAgICBHRVRfSVJFTUFQX0VOVFJZKGlyX2N0cmwtPmlyZW1hcF9tYWRk ciwgcmVtYXBfaW5kZXgsIGlyZW1hcF9lbnRyaWVzLCBwKTsKPj4+PiAtCj4+Pj4gLSAgICBvbGRf aXJlID0gKnA7Cj4+Pj4gLQo+Pj4+IC0gICAgLyogU2V0dXAvVXBkYXRlIGludGVycnVwdCByZW1h cHBpbmcgdGFibGUgZW50cnkuICovCj4+Pj4gLSAgICBzZXR1cF9wb3N0ZWRfaXJ0ZSgmbmV3X2ly ZSwgJm9sZF9pcmUsIHBpX2Rlc2MsIGd2ZWMpOwo+Pj4+IC0gICAgcmV0ID0gY21weGNoZzE2Yihw LCAmb2xkX2lyZSwgJm5ld19pcmUpOwo+Pj4+IC0KPj4+PiAtICAgIC8qCj4+Pj4gLSAgICAgKiBJ biB0aGUgYWJvdmUsIHdlIHVzZSBjbXB4Y2hnMTYgdG8gYXRvbWljYWxseSB1cGRhdGUgdGhlIDEy OC1iaXQgSVJURSwKPj4+PiAtICAgICAqIGFuZCB0aGUgaGFyZHdhcmUgY2Fubm90IHVwZGF0ZSB0 aGUgSVJURSBiZWhpbmQgdXMsIHNvIHRoZSByZXR1cm4gdmFsdWUKPj4+PiAtICAgICAqIG9mIGNt cHhjaGcxNiBzaG91bGQgYmUgdGhlIHNhbWUgYXMgb2xkX2lyZS4gVGhpcyBBU1NFUlQgdmFsaWRh dGUgaXQuCj4+Pj4gLSAgICAgKi8KPj4+PiAtICAgIEFTU0VSVChyZXQgPT0gb2xkX2lyZS52YWwp Owo+Pj4+IC0KPj4+PiAtICAgIGlvbW11X2ZsdXNoX2NhY2hlX2VudHJ5KHAsIHNpemVvZigqcCkp Owo+Pj4+IC0gICAgaW9tbXVfZmx1c2hfaWVjX2luZGV4KGlvbW11LCAwLCByZW1hcF9pbmRleCk7 Cj4+Pj4gLQo+Pj4+IC0gICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGlyZW1hcF9lbnRyaWVzKTsK Pj4+PiAtCj4+Pj4gLSAgICBzcGluX3VubG9ja19pcnEoJmlyX2N0cmwtPmlyZW1hcF9sb2NrKTsK Pj4+PiAtCj4+Pj4gLSAgICByZXR1cm4gMDsKPj4+PiArICAgIHJldHVybiBtc2lfbXNnX3RvX3Jl bWFwX2VudHJ5KGlvbW11LCBwY2lfZGV2LCBtc2lfZGVzYywgJm1zaV9kZXNjLT5tc2csCj4+Pj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaV9kZXNjLCBndmVjKTsKPj4+Cj4+ PlRoZXJlIGFyZSBmZXcgY2hhbmdlcyBoZXJlIHdoaWNoIGFwcGVhciB0byBoYXZlIHRoZSBwb3Rl bnRpYWwgb2YKPj4+YWZmZWN0aW5nIGJlaGF2aW9yOiBQcmV2aW91c2x5IHlvdSBkaWRuJ3QgYWx0 ZXIgbXNpX2Rlc2Mgb3IgdGhlIE1TSQo+Pj5tZXNzYWdlIGNvbnRhaW5lZCB0aGVyZWluIChhcyBk b2N1bWVudGVkIGJ5IHRoZSBwb2ludGVyIGhhdmluZwo+Pj5iZWVuIGNvbnN0KS4gSXMgdGhpcyBw b3NzaWJsZSB1cGRhdGluZyBvZiBtZXNzYWdlIGFuZCByZW1hcCBpbmRleAo+Pj5yZWFsbHkgYmVu aWduPyBJbiBhbnkgZXZlbnQgYW55IHN1Y2ggY2hhbmdlcyBzaG91bGQgYmUgcmVhc29uZWQKPj4+ YWJvdXQgaW4gdGhlIGNvbW1pdCBtZXNzYWdlLgo+PiAKPj4gSSBhZ3JlZSB0aGF0IHdlIGNhbid0 IHVwZGF0ZSBtZXNzYWdlIGFuZCByZW1hcCBpbmRleCBpbiB0aGlzIHBpX3VwZGF0ZV9pcnRlLgo+ PiBidXQgbXNpX21zZ190b19yZW1hcF9lbnRyeSB3aWxsIGNoYW5nZSBtc2lfZGVzYyB3aGVuIG1z aV9kZXNjLT5yZW1hcF9pbmRleCA8IDAuCj4+IEhvdyBhYm91dCBzcGxpdHRpbmcgcGFydCBvZiBt c2lfbXNnX3RvX3JlbWFwX2VudHJ5IHRvIGEgbmV3IGZ1bmN0aW9uIHdoaWNoIGNvbnN1bWVzIGEg Y29uc3QKPj4gbXNpX2Rlc2MgcGFyYW1ldGVyIGFuZCBwaV91cGRhdGVfaXJ0ZSB3aWxsIGNhbGwg dGhlIG5ldyBmdW5jdGlvbj8KPgo+V2VsbCwgSSBjYW4ndCBlYXNpbHkgc2F5IHllcyBvciBubyBo ZXJlIHdpdGhvdXQgc2VlaW5nIHdoYXQgdGhlCj5yZXN1bHQgd291bGQgYmUuIEdpdmUgaXQgYSB0 cnksIGFuZCB3ZSdsbCBsb29rIGF0IHRoZSByZXN1bHQgaW4gdjkuCj4KPkphbgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==