From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH for-4.9] x86/vioapic: allow holes in the GSI range for PVH Dom0 Date: Mon, 17 Apr 2017 17:09:22 +0100 Message-ID: <20170417160922.76016-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d09DZ-0005sX-6I for xen-devel@lists.xenproject.org; Mon, 17 Apr 2017 16:09:33 +0000 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 , Julien Grall , Chao Gao , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org VGhlIGN1cnJlbnQgdklPIEFQSUMgZm9yIFBWSCBEb20wIGRvZXNuJ3QgYWxsb3cgbm9uLWNvbnRp Z3VvdXMgR1NJcywgd2hpY2gKbWVhbnMgdGhhdCBhbGwgR1NJcyBtdXN0IGJlbG9uZyB0byBhbiBJ TyBBUElDLiBUaGlzIGRvZXNuJ3QgbWF0Y2ggcmVhbGl0eSwKd2hlcmUgdGhlcmUgYXJlIHN5c3Rl bXMgd2l0aCBub24tY29udGlndW91cyBHU0lzLgoKSW4gb3JkZXIgdG8gZml4IHRoaXMgYWRkIGEg YmFzZV9nc2kgZmllbGQgdG8gZWFjaCBodm1fdmlvYXBpYyBzdHJ1Y3QsIGluIG9yZGVyCnRvIHN0 b3JlIHRoZSBiYXNlIEdTSSBmb3IgZWFjaCBlbXVsYXRlZCBJTyBBUElDLiBGb3IgUFZIIERvbTAg dGhvc2UgdmFsdWVzIGFyZQpwb3B1bGF0ZWQgYmFzZWQgb24gdGhlIGhhcmR3YXJlIG9uZXMuCgpT aWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KUmVw b3J0ZWQtYnk6IENoYW8gR2FvIDxjaGFvLmdhb0BpbnRlbC5jb20+Ci0tLQpDYzogSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNA Y2l0cml4LmNvbT4KQ2M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNjOiBD aGFvIEdhbyA8Y2hhby5nYW9AaW50ZWwuY29tPgotLS0KSSB0aGluayB0aGlzIGlzIGEgZ29vZCBj YW5kaXRhdGUgdG8gYmUgaW5jbHVkZWQgaW4gNC45LCBpdCdzIGEgYnVnZml4LCBhbmQgaXQncwpv bmx5IHVzZWQgYnkgUFZIIERvbTAsIHNvIHRoZSByaXNrIGlzIGxvdyBJTUhPLgotLS0KIHhlbi9h cmNoL3g4Ni9odm0vdmlvYXBpYy5jICAgICAgICB8IDQxICsrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdmlvYXBpYy5oIHwgIDEg KwogMiBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3Zpb2FwaWMuYyBiL3hlbi9hcmNoL3g4Ni9odm0v dmlvYXBpYy5jCmluZGV4IDUxNTdkYjdhNGUuLmVjODdhOTc2NTEgMTAwNjQ0Ci0tLSBhL3hlbi9h cmNoL3g4Ni9odm0vdmlvYXBpYy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdmlvYXBpYy5jCkBA IC02NCwzNyArNjQsMjMgQEAgc3RhdGljIHN0cnVjdCBodm1fdmlvYXBpYyAqYWRkcl92aW9hcGlj KGNvbnN0IHN0cnVjdCBkb21haW4gKmQsCiBzdHJ1Y3QgaHZtX3Zpb2FwaWMgKmdzaV92aW9hcGlj KGNvbnN0IHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBnc2ksCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqcGluKQogewotICAgIHVuc2lnbmVkIGlu dCBpLCBiYXNlX2dzaSA9IDA7CisgICAgdW5zaWduZWQgaW50IGk7CiAKICAgICBmb3IgKCBpID0g MDsgaSA8IGQtPmFyY2guaHZtX2RvbWFpbi5ucl92aW9hcGljczsgaSsrICkKICAgICB7CiAgICAg ICAgIHN0cnVjdCBodm1fdmlvYXBpYyAqdmlvYXBpYyA9IGRvbWFpbl92aW9hcGljKGQsIGkpOwog Ci0gICAgICAgIGlmICggZ3NpID49IGJhc2VfZ3NpICYmIGdzaSA8IGJhc2VfZ3NpICsgdmlvYXBp Yy0+bnJfcGlucyApCisgICAgICAgIGlmICggZ3NpID49IHZpb2FwaWMtPmJhc2VfZ3NpICYmCisg ICAgICAgICAgICAgZ3NpIDwgdmlvYXBpYy0+YmFzZV9nc2kgKyB2aW9hcGljLT5ucl9waW5zICkK ICAgICAgICAgewotICAgICAgICAgICAgKnBpbiA9IGdzaSAtIGJhc2VfZ3NpOworICAgICAgICAg ICAgKnBpbiA9IGdzaSAtIHZpb2FwaWMtPmJhc2VfZ3NpOwogICAgICAgICAgICAgcmV0dXJuIHZp b2FwaWM7CiAgICAgICAgIH0KLQotICAgICAgICBiYXNlX2dzaSArPSB2aW9hcGljLT5ucl9waW5z OwogICAgIH0KIAogICAgIHJldHVybiBOVUxMOwogfQogCi1zdGF0aWMgdW5zaWduZWQgaW50IGJh c2VfZ3NpKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IHN0cnVjdCBodm1fdmlvYXBpYyAqdmlvYXBpYykKLXsKLSAgICB1bnNpZ25lZCBp bnQgbnJfdmlvYXBpY3MgPSBkLT5hcmNoLmh2bV9kb21haW4ubnJfdmlvYXBpY3M7Ci0gICAgdW5z aWduZWQgaW50IGJhc2VfZ3NpID0gMCwgaSA9IDA7Ci0gICAgY29uc3Qgc3RydWN0IGh2bV92aW9h cGljICp0bXA7Ci0KLSAgICB3aGlsZSAoIGkgPCBucl92aW9hcGljcyAmJiAodG1wID0gZG9tYWlu X3Zpb2FwaWMoZCwgaSsrKSkgIT0gdmlvYXBpYyApCi0gICAgICAgIGJhc2VfZ3NpICs9IHRtcC0+ bnJfcGluczsKLQotICAgIHJldHVybiBiYXNlX2dzaTsKLX0KLQogc3RhdGljIHVpbnQzMl90IHZp b2FwaWNfcmVhZF9pbmRpcmVjdChjb25zdCBzdHJ1Y3QgaHZtX3Zpb2FwaWMgKnZpb2FwaWMpCiB7 CiAgICAgdWludDMyX3QgcmVzdWx0ID0gMDsKQEAgLTE4MCw3ICsxNjYsNyBAQCBzdGF0aWMgdm9p ZCB2aW9hcGljX3dyaXRlX3JlZGlyZW50KAogICAgIHN0cnVjdCBodm1faXJxICpodm1faXJxID0g aHZtX2RvbWFpbl9pcnEoZCk7CiAgICAgdW5pb24gdmlvYXBpY19yZWRpcl9lbnRyeSAqcGVudCwg ZW50OwogICAgIGludCB1bm1hc2tlZCA9IDA7Ci0gICAgdW5zaWduZWQgaW50IGdzaSA9IGJhc2Vf Z3NpKGQsIHZpb2FwaWMpICsgaWR4OworICAgIHVuc2lnbmVkIGludCBnc2kgPSB2aW9hcGljLT5i YXNlX2dzaSArIGlkeDsKIAogICAgIHNwaW5fbG9jaygmZC0+YXJjaC5odm1fZG9tYWluLmlycV9s b2NrKTsKIApAQCAtMzQwLDcgKzMyNiw3IEBAIHN0YXRpYyB2b2lkIHZpb2FwaWNfZGVsaXZlcihz dHJ1Y3QgaHZtX3Zpb2FwaWMgKnZpb2FwaWMsIHVuc2lnbmVkIGludCBwaW4pCiAgICAgc3RydWN0 IGRvbWFpbiAqZCA9IHZpb2FwaWNfZG9tYWluKHZpb2FwaWMpOwogICAgIHN0cnVjdCB2bGFwaWMg KnRhcmdldDsKICAgICBzdHJ1Y3QgdmNwdSAqdjsKLSAgICB1bnNpZ25lZCBpbnQgaXJxID0gYmFz ZV9nc2koZCwgdmlvYXBpYykgKyBwaW47CisgICAgdW5zaWduZWQgaW50IGlycSA9IHZpb2FwaWMt PmJhc2VfZ3NpICsgcGluOwogCiAgICAgQVNTRVJUKHNwaW5faXNfbG9ja2VkKCZkLT5hcmNoLmh2 bV9kb21haW4uaXJxX2xvY2spKTsKIApAQCAtNDUxLDcgKzQzNyw3IEBAIHZvaWQgdmlvYXBpY191 cGRhdGVfRU9JKHN0cnVjdCBkb21haW4gKmQsIHU4IHZlY3RvcikKIHsKICAgICBzdHJ1Y3QgaHZt X2lycSAqaHZtX2lycSA9IGh2bV9kb21haW5faXJxKGQpOwogICAgIHVuaW9uIHZpb2FwaWNfcmVk aXJfZW50cnkgKmVudDsKLSAgICB1bnNpZ25lZCBpbnQgaSwgYmFzZV9nc2kgPSAwOworICAgIHVu c2lnbmVkIGludCBpOwogCiAgICAgQVNTRVJUKGhhc192aW9hcGljKGQpKTsKIApAQCAtNDczLDE5 ICs0NTksMTggQEAgdm9pZCB2aW9hcGljX3VwZGF0ZV9FT0koc3RydWN0IGRvbWFpbiAqZCwgdTgg dmVjdG9yKQogICAgICAgICAgICAgaWYgKCBpb21tdV9lbmFibGVkICkKICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICBzcGluX3VubG9jaygmZC0+YXJjaC5odm1fZG9tYWluLmlycV9sb2Nr KTsKLSAgICAgICAgICAgICAgICBodm1fZHBjaV9lb2koZCwgYmFzZV9nc2kgKyBwaW4sIGVudCk7 CisgICAgICAgICAgICAgICAgaHZtX2RwY2lfZW9pKGQsIHZpb2FwaWMtPmJhc2VfZ3NpICsgcGlu LCBlbnQpOwogICAgICAgICAgICAgICAgIHNwaW5fbG9jaygmZC0+YXJjaC5odm1fZG9tYWluLmly cV9sb2NrKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgaWYgKCAoZW50LT5maWVsZHMu dHJpZ19tb2RlID09IFZJT0FQSUNfTEVWRUxfVFJJRykgJiYKICAgICAgICAgICAgICAgICAgIWVu dC0+ZmllbGRzLm1hc2sgJiYKLSAgICAgICAgICAgICAgICAgaHZtX2lycS0+Z3NpX2Fzc2VydF9j b3VudFtiYXNlX2dzaSArIHBpbl0gKQorICAgICAgICAgICAgICAgICBodm1faXJxLT5nc2lfYXNz ZXJ0X2NvdW50W3Zpb2FwaWMtPmJhc2VfZ3NpICsgcGluXSApCiAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgZW50LT5maWVsZHMucmVtb3RlX2lyciA9IDE7CiAgICAgICAgICAgICAgICAg dmlvYXBpY19kZWxpdmVyKHZpb2FwaWMsIHBpbik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K LSAgICAgICAgYmFzZV9nc2kgKz0gdmlvYXBpYy0+bnJfcGluczsKICAgICB9CiAKICAgICBzcGlu X3VubG9jaygmZC0+YXJjaC5odm1fZG9tYWluLmlycV9sb2NrKTsKQEAgLTU1NCw2ICs1MzksNyBA QCB2b2lkIHZpb2FwaWNfcmVzZXQoc3RydWN0IGRvbWFpbiAqZCkKICAgICAgICAgewogICAgICAg ICAgICAgdmlvYXBpYy0+YmFzZV9hZGRyZXNzID0gbXBfaW9hcGljc1tpXS5tcGNfYXBpY2FkZHI7 CiAgICAgICAgICAgICB2aW9hcGljLT5pZCA9IG1wX2lvYXBpY3NbaV0ubXBjX2FwaWNpZDsKKyAg ICAgICAgICAgIHZpb2FwaWMtPmJhc2VfZ3NpID0gaW9fYXBpY19nc2lfYmFzZShpKTsKICAgICAg ICAgfQogICAgICAgICB2aW9hcGljLT5ucl9waW5zID0gbnJfcGluczsKICAgICAgICAgdmlvYXBp Yy0+ZG9tYWluID0gZDsKQEAgLTYwMSw3ICs1ODcsMTIgQEAgaW50IHZpb2FwaWNfaW5pdChzdHJ1 Y3QgZG9tYWluICpkKQogICAgICAgICBucl9nc2lzICs9IG5yX3BpbnM7CiAgICAgfQogCi0gICAg QVNTRVJUKGh2bV9kb21haW5faXJxKGQpLT5ucl9nc2lzID09IG5yX2dzaXMpOworICAgIC8qCisg ICAgICogTkI6IGh2bV9kb21haW5faXJxKGQpLT5ucl9nc2lzIGlzIGFjdHVhbGx5IHRoZSBoaWdo ZXN0IEdTSSArIDEsIGJ1dAorICAgICAqIHRoZXJlIG1pZ2h0IGJlIGhvbGVzIGluIHRoaXMgcmFu Z2UgKGllOiBHU0lzIHRoYXQgZG9uJ3QgYmVsb25nIHRvIGFueQorICAgICAqIHZJTyBBUElDKS4K KyAgICAgKi8KKyAgICBBU1NFUlQoaHZtX2RvbWFpbl9pcnEoZCktPm5yX2dzaXMgPj0gbnJfZ3Np cyk7CiAKICAgICBkLT5hcmNoLmh2bV9kb21haW4ubnJfdmlvYXBpY3MgPSBucl92aW9hcGljczsK ICAgICB2aW9hcGljX3Jlc2V0KGQpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9o dm0vdmlvYXBpYy5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdmlvYXBpYy5oCmluZGV4IDhl YzkxZDJiZDEuLjJjZWI2MGVhZWYgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZt L3Zpb2FwaWMuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92aW9hcGljLmgKQEAgLTUw LDYgKzUwLDcgQEAKIHN0cnVjdCBodm1fdmlvYXBpYyB7CiAgICAgc3RydWN0IGRvbWFpbiAqZG9t YWluOwogICAgIHVpbnQzMl90IG5yX3BpbnM7CisgICAgdW5zaWduZWQgaW50IGJhc2VfZ3NpOwog ICAgIHVuaW9uIHsKICAgICAgICAgWEVOX0hWTV9WSU9BUElDKCwpOwogICAgICAgICBzdHJ1Y3Qg aHZtX2h3X3Zpb2FwaWMgZG9tVTsKLS0gCjIuMTEuMCAoQXBwbGUgR2l0LTgxKQoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=