From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH 2/2] x86/io: move the list of guest to machine IO ports out of domain_iommu Date: Mon, 27 Mar 2017 16:34:54 +0100 Message-ID: <20170327153454.6027-3-roger.pau@citrix.com> References: <20170327153454.6027-1-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.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1csWgV-0005Xq-Bo for xen-devel@lists.xenproject.org; Mon, 27 Mar 2017 15:35:55 +0000 In-Reply-To: <20170327153454.6027-1-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Andrew Cooper , Paul Durrant , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org VGhlcmUncyBubyByZWFzb24gdG8gc3RvcmUgdGhhdCBsaXN0IGluc2lkZSBvZiB0aGUgZG9tYWlu X2lvbW11IHN0cnVjdCwgdGhlCmZvcndhcmRpbmcgb2YgZ3Vlc3QgSU8gcG9ydHMgaW50byBtYWNo aW5lIElPIHBvcnRzIGlzIG5vdCB0aWVkIHRvIHRoZSBwcmVzZW5jZQpvZiBhbiBJT01NVS4KCk1v dmUgaXQgaW5zaWRlIG9mIHRoZSBodm1fZG9tYWluIHN0cnVjdCBpbnN0ZWFkLgoKU2lnbmVkLW9m Zi1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+Ci0tLQpDYzogSmFu IEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNv b3BlcjNAY2l0cml4LmNvbT4KQ2M6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5j b20+Ci0tLQogeGVuL2FyY2gveDg2L2RvbWN0bC5jICAgICAgICAgICAgICAgfCAxMCArKysrKy0t LS0tCiB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgICAgICAgICAgICB8IDEyICsrKysrKysrKysr KwogeGVuL2FyY2gveDg2L2h2bS9pby5jICAgICAgICAgICAgICAgfCAgNCArKy0tCiB4ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYyB8IDExIC0tLS0tLS0tLS0tCiB4ZW4vaW5jbHVk ZS9hc20teDg2L2h2bS9kb21haW4uaCAgICB8ICAzICsrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9p b21tdS5oICAgICAgICAgfCAgMSAtCiA2IGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyks IDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYyBiL3hl bi9hcmNoL3g4Ni9kb21jdGwuYwppbmRleCAxMjIwMjI0Li5iN2I4NzQ4IDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC03MjEs MTEgKzcyMSwxMSBAQCBsb25nIGFyY2hfZG9fZG9tY3RsKAogCiAgICAgY2FzZSBYRU5fRE9NQ1RM X2lvcG9ydF9tYXBwaW5nOgogICAgIHsKLSAgICAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQ7 CiAgICAgICAgIHVuc2lnbmVkIGludCBmZ3AgPSBkb21jdGwtPnUuaW9wb3J0X21hcHBpbmcuZmly c3RfZ3BvcnQ7CiAgICAgICAgIHVuc2lnbmVkIGludCBmbXAgPSBkb21jdGwtPnUuaW9wb3J0X21h cHBpbmcuZmlyc3RfbXBvcnQ7CiAgICAgICAgIHVuc2lnbmVkIGludCBucCA9IGRvbWN0bC0+dS5p b3BvcnRfbWFwcGluZy5ucl9wb3J0czsKICAgICAgICAgdW5zaWduZWQgaW50IGFkZCA9IGRvbWN0 bC0+dS5pb3BvcnRfbWFwcGluZy5hZGRfbWFwcGluZzsKKyAgICAgICAgc3RydWN0IGh2bV9kb21h aW4gKmh2bV9kb21haW47CiAgICAgICAgIHN0cnVjdCBnMm1faW9wb3J0ICpnMm1faW9wb3J0Owog ICAgICAgICBpbnQgZm91bmQgPSAwOwogCkBAIC03NDcsMTQgKzc0NywxNCBAQCBsb25nIGFyY2hf ZG9fZG9tY3RsKAogICAgICAgICBpZiAoIHJldCApCiAgICAgICAgICAgICBicmVhazsKIAotICAg ICAgICBoZCA9IGRvbV9pb21tdShkKTsKKyAgICAgICAgaHZtX2RvbWFpbiA9ICZkLT5hcmNoLmh2 bV9kb21haW47CiAgICAgICAgIGlmICggYWRkICkKICAgICAgICAgewogICAgICAgICAgICAgcHJp bnRrKFhFTkxPR19HX0lORk8KICAgICAgICAgICAgICAgICAgICAiaW9wb3J0X21hcDphZGQ6IGRv bSVkIGdwb3J0PSV4IG1wb3J0PSV4IG5yPSV4XG4iLAogICAgICAgICAgICAgICAgICAgIGQtPmRv bWFpbl9pZCwgZmdwLCBmbXAsIG5wKTsKIAotICAgICAgICAgICAgbGlzdF9mb3JfZWFjaF9lbnRy eShnMm1faW9wb3J0LCAmaGQtPmFyY2guZzJtX2lvcG9ydF9saXN0LCBsaXN0KQorICAgICAgICAg ICAgbGlzdF9mb3JfZWFjaF9lbnRyeShnMm1faW9wb3J0LCAmaHZtX2RvbWFpbi0+ZzJtX2lvcG9y dF9saXN0LCBsaXN0KQogICAgICAgICAgICAgICAgIGlmIChnMm1faW9wb3J0LT5tcG9ydCA9PSBm bXAgKQogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgZzJtX2lvcG9ydC0+ Z3BvcnQgPSBmZ3A7CkBAIC03NzMsNyArNzczLDcgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAg ICAgICAgICAgICAgICBnMm1faW9wb3J0LT5ncG9ydCA9IGZncDsKICAgICAgICAgICAgICAgICBn Mm1faW9wb3J0LT5tcG9ydCA9IGZtcDsKICAgICAgICAgICAgICAgICBnMm1faW9wb3J0LT5ucCA9 IG5wOwotICAgICAgICAgICAgICAgIGxpc3RfYWRkX3RhaWwoJmcybV9pb3BvcnQtPmxpc3QsICZo ZC0+YXJjaC5nMm1faW9wb3J0X2xpc3QpOworICAgICAgICAgICAgICAgIGxpc3RfYWRkX3RhaWwo JmcybV9pb3BvcnQtPmxpc3QsICZodm1fZG9tYWluLT5nMm1faW9wb3J0X2xpc3QpOwogICAgICAg ICAgICAgfQogICAgICAgICAgICAgaWYgKCAhcmV0ICkKICAgICAgICAgICAgICAgICByZXQgPSBp b3BvcnRzX3Blcm1pdF9hY2Nlc3MoZCwgZm1wLCBmbXAgKyBucCAtIDEpOwpAQCAtNzg4LDcgKzc4 OCw3IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoCiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0df SU5GTwogICAgICAgICAgICAgICAgICAgICJpb3BvcnRfbWFwOnJlbW92ZTogZG9tJWQgZ3BvcnQ9 JXggbXBvcnQ9JXggbnI9JXhcbiIsCiAgICAgICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBm Z3AsIGZtcCwgbnApOwotICAgICAgICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShnMm1faW9wb3J0 LCAmaGQtPmFyY2guZzJtX2lvcG9ydF9saXN0LCBsaXN0KQorICAgICAgICAgICAgbGlzdF9mb3Jf ZWFjaF9lbnRyeShnMm1faW9wb3J0LCAmaHZtX2RvbWFpbi0+ZzJtX2lvcG9ydF9saXN0LCBsaXN0 KQogICAgICAgICAgICAgICAgIGlmICggZzJtX2lvcG9ydC0+bXBvcnQgPT0gZm1wICkKICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIGxpc3RfZGVsKCZnMm1faW9wb3J0LT5s aXN0KTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMgYi94ZW4vYXJjaC94ODYv aHZtL2h2bS5jCmluZGV4IGY5ZDQyMzQuLjkzNzQwNzMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwpAQCAtNjA4LDYgKzYwOCw3 IEBAIGludCBodm1fZG9tYWluX2luaXRpYWxpc2Uoc3RydWN0IGRvbWFpbiAqZCkKICAgICBzcGlu X2xvY2tfaW5pdCgmZC0+YXJjaC5odm1fZG9tYWluLnVjX2xvY2spOwogICAgIHNwaW5fbG9ja19p bml0KCZkLT5hcmNoLmh2bV9kb21haW4ud3JpdGVfbWFwLmxvY2spOwogICAgIElOSVRfTElTVF9I RUFEKCZkLT5hcmNoLmh2bV9kb21haW4ud3JpdGVfbWFwLmxpc3QpOworICAgIElOSVRfTElTVF9I RUFEKCZkLT5hcmNoLmh2bV9kb21haW4uZzJtX2lvcG9ydF9saXN0KTsKIAogICAgIGh2bV9pbml0 X2NhY2hlYXR0cl9yZWdpb25fbGlzdChkKTsKIApAQCAtNzA3LDYgKzcwOCw5IEBAIHZvaWQgaHZt X2RvbWFpbl9yZWxpbnF1aXNoX3Jlc291cmNlcyhzdHJ1Y3QgZG9tYWluICpkKQogCiB2b2lkIGh2 bV9kb21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKQogeworICAgIHN0cnVjdCBsaXN0X2hl YWQgKmlvcG9ydF9saXN0LCAqdG1wOworICAgIHN0cnVjdCBnMm1faW9wb3J0ICppb3BvcnQ7CisK ICAgICB4ZnJlZShkLT5hcmNoLmh2bV9kb21haW4uaW9faGFuZGxlcik7CiAgICAgZC0+YXJjaC5o dm1fZG9tYWluLmlvX2hhbmRsZXIgPSBOVUxMOwogCkBAIC03MjIsNiArNzI2LDE0IEBAIHZvaWQg aHZtX2RvbWFpbl9kZXN0cm95KHN0cnVjdCBkb21haW4gKmQpCiAKICAgICB4ZnJlZShkLT5hcmNo Lmh2bV9kb21haW4ucGxfdGltZSk7CiAgICAgZC0+YXJjaC5odm1fZG9tYWluLnBsX3RpbWUgPSBO VUxMOworCisgICAgbGlzdF9mb3JfZWFjaF9zYWZlICggaW9wb3J0X2xpc3QsIHRtcCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAmZC0+YXJjaC5odm1fZG9tYWluLmcybV9pb3BvcnRfbGlzdCAp CisgICAgeworICAgICAgICBpb3BvcnQgPSBsaXN0X2VudHJ5KGlvcG9ydF9saXN0LCBzdHJ1Y3Qg ZzJtX2lvcG9ydCwgbGlzdCk7CisgICAgICAgIGxpc3RfZGVsKCZpb3BvcnQtPmxpc3QpOworICAg ICAgICB4ZnJlZShpb3BvcnQpOworICAgIH0KIH0KIAogc3RhdGljIGludCBodm1fc2F2ZV90c2Nf YWRqdXN0KHN0cnVjdCBkb21haW4gKmQsIGh2bV9kb21haW5fY29udGV4dF90ICpoKQpkaWZmIC0t Z2l0IGEveGVuL2FyY2gveDg2L2h2bS9pby5jIGIveGVuL2FyY2gveDg2L2h2bS9pby5jCmluZGV4 IGNiNTY3ZjEuLmQyYWI4ODMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaW8uYworKysg Yi94ZW4vYXJjaC94ODYvaHZtL2lvLmMKQEAgLTE3MSwxMiArMTcxLDEyIEBAIHN0YXRpYyBib29s X3QgaHZtX3BvcnRpb19hY2NlcHQoY29uc3Qgc3RydWN0IGh2bV9pb19oYW5kbGVyICpoYW5kbGVy LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpb3JlcV90ICpwKQogewog ICAgIHN0cnVjdCB2Y3B1ICpjdXJyID0gY3VycmVudDsKLSAgICBjb25zdCBzdHJ1Y3QgZG9tYWlu X2lvbW11ICpkaW8gPSBkb21faW9tbXUoY3Vyci0+ZG9tYWluKTsKKyAgICBjb25zdCBzdHJ1Y3Qg aHZtX2RvbWFpbiAqaHZtX2RvbWFpbiA9ICZjdXJyLT5kb21haW4tPmFyY2guaHZtX2RvbWFpbjsK ICAgICBzdHJ1Y3QgaHZtX3ZjcHVfaW8gKnZpbyA9ICZjdXJyLT5hcmNoLmh2bV92Y3B1Lmh2bV9p bzsKICAgICBzdHJ1Y3QgZzJtX2lvcG9ydCAqZzJtX2lvcG9ydDsKICAgICB1bnNpZ25lZCBpbnQg c3RhcnQsIGVuZDsKIAotICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoIGcybV9pb3BvcnQsICZkaW8t PmFyY2guZzJtX2lvcG9ydF9saXN0LCBsaXN0ICkKKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KCBn Mm1faW9wb3J0LCAmaHZtX2RvbWFpbi0+ZzJtX2lvcG9ydF9saXN0LCBsaXN0ICkKICAgICB7CiAg ICAgICAgIHN0YXJ0ID0gZzJtX2lvcG9ydC0+Z3BvcnQ7CiAgICAgICAgIGVuZCA9IHN0YXJ0ICsg ZzJtX2lvcG9ydC0+bnA7CmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYv aW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCmluZGV4IDc1MGM2 NjMuLjAyNTM4MjMgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21t dS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCkBAIC0xMjMsNyAr MTIzLDYgQEAgaW50IGFyY2hfaW9tbXVfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKICAg ICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKIAogICAgIHNwaW5fbG9j a19pbml0KCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwotICAgIElOSVRfTElTVF9IRUFEKCZoZC0+ YXJjaC5nMm1faW9wb3J0X2xpc3QpOwogICAgIElOSVRfTElTVF9IRUFEKCZoZC0+YXJjaC5tYXBw ZWRfcm1ycnMpOwogCiAgICAgcmV0dXJuIDA7CkBAIC0xMzEsMTYgKzEzMCw2IEBAIGludCBhcmNo X2lvbW11X2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpCiAKIHZvaWQgYXJjaF9pb21tdV9k b21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKQogewotICAgIGNvbnN0IHN0cnVjdCBkb21h aW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwotICAgIHN0cnVjdCBsaXN0X2hlYWQgKmlvcG9y dF9saXN0LCAqdG1wOwotICAgIHN0cnVjdCBnMm1faW9wb3J0ICppb3BvcnQ7Ci0KLSAgICBsaXN0 X2Zvcl9lYWNoX3NhZmUgKCBpb3BvcnRfbGlzdCwgdG1wLCAmaGQtPmFyY2guZzJtX2lvcG9ydF9s aXN0ICkKLSAgICB7Ci0gICAgICAgIGlvcG9ydCA9IGxpc3RfZW50cnkoaW9wb3J0X2xpc3QsIHN0 cnVjdCBnMm1faW9wb3J0LCBsaXN0KTsKLSAgICAgICAgbGlzdF9kZWwoJmlvcG9ydC0+bGlzdCk7 Ci0gICAgICAgIHhmcmVlKGlvcG9ydCk7Ci0gICAgfQogfQogCiAvKgpkaWZmIC0tZ2l0IGEveGVu L2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9k b21haW4uaAppbmRleCA0MjBjYmRjLi5iZGZjMDgyIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9h c20teDg2L2h2bS9kb21haW4uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4u aApAQCAtMTgwLDYgKzE4MCw5IEBAIHN0cnVjdCBodm1fZG9tYWluIHsKIAogICAgIHVuc2lnbmVk IGxvbmcgKmlvX2JpdG1hcDsKIAorICAgIC8qIExpc3Qgb2YgZ3Vlc3QgdG8gbWFjaGluZSBJTyBw b3J0cyBtYXBwaW5nLiAqLworICAgIHN0cnVjdCBsaXN0X2hlYWQgZzJtX2lvcG9ydF9saXN0Owor CiAgICAgLyogTGlzdCBvZiBwZXJtYW5lbnRseSB3cml0ZS1tYXBwZWQgcGFnZXMuICovCiAgICAg c3RydWN0IHsKICAgICAgICAgc3BpbmxvY2tfdCBsb2NrOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9pb21tdS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5oCmluZGV4IGJl OTUxMDYuLjAwMDg1MDUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaAor KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2lvbW11LmgKQEAgLTM0LDcgKzM0LDYgQEAgc3RydWN0 IGFyY2hfaW9tbXUKICAgICB1NjQgcGdkX21hZGRyOyAgICAgICAgICAgICAgICAgLyogaW8gcGFn ZSBkaXJlY3RvcnkgbWFjaGluZSBhZGRyZXNzICovCiAgICAgc3BpbmxvY2tfdCBtYXBwaW5nX2xv Y2s7ICAgICAgICAgICAgLyogaW8gcGFnZSB0YWJsZSBsb2NrICovCiAgICAgaW50IGFnYXc7ICAg ICAvKiBhZGp1c3RlZCBndWVzdCBhZGRyZXNzIHdpZHRoLCAwIGlzIGxldmVsIDIgMzAtYml0ICov Ci0gICAgc3RydWN0IGxpc3RfaGVhZCBnMm1faW9wb3J0X2xpc3Q7ICAgLyogZ3Vlc3QgdG8gbWFj aGluZSBpb3BvcnQgbWFwcGluZyAqLwogICAgIHU2NCBpb21tdV9iaXRtYXA7ICAgICAgICAgICAg ICAvKiBiaXRtYXAgb2YgaW9tbXUocykgdGhhdCB0aGUgZG9tYWluIHVzZXMgKi8KICAgICBzdHJ1 Y3QgbGlzdF9oZWFkIG1hcHBlZF9ybXJyczsKIAotLSAKMi4xMC4xIChBcHBsZSBHaXQtNzgpCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==