From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH v2] xen-hvm: stop faking I/O to access PCI config space Date: Fri, 18 May 2018 13:51:24 +0000 Message-ID: References: <1526648406-1746-1-git-send-email-paul.durrant@citrix.com> <5AFED64102000078001C4069@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fJfn5-0004ZY-Eh for xen-devel@lists.xenproject.org; Fri, 18 May 2018 13:51:27 +0000 In-Reply-To: <5AFED64102000078001C4069@prv1-mh.provo.novell.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: 'Jan Beulich' Cc: Stefano Stabellini , "ehabkost@redhat.com" , "mst@redhat.com" , "qemu-devel@nongnu.org" , "marcel@redhat.com" , Paolo Bonzini , Anthony Perard , xen-devel , Richard Henderson , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IEphbiBCZXVsaWNoIFttYWlsdG86 SkJldWxpY2hAc3VzZS5jb21dCj4gU2VudDogMTggTWF5IDIwMTggMTQ6MzQKPiBUbzogUGF1bCBE dXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT4KPiBDYzogQW50aG9ueSBQZXJhcmQgPGFu dGhvbnkucGVyYXJkQGNpdHJpeC5jb20+OyBSb2dlciBQYXUgTW9ubmUKPiA8cm9nZXIucGF1QGNp dHJpeC5jb20+OyBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+OyB4 ZW4tCj4gZGV2ZWwgPHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZz47IHFlbXUtZGV2ZWxA bm9uZ251Lm9yZzsKPiBlaGFia29zdEByZWRoYXQuY29tOyBtYXJjZWxAcmVkaGF0LmNvbTsgbXN0 QHJlZGhhdC5jb207IFBhb2xvCj4gQm9uemluaSA8cGJvbnppbmlAcmVkaGF0LmNvbT47IFJpY2hh cmQgSGVuZGVyc29uIDxydGhAdHdpZGRsZS5uZXQ+Cj4gU3ViamVjdDogUmU6IFtYZW4tZGV2ZWxd IFtQQVRDSCB2Ml0geGVuLWh2bTogc3RvcCBmYWtpbmcgSS9PIHRvIGFjY2VzcyBQQ0kKPiBjb25m aWcgc3BhY2UKPiAKPiA+Pj4gT24gMTguMDUuMTggYXQgMTU6MDAsIDxwYXVsLmR1cnJhbnRAY2l0 cml4LmNvbT4gd3JvdGU6Cj4gPiBAQCAtOTAzLDYgKzkyNiw4MCBAQCBzdGF0aWMgdm9pZCBjcHVf aW9yZXFfbW92ZShpb3JlcV90ICpyZXEpCj4gPiAgICAgIH0KPiA+ICB9Cj4gPgo+ID4gK3N0YXRp YyB2b2lkIHJ3X2NvbmZpZ19yZXFfaXRlbShYZW5QY2lEZXZpY2UgKnhlbmRldiwgaW9yZXFfdCAq cmVxLAo+IAo+IEl0IGxvb2tzIHRvIG1lIGFzIGlmIGJvdGggcGFyYW1ldGVycyBjb3VsZCBiZSBj b25zdGlmaWVkLgo+IAoKVGhleSBjb3VsZCBmb3IgdGhpcyBmdW5jdGlvbiwgeWVzLgoKPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaSwgdWludDMyX3QgKnZhbCkK PiA+ICt7Cj4gPiArICAgIGludDMyX3QgcmVnID0gcmVxLT5hZGRyOwo+ID4gKyAgICB1aW50MzJf dCBvZmZzZXQgPSByZXEtPnNpemUgKiBpOwo+ID4gKwo+ID4gKyAgICByZWcgKz0gKHJlcS0+ZGYg PyAtMSA6IDEpICogb2Zmc2V0Owo+ID4gKyAgICBpZiAocmVnIDwgMCB8fCByZWcgPiBQQ0lfQ09O RklHX1NQQUNFX1NJWkUpIHsKPiAKPiBIYXZpbmcgZm91Z2h0IGEgbnVtYmVyIG9mIGlzc3VlcyBp biB0aGlzIGFyZWEgaW4gdGhlIGh5cGVydmlzb3IgYSBjb3VwbGUKPiBvZiB5ZWFycyBiYWNrIEkg d29uZGVyCj4gLSB3aHkgcmVnIGlzIG9mIHNpZ25lZCB0eXBlLAoKSSBkaWQgdGhhdCBzbyBJIGNv dWxkIGRvIGEgPCAwIGNoZWNrLgoKPiAtIHdoZXRoZXIgb3ZlcmZsb3cgb2YgdGhlIGZpcnN0IG11 bHRpcGxpY2F0aW9uIHJlYWxseSBkb2Vzbid0IG1hdHRlciwKCkl0IHdvdWxkIGJlIGJldHRlciB0 byBjaGVjayBpdC4KCj4gLSB3aGV0aGVyIHdyYXBwaW5nIHdoZW4gYWRkaW5nIGluIHRoZSBvZmZz ZXQgaXMgbm90IGFuIGlzc3VlLgo+IAoKSSdsbCBkbyBsaW1pdHMgY2hlY2sgb24gb2Zmc2V0IHRo ZW4uLi4gc2hvdWxkIGJlIGFibGUgdG8gbWFrZSByZWcgdW5zaWduZWQgdGhlbiBJIGd1ZXNzLgoK PiBJIHRha2UgaXQgdGhhdCB0aGUgcmF0aGVyIGxheCB1cHBlciBib3VuZCBjaGVjayAoc2hvdWxk IGltbyByZWFsbHkgYmUKPiByZWcgKyBzaXplID4gUENJX0NPTkZJR19TUEFDRV9TSVpFIFtpbXBs eWluZyByZWcgKyBzaXplIGRvZXNuJ3QKPiBpdHNlbGYgd3JhcF0sIG9yIGF0IGxlYXN0IHJlZyA+ PSBQQ0lfQ09ORklHX1NQQUNFX1NJWkUpIGlzIG5vdCBhCj4gcHJvYmxlbSBiZWNhdXNlIC4uLgo+ IAo+ID4gKyAgICAgICAgaWYgKHJlcS0+ZGlyID09IElPUkVRX1JFQUQpIHsKPiA+ICsgICAgICAg ICAgICAqdmFsID0gfjB1Owo+ID4gKyAgICAgICAgfQo+ID4gKyAgICAgICAgcmV0dXJuOwo+ID4g KyAgICB9Cj4gPiArCj4gPiArICAgIGlmIChyZXEtPmRpciA9PSBJT1JFUV9SRUFEKSB7Cj4gPiAr ICAgICAgICAqdmFsID0gcGNpX2hvc3RfY29uZmlnX3JlYWRfY29tbW9uKHhlbmRldi0+cGNpX2Rl diwgcmVnLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ Q0lfQ09ORklHX1NQQUNFX1NJWkUsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJlcS0+c2l6ZSk7Cj4gPiArICAgICAgICB0cmFjZV9jcHVfaW9yZXFfY29u ZmlnX3JlYWQocmVxLCB4ZW5kZXYtPnNiZGYsIHJlZywKPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZXEtPnNpemUsICp2YWwpOwo+ID4gKyAgICB9IGVsc2Ugewo+ID4g KyAgICAgICAgdHJhY2VfY3B1X2lvcmVxX2NvbmZpZ193cml0ZShyZXEsIHhlbmRldi0+c2JkZiwg cmVnLCByZXEtPnNpemUsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICp2YWwpOwo+ID4gKyAgICAgICAgcGNpX2hvc3RfY29uZmlnX3dyaXRlX2NvbW1vbih4ZW5kZXYt PnBjaV9kZXYsIHJlZywKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UENJX0NPTkZJR19TUEFDRV9TSVpFLCAqdmFsLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICByZXEtPnNpemUpOwo+ID4gKyAgICB9Cj4gCj4gLi4uIHRoZXNlIGNhbGxl ZCBmdW5jdGlvbnMgZG8gZnVsbCBjaGVja2luZyBhbnl3YXk/CgpZZXMsIEknbSBkZWZlcnJpbmcg ZnVydGhlciBjaGVja2luZyB0byB0aGVzZSBjb21tb24gZnVuY3Rpb25zLiBJJ20gb25seSBpbnRl bmRpbmcgdG8gYXZvaWQgcGFzc2luZyBqdW5rIGludG8gdGhlbSBoZXJlLgoKPiAKPiA+ICtzdGF0 aWMgdm9pZCBjcHVfaW9yZXFfY29uZmlnKFhlbklPU3RhdGUgKnN0YXRlLCBpb3JlcV90ICpyZXEp Cj4gPiArewo+ID4gKyAgICB1aW50MzJfdCBzYmRmID0gcmVxLT5hZGRyID4+IDMyOwo+ID4gKyAg ICBYZW5QY2lEZXZpY2UgKnhlbmRldjsKPiA+ICsKPiA+ICsgICAgaWYgKHJlcS0+c2l6ZSA+IHNp emVvZih1aW50MzJfdCkpIHsKPiA+ICsgICAgICAgIGh3X2Vycm9yKCJQQ0kgY29uZmlnIGFjY2Vz czogYmFkIHNpemUgKCV1KSIsIHJlcS0+c2l6ZSk7Cj4gCj4gV2hhdCBhYm91dCBzaXplIDAgb3Ig Mz8KPiAKClllcywgSSBjYW4gcmVqZWN0IHRob3NlIGhlcmUgYWxzby4KCj4gPiArICAgIH0KPiA+ ICsKPiA+ICsgICAgUUxJU1RfRk9SRUFDSCh4ZW5kZXYsICZzdGF0ZS0+ZGV2X2xpc3QsIGVudHJ5 KSB7Cj4gPiArICAgICAgICB1bnNpZ25lZCBpbnQgaTsKPiA+ICsgICAgICAgIHVpbnQzMl90IHRt cDsKPiA+ICsKPiA+ICsgICAgICAgIGlmICh4ZW5kZXYtPnNiZGYgIT0gc2JkZikgewo+ID4gKyAg ICAgICAgICAgIGNvbnRpbnVlOwo+ID4gKyAgICAgICAgfQo+ID4gKwo+ID4gKyAgICAgICAgaWYg KCFyZXEtPmRhdGFfaXNfcHRyKSB7Cj4gPiArICAgICAgICAgICAgaWYgKHJlcS0+ZGlyID09IElP UkVRX1JFQUQpIHsKPiA+ICsgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHJlcS0+Y291 bnQ7IGkrKykgewo+ID4gKyAgICAgICAgICAgICAgICAgICAgcndfY29uZmlnX3JlcV9pdGVtKHhl bmRldiwgcmVxLCBpLCAmdG1wKTsKPiA+ICsgICAgICAgICAgICAgICAgICAgIHJlcS0+ZGF0YSA9 IHRtcDsKPiA+ICsgICAgICAgICAgICAgICAgfQo+ID4gKyAgICAgICAgICAgIH0gZWxzZSBpZiAo cmVxLT5kaXIgPT0gSU9SRVFfV1JJVEUpIHsKPiA+ICsgICAgICAgICAgICAgICAgZm9yIChpID0g MDsgaSA8IHJlcS0+Y291bnQ7IGkrKykgewo+ID4gKyAgICAgICAgICAgICAgICAgICAgdG1wID0g cmVxLT5kYXRhOwo+ID4gKyAgICAgICAgICAgICAgICAgICAgcndfY29uZmlnX3JlcV9pdGVtKHhl bmRldiwgcmVxLCBpLCAmdG1wKTsKPiA+ICsgICAgICAgICAgICAgICAgfQo+ID4gKyAgICAgICAg ICAgIH0KPiAKPiBXb3VsZG4ndCBpdCBiZSBtb3JlIHNlbnNpYmxlIHRvIGZhaWwgcmVxLT5jb3Vu dCAhPSAxIHJlcXVlc3RzIGhlcmU/Cj4gCgpJJ20gd29uZGVyaW5nIHdoZXRoZXIgd2UnZCB3YW50 IHRvIGhhbmRsZSBjb3VudCA+IDEgb25jZSB3ZSBhbGxvdyBNTUNPTkZJRyBhY2Nlc3NlcyB0aG91 Z2guIEkgZ3Vlc3MgaXQgd291bGQgYmUgZWFzaWVyIGp1c3QgdG8gZGVmZXIgdGhhdC4KCiAgUGF1 bAoKPiBKYW4KPiAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs