From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v3 6/7] vpci/msix: carve p2m hole for MSIX MMIO regions Date: Tue, 30 Oct 2018 16:41:22 +0100 Message-ID: <20181030154123.4218-7-roger.pau@citrix.com> References: <20181030154123.4218-1-roger.pau@citrix.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] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gHW9P-0005Ox-NV for xen-devel@lists.xenproject.org; Tue, 30 Oct 2018 15:41:51 +0000 In-Reply-To: <20181030154123.4218-1-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org TWFrZSBzdXJlIHRoZSBNU0lYIE1NSU8gcmVnaW9ucyBkb24ndCBoYXZlIHAybSBlbnRyaWVzIHNl dHVwLCBzbyB0aGF0CmFjY2Vzc2VzIHRvIHRoZW0gdHJhcCBpbnRvIHRoZSBoeXBlcnZpc29yIGFu ZCBjYW4gYmUgaGFuZGxlZCBieSB2cGNpLgoKVGhpcyBpcyBhIHNpZGUtZWZmZWN0IG9mIGNvbW1p dCAwNDI2Nzg3NjIgZm9yIFBWSCBEb20wLCB3aGljaCBhZGRlZAptYXBwaW5ncyBmb3IgYWxsIHRo ZSByZXNlcnZlZCByZWdpb25zIGludG8gdGhlIERvbTAgcDJtLgoKU2lnbmVkLW9mZi1ieTogUm9n ZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+Ci0tLQpDYzogQW5kcmV3IENvb3Bl ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQ2M6IEdlb3JnZSBEdW5sYXAgPEdlb3JnZS5E dW5sYXBAZXUuY2l0cml4LmNvbT4KQ2M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRy aXguY29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogSnVsaWVuIEdy YWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KQ2M6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29u cmFkLndpbGtAb3JhY2xlLmNvbT4KQ2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlA a2VybmVsLm9yZz4KQ2M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgpDYzogV2VpIExpdSA8d2Vp LmxpdTJAY2l0cml4LmNvbT4KLS0tCiB4ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jIHwgIDggKysr KysrKysKIHhlbi9kcml2ZXJzL3ZwY2kvbXNpeC5jICAgfCA0MCArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL3hlbi92cGNpLmggICAgfCAgMyArKysK IDMgZmlsZXMgY2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9kcml2 ZXJzL3ZwY2kvaGVhZGVyLmMgYi94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jCmluZGV4IDRhZjg1 ZDNjMDIuLjQ1NWRkNGZjOTAgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3ZwY2kvaGVhZGVyLmMK KysrIGIveGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIuYwpAQCAtODgsNiArODgsMTQgQEAgc3RhdGlj IHZvaWQgbW9kaWZ5X2RlY29kaW5nKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBib29sIG1h cCwgYm9vbCByb21fb25seSkKICAgICB1aW50MTZfdCBjbWQ7CiAgICAgdW5zaWduZWQgaW50IGk7 CiAKKyAgICAvKgorICAgICAqIE1ha2Ugc3VyZSB0aGVyZSBhcmUgbm8gbWFwcGluZ3MgaW4gdGhl IE1TSVggTU1JTyBhcmVhcywgc28gdGhhdCBhY2Nlc3NlcworICAgICAqIGNhbiBiZSB0cmFwcGVk IChhbmQgZW11bGF0ZWQpIGJ5IFhlbiB3aGVuIHRoZSBtZW1vcnkgZGVjb2RpbmcgYml0IGlzCisg ICAgICogZW5hYmxlZC4KKyAgICAgKi8KKyAgICBpZiAoIG1hcCAmJiAhcm9tX29ubHkgJiYgdnBj aV9tYWtlX21zaXhfaG9sZShwZGV2KSApCisgICAgICAgIHJldHVybjsKKwogICAgIGZvciAoIGkg PSAwOyBpIDwgQVJSQVlfU0laRShoZWFkZXItPmJhcnMpOyBpKysgKQogICAgIHsKICAgICAgICAg aWYgKCAhTUFQUEFCTEVfQkFSKCZoZWFkZXItPmJhcnNbaV0pICkKZGlmZiAtLWdpdCBhL3hlbi9k cml2ZXJzL3ZwY2kvbXNpeC5jIGIveGVuL2RyaXZlcnMvdnBjaS9tc2l4LmMKaW5kZXggMTk2MGRh ZTEyMy4uNTc1OTU1MTcyNCAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvdnBjaS9tc2l4LmMKKysr IGIveGVuL2RyaXZlcnMvdnBjaS9tc2l4LmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDx4 ZW4vdnBjaS5oPgogCiAjaW5jbHVkZSA8YXNtL21zaS5oPgorI2luY2x1ZGUgPGFzbS9wMm0uaD4K IAogI2RlZmluZSBWTVNJWF9TSVpFKG51bSkgb2Zmc2V0b2Yoc3RydWN0IHZwY2lfbXNpeCwgZW50 cmllc1tudW1dKQogCkBAIC0zOTUsNiArMzk2LDQ1IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaHZt X21taW9fb3BzIHZwY2lfbXNpeF90YWJsZV9vcHMgPSB7CiAgICAgLndyaXRlID0gbXNpeF93cml0 ZSwKIH07CiAKK2ludCB2cGNpX21ha2VfbXNpeF9ob2xlKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpw ZGV2KQoreworICAgIHN0cnVjdCBkb21haW4gKmQgPSBwZGV2LT5kb21haW47CisgICAgdW5zaWdu ZWQgaW50IGk7CisKKyAgICBpZiAoICFwZGV2LT52cGNpLT5tc2l4ICkKKyAgICAgICAgcmV0dXJu IDA7CisKKyAgICAvKiBNYWtlIHN1cmUgdGhlcmUncyBhIGhvbGUgZm9yIHRoZSBNU0lYIHRhYmxl L1BCQSBpbiB0aGUgcDJtLiAqLworICAgIGZvciAoIGkgPSAwOyBpIDwgQVJSQVlfU0laRShwZGV2 LT52cGNpLT5tc2l4LT50YWJsZXMpOyBpKysgKQorICAgIHsKKyAgICAgICAgdW5zaWduZWQgbG9u ZyBzdGFydCA9IFBGTl9ET1dOKHZtc2l4X3RhYmxlX2FkZHIocGRldi0+dnBjaSwgaSkpOworICAg ICAgICB1bnNpZ25lZCBsb25nIGVuZCA9IFBGTl9ET1dOKHZtc2l4X3RhYmxlX2FkZHIocGRldi0+ dnBjaSwgaSkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtc2l4X3Rh YmxlX3NpemUocGRldi0+dnBjaSwgaSkgLSAxKTsKKworICAgICAgICBmb3IgKCA7IHN0YXJ0IDw9 IGVuZDsgc3RhcnQrKyApCisgICAgICAgIHsKKyAgICAgICAgICAgIHAybV90eXBlX3QgdDsKKyAg ICAgICAgICAgIG1mbl90IG1mbiA9IGdldF9nZm5fcXVlcnkoZCwgc3RhcnQsICZ0KTsKKworICAg ICAgICAgICAgaWYgKCB0ID09IHAybV9tbWlvX2RpcmVjdCAmJiBtZm5feChtZm4pID09IHN0YXJ0 ICkKKyAgICAgICAgICAgICAgICAgICAgY2xlYXJfaWRlbnRpdHlfcDJtX2VudHJ5KGQsIHN0YXJ0 KTsKKyAgICAgICAgICAgIGVsc2UgaWYgKCB0ICE9IHAybV9tbWlvX2RtICkKKyAgICAgICAgICAg IHsKKyAgICAgICAgICAgICAgICBwdXRfZ2ZuKGQsIHN0YXJ0KTsKKyAgICAgICAgICAgICAgICBn cHJpbnRrKFhFTkxPR19XQVJOSU5HLAorICAgICAgICAgICAgICAgICAgICAgICAgIiUwNHg6JTAy eDolMDJ4LiV1OiBleGlzdGluZyBtYXBwaW5nIChtZm46ICUiIFBSSV9tZm4KKyAgICAgICAgICAg ICAgICAgICAgICAgICJ0eXBlOiAlZCkgYXQgJSNseCBjbG9iYmVycyBNU0lYIE1NSU8gYXJlYVxu IiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHBkZXYtPnNlZywgcGRldi0+YnVzLCBQQ0lfU0xP VChwZGV2LT5kZXZmbiksCisgICAgICAgICAgICAgICAgICAgICAgICBQQ0lfRlVOQyhwZGV2LT5k ZXZmbiksIG1mbl94KG1mbiksIHQsIHN0YXJ0KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gLUVF WElTVDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHB1dF9nZm4oZCwgc3RhcnQpOworICAg ICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgaW5pdF9tc2l4 KHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogewogICAgIHN0cnVjdCBkb21haW4gKmQgPSBwZGV2LT5k b21haW47CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vdnBjaS5oIGIveGVuL2luY2x1ZGUv eGVuL3ZwY2kuaAppbmRleCBmOTdjNDhhOGYxLi5lMGMyMmFkODFjIDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS94ZW4vdnBjaS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi92cGNpLmgKQEAgLTE1MSw2 ICsxNTEsOSBAQCBzdHJ1Y3QgdnBjaV92Y3B1IHsKICNpZmRlZiBfX1hFTl9fCiB2b2lkIHZwY2lf ZHVtcF9tc2kodm9pZCk7CiAKKy8qIE1ha2Ugc3VyZSB0aGVyZSdzIGEgaG9sZSBpbiB0aGUgcDJt IGZvciB0aGUgTVNJWCBtbWlvIGFyZWFzLiAqLworaW50IHZwY2lfbWFrZV9tc2l4X2hvbGUoY29u c3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYpOworCiAvKiBBcmNoLXNwZWNpZmljIHZQQ0kgTVNJIGhl bHBlcnMuICovCiB2b2lkIHZwY2lfbXNpX2FyY2hfbWFzayhzdHJ1Y3QgdnBjaV9tc2kgKm1zaSwg Y29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsCiAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCBpbnQgZW50cnksIGJvb2wgbWFzayk7Ci0tIAoyLjE5LjEKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn L21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs