From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v5 1/3] xen/pvh: use a custom IO bitmap for PVH hardware domains Date: Thu, 7 May 2015 16:54:17 +0200 Message-ID: <1431010459-20920-2-git-send-email-roger.pau@citrix.com> References: <1431010459-20920-1-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1YqNC3-0002k0-9V for xen-devel@lists.xenproject.org; Thu, 07 May 2015 14:54:31 +0000 In-Reply-To: <1431010459-20920-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Kevin Tian , Jan Beulich , Jun Nakajima , Andrew Cooper , Eddie Dong , Aravind Gopalakrishnan , Suravee Suthikulpanit , Boris Ostrovsky , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org U2luY2UgYSBQVkggaGFyZHdhcmUgZG9tYWluIGhhcyBhY2Nlc3MgdG8gdGhlIHBoeXNpY2FsIGhh cmR3YXJlIGNyZWF0ZSBhCmN1c3RvbSBtb3JlIHBlcm1pc3NpdmUgSU8gYml0bWFwLiBUaGUgcGVy bWlzc2lvbnMgc2V0IG9uIHRoZSBiaXRtYXAgYXJlCnBvcHVsYXRlZCBiYXNlZCBvbiB0aGUgY29u dGVudHMgb2YgdGhlIGlvcG9ydHMgcmFuZ2VzZXQuCgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUg TW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz dXNlLmNvbT4KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNj OiBCb3JpcyBPc3Ryb3Zza3kgPGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tPgpDYzogU3VyYXZl ZSBTdXRoaWt1bHBhbml0IDxzdXJhdmVlLnN1dGhpa3VscGFuaXRAYW1kLmNvbT4KQ2M6IEFyYXZp bmQgR29wYWxha3Jpc2huYW4gPEFyYXZpbmQuR29wYWxha3Jpc2huYW5AYW1kLmNvbT4KQ2M6IEp1 biBOYWthamltYSA8anVuLm5ha2FqaW1hQGludGVsLmNvbT4KQ2M6IEVkZGllIERvbmcgPGVkZGll LmRvbmdAaW50ZWwuY29tPgpDYzogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+Ci0t LQpDaGFuZ2VzIHNpbmNlIHY0OgogLSBTcGxpdCBjaGFuZ2VzIGFsc28gYWZmZWN0aW5nIFBWIHRv IGEgc2VwYXJhdGUgcGF0Y2guCiAtIFVzZSBpbnQgd2l0aCBfX2NsZWFyX2JpdC4KIC0gRHJvcCBw b2ludGxlc3MgY2FzdCBpbiB2bWNiLmMuCiAtIE1ha2UgSFZNX0lPQklUTUFQX1NJWkUgY29udGFp biB0aGUgc2l6ZSBvZiB0aGUgaW8gYml0bWFwIHBhZ2VzIGluIGJ5dGVzLgogLSBNYWtlIHNldHVw X2lvX2JpdG1hcCBhIGhhcmR3YXJlIGRvbWFpbiBzcGVjaWZpYyBmdW5jdGlvbiwgYW5kIGFsbG93 IGl0IHRvCiAgIHdvcmsgd2l0aCBsYXRlIGh3IGRvbWFpbiBpbml0LgoKQ2hhbmdlcyBzaW5jZSB2 MzoKIC0gQWRkIHRoZSBSVEMgSU8gcG9ydHMgdG8gdGhlIGxpc3Qgb2YgYmxvY2tlZCBwb3J0cy4K IC0gUmVtb3ZlIGFkbWluX2lvX29rYXkgc2luY2UgaXQncyBqdXN0IGEgd3JhcHBlciBhcm91bmQK ICAgaW9wb3J0c19hY2Nlc3NfcGVybWl0dGVkLgoKQ2hhbmdlcyBzaW5jZSB2MjoKIC0gQWRkIDB4 Y2Y4LTB4Y2ZiIHRvIHRoZSByYW5nZSBvZiBibG9ja2VkICh0cmFwcGVkKSBJTyBwb3J0cy4KIC0g VXNlIHJhbmdlc2V0X3JlcG9ydF9yYW5nZXMgaW4gb3JkZXIgdG8gaXRlcmF0ZSBvdmVyIHRoZSBy YW5nZSBvZiBub3QKICAgdHJhcHBlZCBJTyBwb3J0cy4KIC0gQWxsb2NhdGUgdGhlIERvbTAgUFZI IElPIGJpdG1hcCB3aXRoIF94bWFsbG9jX2FycmF5LCB3aGljaCBhbGxvd3Mgc2V0dGluZwogICB0 aGUgYWxpZ25tZW50IHRvIFBBR0VfU0laRS4KIC0gVGVzdGVkIHdpdGggTGludXggUFYvUFZIIHVz aW5nIDMuMTggYW5kIEZyZWVCU0QgUFZIIEhFQUQuCgpDaGFuZ2VzIHNpbmNlIHYxOgogLSBEeW5h bWljYWxseSBhbGxvY2F0ZSBQVkggRG9tMCBJTyBiaXRtYXAgaWYgbmVlZGVkLgogLSBEcm9wIGNh c3QgZnJvbSBjb25zdHJ1Y3Rfdm1jcyB3aGVuIHdyaXRpbmcgdGhlIElPIGJpdG1hcC4KIC0gQ3Jl YXRlIGEgbmV3IGZ1bmN0aW9uIHRoYXQgc2V0cyB1cCB0aGUgYml0bWFwIGJlZm9yZSBsYXVuY2hp bmcgRG9tMC4gVGhpcwogICBpcyBuZWVkZWQgYmVjYXVzZSBuczE2NTUwX2VuZGJvb3QgaXMgY2Fs bGVkIGFmdGVyIGNvbnN0cnVjdF9kb20wLgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vaHZtLmMgICAg ICAgICAgIHwgMjQgKysrKysrKysrKysrKysrKysrKysrKy0tCiB4ZW4vYXJjaC94ODYvaHZtL3N2 bS92bWNiLmMgICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYvaHZtL3ZteC92bWNzLmMgICAgICB8 ICA1ICsrKy0tCiB4ZW4vYXJjaC94ODYvc2V0dXAuYyAgICAgICAgICAgICB8IDI5ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiB4ZW4vY29tbW9uL2RvbWFpbi5jICAgICAgICAgICAgICB8 ICAyICsrCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaCB8ICAyICsrCiB4ZW4vaW5j bHVkZS9hc20teDg2L3NldHVwLmggICAgICB8ICAxICsKIDcgZmlsZXMgY2hhbmdlZCwgNjAgaW5z ZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZt L2h2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwppbmRleCAzYTA5NDM5Li5lYTA1MmM0IDEw MDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0v aHZtLmMKQEAgLTc3LDkgKzc3LDEzIEBAIGludGVnZXJfcGFyYW0oImh2bV9kZWJ1ZyIsIG9wdF9o dm1fZGVidWdfbGV2ZWwpOwogCiBzdHJ1Y3QgaHZtX2Z1bmN0aW9uX3RhYmxlIGh2bV9mdW5jcyBf X3JlYWRfbW9zdGx5OwogCi0vKiBJL08gcGVybWlzc2lvbiBiaXRtYXAgaXMgZ2xvYmFsbHkgc2hh cmVkIGJ5IGFsbCBIVk0gZ3Vlc3RzLiAqLworI2RlZmluZSBIVk1fSU9CSVRNQVBfU0laRSAgICgz KlBBR0VfU0laRSkKKy8qCisgKiBUaGUgSS9PIHBlcm1pc3Npb24gYml0bWFwIGlzIGdsb2JhbGx5 IHNoYXJlZCBieSBhbGwgSFZNIGd1ZXN0cyBleGNlcHQKKyAqIHRoZSBoYXJkd2FyZSBkb21haW4g dGhhdCBoYXMgYSBtb3JlIHBlcm1pc3NpdmUgSU8gYml0bWFwLgorICovCiB1bnNpZ25lZCBsb25n IF9fYXR0cmlidXRlX18gKChfX3NlY3Rpb25fXyAoIi5ic3MucGFnZV9hbGlnbmVkIikpKQotICAg IGh2bV9pb19iaXRtYXBbMypQQUdFX1NJWkUvQllURVNfUEVSX0xPTkddOworICAgIGh2bV9pb19i aXRtYXBbSFZNX0lPQklUTUFQX1NJWkUvQllURVNfUEVSX0xPTkddOwogCiAvKiBYZW4gY29tbWFu ZC1saW5lIG9wdGlvbiB0byBlbmFibGUgSEFQICovCiBzdGF0aWMgYm9vbF90IF9faW5pdGRhdGEg b3B0X2hhcF9lbmFibGVkID0gMTsKQEAgLTE0NjEsNiArMTQ2NSwyMCBAQCBpbnQgaHZtX2RvbWFp bl9pbml0aWFsaXNlKHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAgIGdvdG8gZmFpbDE7CiAgICAg ZC0+YXJjaC5odm1fZG9tYWluLmlvX2hhbmRsZXItPm51bV9zbG90ID0gMDsKIAorICAgIC8qIFNl dCB0aGUgZGVmYXVsdCBJTyBCaXRtYXAgKi8KKyAgICBpZiAoIGlzX2hhcmR3YXJlX2RvbWFpbihk KSApCisgICAgeworICAgICAgICBkLT5hcmNoLmh2bV9kb21haW4uaW9fYml0bWFwID0gX3htYWxs b2MoSFZNX0lPQklUTUFQX1NJWkUsIFBBR0VfU0laRSk7CisgICAgICAgIGlmICggZC0+YXJjaC5o dm1fZG9tYWluLmlvX2JpdG1hcCA9PSBOVUxMICkKKyAgICAgICAgeworICAgICAgICAgICAgcmMg PSAtRU5PTUVNOworICAgICAgICAgICAgZ290byBmYWlsMTsKKyAgICAgICAgfQorICAgICAgICBt ZW1zZXQoZC0+YXJjaC5odm1fZG9tYWluLmlvX2JpdG1hcCwgfjAsIEhWTV9JT0JJVE1BUF9TSVpF KTsKKyAgICB9CisgICAgZWxzZQorICAgICAgICBkLT5hcmNoLmh2bV9kb21haW4uaW9fYml0bWFw ID0gaHZtX2lvX2JpdG1hcDsKKwogICAgIGlmICggaXNfcHZoX2RvbWFpbihkKSApCiAgICAgewog ICAgICAgICByZWdpc3Rlcl9wb3J0aW9faGFuZGxlcihkLCAwLCAweDEwMDAzLCBoYW5kbGVfcHZo X2lvKTsKQEAgLTE0OTYsNiArMTUxNCw4IEBAIGludCBodm1fZG9tYWluX2luaXRpYWxpc2Uoc3Ry dWN0IGRvbWFpbiAqZCkKICAgICBzdGR2Z2FfZGVpbml0KGQpOwogICAgIHZpb2FwaWNfZGVpbml0 KGQpOwogIGZhaWwxOgorICAgIGlmICggaXNfaGFyZHdhcmVfZG9tYWluKGQpICkKKyAgICAgICAg eGZyZWUoZC0+YXJjaC5odm1fZG9tYWluLmlvX2JpdG1hcCk7CiAgICAgeGZyZWUoZC0+YXJjaC5o dm1fZG9tYWluLmlvX2hhbmRsZXIpOwogICAgIHhmcmVlKGQtPmFyY2guaHZtX2RvbWFpbi5wYXJh bXMpOwogIGZhaWwwOgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9zdm0vdm1jYi5jIGIv eGVuL2FyY2gveDg2L2h2bS9zdm0vdm1jYi5jCmluZGV4IDIxMjkyYmIuLjEwYWZkNDQgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3ZtY2IuYworKysgYi94ZW4vYXJjaC94ODYvaHZt L3N2bS92bWNiLmMKQEAgLTExOCw3ICsxMTgsNyBAQCBzdGF0aWMgaW50IGNvbnN0cnVjdF92bWNi KHN0cnVjdCB2Y3B1ICp2KQogICAgICAgICBzdm1fZGlzYWJsZV9pbnRlcmNlcHRfZm9yX21zcih2 LCBNU1JfQU1ENjRfTFdQX0NCQUREUik7CiAKICAgICB2bWNiLT5fbXNycG1fYmFzZV9wYSA9ICh1 NjQpdmlydF90b19tYWRkcihhcmNoX3N2bS0+bXNycG0pOwotICAgIHZtY2ItPl9pb3BtX2Jhc2Vf cGEgID0gKHU2NCl2aXJ0X3RvX21hZGRyKGh2bV9pb19iaXRtYXApOworICAgIHZtY2ItPl9pb3Bt X2Jhc2VfcGEgPSB2aXJ0X3RvX21hZGRyKHYtPmRvbWFpbi0+YXJjaC5odm1fZG9tYWluLmlvX2Jp dG1hcCk7CiAKICAgICAvKiBWaXJ0dWFsaXNlIEVGTEFHUy5JRiBhbmQgTEFQSUMgVFBSIChDUjgp LiAqLwogICAgIHZtY2ItPl92aW50ci5maWVsZHMuaW50cl9tYXNraW5nID0gMTsKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Zt Y3MuYwppbmRleCAzMTIzNzA2Li5mNjJhYTkwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZt L3ZteC92bWNzLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jCkBAIC0xMDMyLDgg KzEwMzIsOSBAQCBzdGF0aWMgaW50IGNvbnN0cnVjdF92bWNzKHN0cnVjdCB2Y3B1ICp2KQogICAg IH0KIAogICAgIC8qIEkvTyBhY2Nlc3MgYml0bWFwLiAqLwotICAgIF9fdm13cml0ZShJT19CSVRN QVBfQSwgdmlydF90b19tYWRkcigoY2hhciAqKWh2bV9pb19iaXRtYXAgKyAwKSk7Ci0gICAgX192 bXdyaXRlKElPX0JJVE1BUF9CLCB2aXJ0X3RvX21hZGRyKChjaGFyICopaHZtX2lvX2JpdG1hcCAr IFBBR0VfU0laRSkpOworICAgIF9fdm13cml0ZShJT19CSVRNQVBfQSwgdmlydF90b19tYWRkcihk LT5hcmNoLmh2bV9kb21haW4uaW9fYml0bWFwKSk7CisgICAgX192bXdyaXRlKElPX0JJVE1BUF9C LCB2aXJ0X3RvX21hZGRyKGQtPmFyY2guaHZtX2RvbWFpbi5pb19iaXRtYXAgKworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQUdFX1NJWkUgLyBCWVRFU19QRVJfTE9O RykpOwogCiAgICAgaWYgKCBjcHVfaGFzX3ZteF92aXJ0dWFsX2ludHJfZGVsaXZlcnkgKQogICAg IHsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9zZXR1cC5jIGIveGVuL2FyY2gveDg2L3NldHVw LmMKaW5kZXggMmI5Nzg3YS4uM2I5YWVlNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NldHVw LmMKKysrIGIveGVuL2FyY2gveDg2L3NldHVwLmMKQEAgLTE0NDYsNiArMTQ0Niw5IEBAIHZvaWQg X19pbml0IG5vcmV0dXJuIF9fc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgbWJpX3ApCiAKICAgICBk bWlfZW5kX2Jvb3QoKTsKIAorICAgIGlmICggaXNfaGFyZHdhcmVfZG9tYWluKGRvbTApICkKKyAg ICAgICAgc2V0dXBfaW9fYml0bWFwKGRvbTApOworCiAgICAgc3lzdGVtX3N0YXRlID0gU1lTX1NU QVRFX2FjdGl2ZTsKIAogICAgIGRvbWFpbl91bnBhdXNlX2J5X3N5c3RlbWNvbnRyb2xsZXIoZG9t MCk7CkBAIC0xNTA5LDYgKzE1MTIsMzIgQEAgaW50IF9faHdkb21faW5pdCB4ZW5faW5fcmFuZ2Uo dW5zaWduZWQgbG9uZyBtZm4pCiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgX19od2Rv bV9pbml0IGlvX2JpdG1hcF9jYih1bnNpZ25lZCBsb25nIHMsIHVuc2lnbmVkIGxvbmcgZSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpjdHgpCit7CisgICAgc3Ry dWN0IGRvbWFpbiAqZCA9IGN0eDsKKyAgICBpbnQgaTsKKworICAgIEFTU0VSVChzIDw9IElOVF9N QVggJiYgZSA8PSBJTlRfTUFYKTsKKyAgICBmb3IgKCBpID0gczsgaSA8PSBlOyBpKysgKQorICAg ICAgICBfX2NsZWFyX2JpdChpLCBkLT5hcmNoLmh2bV9kb21haW4uaW9fYml0bWFwKTsKKworICAg IHJldHVybiAwOworfQorCit2b2lkIF9faHdkb21faW5pdCBzZXR1cF9pb19iaXRtYXAoc3RydWN0 IGRvbWFpbiAqZCkKK3sKKyAgICBpbnQgcmM7CisKKyAgICBBU1NFUlQoaXNfaGFyZHdhcmVfZG9t YWluKGQpKTsKKyAgICBpZiAoIGhhc19odm1fY29udGFpbmVyX2RvbWFpbihkKSApCisgICAgewor ICAgICAgICByYyA9IHJhbmdlc2V0X3JlcG9ydF9yYW5nZXMoZC0+YXJjaC5pb3BvcnRfY2Fwcywg MCwgMHgxMDAwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvX2JpdG1h cF9jYiwgZCk7CisgICAgICAgIEJVR19PTihyYyk7CisgICAgfQorfQorCiAvKgogICogTG9jYWwg dmFyaWFibGVzOgogICogbW9kZTogQwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9kb21haW4uYyBi L3hlbi9jb21tb24vZG9tYWluLmMKaW5kZXggNjgwM2M0ZC4uOGUwYTdjZCAxMDA2NDQKLS0tIGEv eGVuL2NvbW1vbi9kb21haW4uYworKysgYi94ZW4vY29tbW9uL2RvbWFpbi5jCkBAIC0yMjUsNiAr MjI1LDggQEAgc3RhdGljIGludCBsYXRlX2h3ZG9tX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKIAog ICAgIGlvbW11X2h3ZG9tX2luaXQoZCk7CiAKKyAgICBzZXR1cF9pb19iaXRtYXAoZCk7CisKICAg ICByZXR1cm4gcnY7CiAjZWxzZQogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4u aAppbmRleCAwZjhiMTlhLi5lMjUwNzkxIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2 L2h2bS9kb21haW4uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaApAQCAt MTQxLDYgKzE0MSw4IEBAIHN0cnVjdCBodm1fZG9tYWluIHsKICAgICAgKi8KICAgICB1aW50NjRf dCBzeW5jX3RzYzsKIAorICAgIHVuc2lnbmVkIGxvbmcgICAgICAgICAqaW9fYml0bWFwOworCiAg ICAgdW5pb24gewogICAgICAgICBzdHJ1Y3Qgdm14X2RvbWFpbiB2bXg7CiAgICAgICAgIHN0cnVj dCBzdm1fZG9tYWluIHN2bTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvc2V0dXAu aCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvc2V0dXAuaAppbmRleCAwOGJjMjNhLi4zODFkOWY4IDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3NldHVwLmgKKysrIGIveGVuL2luY2x1ZGUv YXNtLXg4Ni9zZXR1cC5oCkBAIC0zMiw2ICszMiw3IEBAIGludCBjb25zdHJ1Y3RfZG9tMCgKICAg ICBtb2R1bGVfdCAqaW5pdHJkLAogICAgIHZvaWQgKigqYm9vdHN0cmFwX21hcCkoY29uc3QgbW9k dWxlX3QgKiksCiAgICAgY2hhciAqY21kbGluZSk7Cit2b2lkIHNldHVwX2lvX2JpdG1hcChzdHJ1 Y3QgZG9tYWluICpkKTsKIAogdW5zaWduZWQgbG9uZyBpbml0aWFsX2ltYWdlc19ucnBhZ2VzKG5v ZGVpZF90IG5vZGUpOwogdm9pZCBkaXNjYXJkX2luaXRpYWxfaW1hZ2VzKHZvaWQpOwotLSAKMS45 LjUgKEFwcGxlIEdpdC01MC4zKQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==