From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH 4/4] x86/vMSI-X: use generic intercept handler in place of MMIO one Date: Mon, 13 Jun 2016 08:36:17 +0000 Message-ID: <317fbd54e379469491996b4a1dea3c91@AMSPEX02CL03.citrite.net> References: <5758302D02000078000F3087@prv-mh.provo.novell.com> <575831B702000078000F30AE@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bCNMK-0004EZ-JH for xen-devel@lists.xenproject.org; Mon, 13 Jun 2016 08:36:36 +0000 In-Reply-To: <575831B702000078000F30AE@prv-mh.provo.novell.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich , xen-devel Cc: Andrew Cooper List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IEphbiBCZXVsaWNoIFttYWlsdG86 SkJldWxpY2hAc3VzZS5jb21dCj4gU2VudDogMDggSnVuZSAyMDE2IDEzOjU1Cj4gVG86IHhlbi1k ZXZlbAo+IENjOiBBbmRyZXcgQ29vcGVyOyBQYXVsIER1cnJhbnQKPiBTdWJqZWN0OiBbUEFUQ0gg NC80XSB4ODYvdk1TSS1YOiB1c2UgZ2VuZXJpYyBpbnRlcmNlcHQgaGFuZGxlciBpbiBwbGFjZSBv Zgo+IE1NSU8gb25lCj4gCj4gVGhpcyBhbGxvd3MgdXMgdG8gc2VlIHRoZSBmdWxsIGlvcmVxIHdp dGhvdXQgaGF2aW5nIHRvIHBlZWsgaW50byBzdGF0ZQo+IHdoaWNoIGlzIHN1cHBvc2VkbHkgcHJp dmF0ZSB0byB0aGUgZW11bGF0aW9uIGZyYW1ld29yay4KPiAKPiBTdWdnZXN0ZWQtYnk6IFBhdWwg RHVycmFudCA8UGF1bC5EdXJyYW50QGNpdHJpeC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogSmFuIEJl dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgoKUmV2aWV3ZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1 bC5kdXJyYW50QGNpdHJpeC5jb20+Cgo+IAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm1zaS5j Cj4gKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXNpLmMKPiBAQCAtMTk5LDkgKzE5OSw4IEBAIHN0 YXRpYyBzdHJ1Y3QgbXNpX2Rlc2MgKm1zaXh0YmxfYWRkcl90b18KPiAgICAgIHJldHVybiBOVUxM Owo+ICB9Cj4gCj4gLXN0YXRpYyBpbnQgbXNpeHRibF9yZWFkKAo+IC0gICAgc3RydWN0IHZjcHUg KnYsIHVuc2lnbmVkIGxvbmcgYWRkcmVzcywKPiAtICAgIHVuc2lnbmVkIGludCBsZW4sIHVuc2ln bmVkIGxvbmcgKnB2YWwpCj4gK3N0YXRpYyBpbnQgbXNpeHRibF9yZWFkKGNvbnN0IHN0cnVjdCBo dm1faW9faGFuZGxlciAqaGFuZGxlciwKPiArICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0 X3QgYWRkcmVzcywgdWludDMyX3QgbGVuLCB1aW50NjRfdCAqcHZhbCkKPiAgewo+ICAgICAgdW5z aWduZWQgbG9uZyBvZmZzZXQ7Cj4gICAgICBzdHJ1Y3QgbXNpeHRibF9lbnRyeSAqZW50cnk7Cj4g QEAgLTIxMyw3ICsyMTIsNyBAQCBzdGF0aWMgaW50IG1zaXh0YmxfcmVhZCgKPiAKPiAgICAgIHJj dV9yZWFkX2xvY2soJm1zaXh0YmxfcmN1X2xvY2spOwo+IAo+IC0gICAgZW50cnkgPSBtc2l4dGJs X2ZpbmRfZW50cnkodiwgYWRkcmVzcyk7Cj4gKyAgICBlbnRyeSA9IG1zaXh0YmxfZmluZF9lbnRy eShjdXJyZW50LCBhZGRyZXNzKTsKPiAgICAgIGlmICggIWVudHJ5ICkKPiAgICAgICAgICBnb3Rv IG91dDsKPiAgICAgIG9mZnNldCA9IGFkZHJlc3MgJiAoUENJX01TSVhfRU5UUllfU0laRSAtIDEp Owo+IEBAIC0zMzMsMjMgKzMzMiwyOSBAQCBvdXQ6Cj4gICAgICByZXR1cm4gcjsKPiAgfQo+IAo+ IC1zdGF0aWMgaW50IG1zaXh0YmxfcmFuZ2Uoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGxvbmcg YWRkcikKPiArc3RhdGljIGludCBfbXNpeHRibF93cml0ZShjb25zdCBzdHJ1Y3QgaHZtX2lvX2hh bmRsZXIgKmhhbmRsZXIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBhZGRy ZXNzLCB1aW50MzJfdCBsZW4sIHVpbnQ2NF90IHZhbCkKPiAgewo+ICsgICAgcmV0dXJuIG1zaXh0 Ymxfd3JpdGUoY3VycmVudCwgYWRkcmVzcywgbGVuLCB2YWwpOwo+ICt9Cj4gKwo+ICtzdGF0aWMg Ym9vbF90IG1zaXh0YmxfcmFuZ2UoY29uc3Qgc3RydWN0IGh2bV9pb19oYW5kbGVyICpoYW5kbGVy LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW9yZXFfdCAqcikKPiArewo+ ICsgICAgc3RydWN0IHZjcHUgKmN1cnIgPSBjdXJyZW50Owo+ICsgICAgdW5zaWduZWQgbG9uZyBh ZGRyID0gci0+YWRkcjsKPiAgICAgIGNvbnN0IHN0cnVjdCBtc2lfZGVzYyAqZGVzYzsKPiAtICAg IGNvbnN0IGlvcmVxX3QgKnI7Cj4gKwo+ICsgICAgQVNTRVJUKHItPnR5cGUgPT0gSU9SRVFfVFlQ RV9DT1BZKTsKPiAKPiAgICAgIHJjdV9yZWFkX2xvY2soJm1zaXh0YmxfcmN1X2xvY2spOwo+IC0g ICAgZGVzYyA9IG1zaXh0YmxfYWRkcl90b19kZXNjKG1zaXh0YmxfZmluZF9lbnRyeSh2LCBhZGRy KSwgYWRkcik7Cj4gKyAgICBkZXNjID0gbXNpeHRibF9hZGRyX3RvX2Rlc2MobXNpeHRibF9maW5k X2VudHJ5KGN1cnIsIGFkZHIpLCBhZGRyKTsKPiAgICAgIHJjdV9yZWFkX3VubG9jaygmbXNpeHRi bF9yY3VfbG9jayk7Cj4gCj4gICAgICBpZiAoIGRlc2MgKQo+ICAgICAgICAgIHJldHVybiAxOwo+ IAo+IC0gICAgciA9ICZ2LT5hcmNoLmh2bV92Y3B1Lmh2bV9pby5pb19yZXE7Cj4gLSAgICBpZiAo IHItPnN0YXRlICE9IFNUQVRFX0lPUkVRX1JFQURZIHx8IHItPmFkZHIgIT0gYWRkciApCj4gLSAg ICAgICAgcmV0dXJuIDA7Cj4gLSAgICBBU1NFUlQoci0+dHlwZSA9PSBJT1JFUV9UWVBFX0NPUFkp Owo+IC0gICAgaWYgKCByLT5kaXIgPT0gSU9SRVFfV1JJVEUgKQo+ICsgICAgaWYgKCByLT5zdGF0 ZSA9PSBTVEFURV9JT1JFUV9SRUFEWSAmJiByLT5kaXIgPT0gSU9SRVFfV1JJVEUgKQo+ICAgICAg ewo+ICAgICAgICAgIHVuc2lnbmVkIGludCBzaXplID0gci0+c2l6ZTsKPiAKPiBAQCAtMzY4LDgg KzM3Myw4IEBAIHN0YXRpYyBpbnQgbXNpeHRibF9yYW5nZShzdHJ1Y3QgdmNwdSAqdiwKPiAgICAg ICAgICAgICAgICAgICAgUENJX01TSVhfRU5UUllfVkVDVE9SX0NUUkxfT0ZGU0VUKSAmJgo+ICAg ICAgICAgICAgICAgICAgICEoZGF0YSAmIFBDSV9NU0lYX1ZFQ1RPUl9CSVRNQVNLKSApCj4gICAg ICAgICAgICAgIHsKPiAtICAgICAgICAgICAgICAgIHYtPmFyY2guaHZtX3ZjcHUuaHZtX2lvLm1z aXhfc25vb3BfYWRkcmVzcyA9IGFkZHI7Cj4gLSAgICAgICAgICAgICAgICB2LT5hcmNoLmh2bV92 Y3B1Lmh2bV9pby5tc2l4X3Nub29wX2dwYSA9IDA7Cj4gKyAgICAgICAgICAgICAgICBjdXJyLT5h cmNoLmh2bV92Y3B1Lmh2bV9pby5tc2l4X3Nub29wX2FkZHJlc3MgPSBhZGRyOwo+ICsgICAgICAg ICAgICAgICAgY3Vyci0+YXJjaC5odm1fdmNwdS5odm1faW8ubXNpeF9zbm9vcF9ncGEgPSAwOwo+ ICAgICAgICAgICAgICB9Cj4gICAgICAgICAgfQo+ICAgICAgICAgIGVsc2UgaWYgKCAoc2l6ZSA9 PSA0IHx8IHNpemUgPT0gOCkgJiYKPiBAQCAtMzg2LDkgKzM5MSw5IEBAIHN0YXRpYyBpbnQgbXNp eHRibF9yYW5nZShzdHJ1Y3QgdmNwdSAqdiwKPiAgICAgICAgICAgICAgQlVJTERfQlVHX09OKChQ Q0lfTVNJWF9FTlRSWV9WRUNUT1JfQ1RSTF9PRkZTRVQgKyA0KSAmCj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAoUENJX01TSVhfRU5UUllfU0laRSAtIDEpKTsKPiAKPiAtICAgICAgICAgICAg di0+YXJjaC5odm1fdmNwdS5odm1faW8ubXNpeF9zbm9vcF9hZGRyZXNzID0KPiArICAgICAgICAg ICAgY3Vyci0+YXJjaC5odm1fdmNwdS5odm1faW8ubXNpeF9zbm9vcF9hZGRyZXNzID0KPiAgICAg ICAgICAgICAgICAgIGFkZHIgKyBzaXplICogci0+Y291bnQgLSA0Owo+IC0gICAgICAgICAgICB2 LT5hcmNoLmh2bV92Y3B1Lmh2bV9pby5tc2l4X3Nub29wX2dwYSA9Cj4gKyAgICAgICAgICAgIGN1 cnItPmFyY2guaHZtX3ZjcHUuaHZtX2lvLm1zaXhfc25vb3BfZ3BhID0KPiAgICAgICAgICAgICAg ICAgIHItPmRhdGEgKyBzaXplICogci0+Y291bnQgLSA0Owo+ICAgICAgICAgIH0KPiAgICAgIH0K PiBAQCAtMzk2LDEwICs0MDEsMTAgQEAgc3RhdGljIGludCBtc2l4dGJsX3JhbmdlKHN0cnVjdCB2 Y3B1ICp2LAo+ICAgICAgcmV0dXJuIDA7Cj4gIH0KPiAKPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBo dm1fbW1pb19vcHMgbXNpeHRibF9tbWlvX29wcyA9IHsKPiAtICAgIC5jaGVjayA9IG1zaXh0Ymxf cmFuZ2UsCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaHZtX2lvX29wcyBtc2l4dGJsX21taW9fb3Bz ID0gewo+ICsgICAgLmFjY2VwdCA9IG1zaXh0YmxfcmFuZ2UsCj4gICAgICAucmVhZCA9IG1zaXh0 YmxfcmVhZCwKPiAtICAgIC53cml0ZSA9IG1zaXh0Ymxfd3JpdGUKPiArICAgIC53cml0ZSA9IF9t c2l4dGJsX3dyaXRlCj4gIH07Cj4gCj4gIHN0YXRpYyB2b2lkIGFkZF9tc2l4dGJsX2VudHJ5KHN0 cnVjdCBkb21haW4gKmQsCj4gQEAgLTU0NCwxMyArNTQ5LDIwIEBAIGZvdW5kOgo+IAo+ICB2b2lk IG1zaXh0YmxfaW5pdChzdHJ1Y3QgZG9tYWluICpkKQo+ICB7Cj4gKyAgICBzdHJ1Y3QgaHZtX2lv X2hhbmRsZXIgKmhhbmRsZXI7Cj4gKwo+ICAgICAgaWYgKCAhaGFzX2h2bV9jb250YWluZXJfZG9t YWluKGQpIHx8ICFoYXNfdmxhcGljKGQpIHx8Cj4gICAgICAgICAgIGQtPmFyY2guaHZtX2RvbWFp bi5tc2l4dGJsX2xpc3QubmV4dCApCj4gICAgICAgICAgcmV0dXJuOwo+IAo+ICAgICAgSU5JVF9M SVNUX0hFQUQoJmQtPmFyY2guaHZtX2RvbWFpbi5tc2l4dGJsX2xpc3QpOwo+IAo+IC0gICAgcmVn aXN0ZXJfbW1pb19oYW5kbGVyKGQsICZtc2l4dGJsX21taW9fb3BzKTsKPiArICAgIGhhbmRsZXIg PSBodm1fbmV4dF9pb19oYW5kbGVyKGQpOwo+ICsgICAgaWYgKCBoYW5kbGVyICkKPiArICAgIHsK PiArICAgICAgICBoYW5kbGVyLT50eXBlID0gSU9SRVFfVFlQRV9DT1BZOwo+ICsgICAgICAgIGhh bmRsZXItPm9wcyA9ICZtc2l4dGJsX21taW9fb3BzOwo+ICsgICAgfQo+ICB9Cj4gCj4gIHZvaWQg bXNpeHRibF9wdF9jbGVhbnVwKHN0cnVjdCBkb21haW4gKmQpCj4gCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK