From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [PATCH V3 14/29] x86/vvtd: Enable Interrupt Remapping through GCMD Date: Thu, 21 Sep 2017 23:01:55 -0400 Message-ID: <1506049330-11196-15-git-send-email-tianyu.lan@intel.com> References: <1506049330-11196-1-git-send-email-tianyu.lan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1506049330-11196-1-git-send-email-tianyu.lan@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Lan Tianyu , kevin.tian@intel.com, sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, jbeulich@suse.com, roger.pau@citrix.com, Chao Gao List-Id: xen-devel@lists.xenproject.org RnJvbTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KClNvZnR3YXJlIHdyaXRlcyB0aGlz IGZpZWxkIHRvIGVuYWJsZS9kaXNhYmxlIGludGVycnVwdCByZWFtcHBpbmcuIFRoaXMgcGF0Y2gK ZW11bGF0ZSBJUkVTIGZpZWxkIG9mIEdDTUQuCgpTaWduZWQtb2ZmLWJ5OiBDaGFvIEdhbyA8Y2hh by5nYW9AaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBMYW4gVGlhbnl1IDx0aWFueXUubGFuQGlu dGVsLmNvbT4KLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaCB8ICAzICsr LQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3Z2dGQuYyAgfCAzMCArKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9t bXUuaCBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5oCmluZGV4IGEwZDVlYzgu LjcwMzcyNmYgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5o CisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5oCkBAIC0xNjMsNyArMTYz LDggQEAKICNkZWZpbmUgRE1BX0dTVFNfQUZMUyAgICgoKHU2NCkxKSA8PCAyOCkKICNkZWZpbmUg RE1BX0dTVFNfV0JGUyAgICgoKHU2NCkxKSA8PCAyNykKICNkZWZpbmUgRE1BX0dTVFNfUUlFUyAg ICgoKHU2NCkxKSA8PDI2KQotI2RlZmluZSBETUFfR1NUU19JUkVTICAgKCgodTY0KTEpIDw8MjUp CisjZGVmaW5lIERNQV9HU1RTX0lSRVNfU0hJRlQgICAgIDI1CisjZGVmaW5lIERNQV9HU1RTX0lS RVMgICAoKCh1NjQpMSkgPDwgRE1BX0dTVFNfSVJFU19TSElGVCkKICNkZWZpbmUgRE1BX0dTVFNf U0lSVFBTX1NISUZUICAgMjQKICNkZWZpbmUgRE1BX0dTVFNfU0lSVFBTICgoKHU2NCkxKSA8PCBE TUFfR1NUU19TSVJUUFNfU0hJRlQpCiAjZGVmaW5lIERNQV9HU1RTX0NGSVMgICAoKCh1NjQpMSkg PDwyMykKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC92dnRkLmMgYi94 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvdnZ0ZC5jCmluZGV4IDY3MzY5NTYuLmEwZjYzZTkg MTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC92dnRkLmMKKysrIGIveGVu L2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3Z2dGQuYwpAQCAtMzMsNyArMzMsOCBAQAogdW5zaWdu ZWQgaW50IHZ2dGRfY2FwcyA9IFZJT01NVV9DQVBfSVJRX1JFTUFQUElORzsKIAogc3RydWN0IGh2 bV9od192dnRkX3N0YXR1cyB7Ci0gICAgdWludDMyX3QgZWltX2VuYWJsZWQgOiAxOworICAgIHVp bnQzMl90IGVpbV9lbmFibGVkIDogMSwKKyAgICAgICAgICAgICBpbnRyZW1hcF9lbmFibGVkIDog MTsKICAgICB1aW50MzJfdCBpcnRfbWF4X2VudHJ5OwogICAgIC8qIEludGVycnVwdCByZW1hcHBp bmcgdGFibGUgYmFzZSBnZm4gKi8KICAgICB1aW50NjRfdCBpcnQ7CkBAIC04NCw2ICs4NSwxMSBA QCBzdGF0aWMgaW5saW5lIHZvaWQgdnZ0ZF9zZXRfYml0KHN0cnVjdCB2dnRkICp2dnRkLCB1aW50 MzJfdCByZWcsIGludCBucikKICAgICBfX3NldF9iaXQobnIsICZ2dnRkLT5yZWdzLT5kYXRhMzJb cmVnL3NpemVvZih1aW50MzJfdCldKTsKIH0KIAorc3RhdGljIGlubGluZSB2b2lkIHZ2dGRfY2xl YXJfYml0KHN0cnVjdCB2dnRkICp2dnRkLCB1aW50MzJfdCByZWcsIGludCBucikKK3sKKyAgICBf X2NsZWFyX2JpdChuciwgJnZ2dGQtPnJlZ3MtPmRhdGEzMltyZWcvc2l6ZW9mKHVpbnQzMl90KV0p OworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQgdnZ0ZF9zZXRfcmVnKHN0cnVjdCB2dnRkICp2dGQs IHVpbnQzMl90IHJlZywgdWludDMyX3QgdmFsdWUpCiB7CiAgICAgdnRkLT5yZWdzLT5kYXRhMzJb cmVnL3NpemVvZih1aW50MzJfdCldID0gdmFsdWU7CkBAIC0xMDUsNiArMTExLDIzIEBAIHN0YXRp YyBpbmxpbmUgdWludDY0X3QgdnZ0ZF9nZXRfcmVnX3F1YWQoc3RydWN0IHZ2dGQgKnZ0ZCwgdWlu dDMyX3QgcmVnKQogICAgIHJldHVybiB2dGQtPnJlZ3MtPmRhdGE2NFtyZWcvc2l6ZW9mKHVpbnQ2 NF90KV07CiB9CiAKK3N0YXRpYyB2b2lkIHZ2dGRfaGFuZGxlX2djbWRfaXJlKHN0cnVjdCB2dnRk ICp2dnRkLCB1aW50MzJfdCB2YWwpCit7CisgICAgdnZ0ZF9pbmZvKCIlc2FibGUgSW50ZXJydXB0 IFJlbWFwcGluZyIsCisgICAgICAgICAgICAgICh2YWwgJiBETUFfR0NNRF9JUkUpID8gIkVuIiA6 ICJEaXMiKTsKKworICAgIGlmICggdmFsICYgRE1BX0dDTURfSVJFICkKKyAgICB7CisgICAgICAg IHZ2dGQtPnN0YXR1cy5pbnRyZW1hcF9lbmFibGVkID0gdHJ1ZTsKKyAgICAgICAgdnZ0ZF9zZXRf Yml0KHZ2dGQsIERNQVJfR1NUU19SRUcsIERNQV9HU1RTX0lSRVNfU0hJRlQpOworICAgIH0KKyAg ICBlbHNlCisgICAgeworICAgICAgICB2dnRkLT5zdGF0dXMuaW50cmVtYXBfZW5hYmxlZCA9IGZh bHNlOworICAgICAgICB2dnRkX2NsZWFyX2JpdCh2dnRkLCBETUFSX0dTVFNfUkVHLCBETUFfR1NU U19JUkVTX1NISUZUKTsKKyAgICB9Cit9CisKIHN0YXRpYyB2b2lkIHZ2dGRfaGFuZGxlX2djbWRf c2lydHAoc3RydWN0IHZ2dGQgKnZ2dGQsIHVpbnQzMl90IHZhbCkKIHsKICAgICB1aW50NjRfdCBp cnRhID0gdnZ0ZF9nZXRfcmVnX3F1YWQodnZ0ZCwgRE1BUl9JUlRBX1JFRyk7CkBAIC0xMTIsNiAr MTM1LDkgQEAgc3RhdGljIHZvaWQgdnZ0ZF9oYW5kbGVfZ2NtZF9zaXJ0cChzdHJ1Y3QgdnZ0ZCAq dnZ0ZCwgdWludDMyX3QgdmFsKQogICAgIGlmICggISh2YWwgJiBETUFfR0NNRF9TSVJUUCkgKQog ICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoIHZ2dGQtPnN0YXR1cy5pbnRyZW1hcF9lbmFibGVk ICkKKyAgICAgICAgdnZ0ZF9pbmZvKCJVcGRhdGUgSW50ZXJydXB0IFJlbWFwcGluZyBUYWJsZSB3 aGVuIGFjdGl2ZVxuIik7CisKICAgICB2dnRkLT5zdGF0dXMuaXJ0ID0gRE1BX0lSVEFfQUREUihp cnRhKSA+PiBQQUdFX1NISUZUOwogICAgIHZ2dGQtPnN0YXR1cy5pcnRfbWF4X2VudHJ5ID0gRE1B X0lSVEFfU0laRShpcnRhKTsKICAgICB2dnRkLT5zdGF0dXMuZWltX2VuYWJsZWQgPSAhIShpcnRh ICYgSVJUQV9FSU1FKTsKQEAgLTEzOSw2ICsxNjUsOCBAQCBzdGF0aWMgaW50IHZ2dGRfd3JpdGVf Z2NtZChzdHJ1Y3QgdnZ0ZCAqdnZ0ZCwgdWludDMyX3QgdmFsKQogCiAgICAgaWYgKCBjaGFuZ2Vk ICYgRE1BX0dDTURfU0lSVFAgKQogICAgICAgICB2dnRkX2hhbmRsZV9nY21kX3NpcnRwKHZ2dGQs IHZhbCk7CisgICAgaWYgKCBjaGFuZ2VkICYgRE1BX0dDTURfSVJFICkKKyAgICAgICAgdnZ0ZF9o YW5kbGVfZ2NtZF9pcmUodnZ0ZCwgdmFsKTsKIAogICAgIHJldHVybiBYODZFTVVMX09LQVk7CiB9 Ci0tIAoxLjguMy4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRw czovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==