From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [PATCH V2 17/25] x86/vvtd: Enable Queued Invalidation through GCMD Date: Wed, 9 Aug 2017 16:34:18 -0400 Message-ID: <1502310866-10450-18-git-send-email-tianyu.lan@intel.com> References: <1502310866-10450-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: <1502310866-10450-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, wei.liu2@citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, julien.grall@arm.com, jbeulich@suse.com, Chao Gao List-Id: xen-devel@lists.xenproject.org RnJvbTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KClNvZnR3YXJlIHdyaXRlcyB0byBR SUUgZmllbGRzIG9mIEdDTUQgdG8gZW5hYmxlIG9yIGRpc2FibGUgcXVldWVkCmludmFsaWRhdGlv bnMuIFRoaXMgcGF0Y2ggZW11bGF0ZXMgUUlFIGZpZWxkcyBvZiBHQ01ELgoKU2lnbmVkLW9mZi1i eTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogTGFuIFRpYW55 dSA8dGlhbnl1LmxhbkBpbnRlbC5jb20+Ci0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk L2lvbW11LmggfCAgMyArKy0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC92dnRkLmMgIHwg MjIgKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv dnRkL2lvbW11LmggYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaAppbmRleCA3 MGU2NGNmLi44MmJmNmJjIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv aW9tbXUuaAorKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaApAQCAtMTkw LDcgKzE5MCw4IEBACiAjZGVmaW5lIERNQV9HU1RTX0ZMUyAgICAoKCh1NjQpMSkgPDwgMjkpCiAj ZGVmaW5lIERNQV9HU1RTX0FGTFMgICAoKCh1NjQpMSkgPDwgMjgpCiAjZGVmaW5lIERNQV9HU1RT X1dCRlMgICAoKCh1NjQpMSkgPDwgMjcpCi0jZGVmaW5lIERNQV9HU1RTX1FJRVMgICAoKCh1NjQp MSkgPDwyNikKKyNkZWZpbmUgRE1BX0dTVFNfUUlFU19CSVQgICAgICAgMjYKKyNkZWZpbmUgRE1B X0dTVFNfUUlFUyAgICAgICAgICAgKCgodTY0KTEpIDw8IERNQV9HU1RTX1FJRVNfQklUKQogI2Rl ZmluZSBETUFfR1NUU19JUkVTICAgKCgodTY0KTEpIDw8MjUpCiAjZGVmaW5lIERNQV9HU1RTX1NJ UlRQU19CSVQgICAgIDI0CiAjZGVmaW5lIERNQV9HU1RTX1NJUlRQUyAoKCh1NjQpMSkgPDwgRE1B X0dTVFNfU0lSVFBTX0JJVCkKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0 ZC92dnRkLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvdnZ0ZC5jCmluZGV4IDM3NGZk ODguLjQ3MGJjNTYgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC92dnRk LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3Z2dGQuYwpAQCAtMTAyLDYgKzEw MiwxMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX192dnRkX3NldF9iaXQoc3RydWN0IHZ2dGQgKnZ2 dGQsIHVpbnQzMl90IHJlZywgaW50IG5yKQogICAgIHJldHVybiBfX3NldF9iaXQobnIsICh1aW50 MzJfdCAqKSZ2dnRkLT5yZWdzLT5kYXRhW3JlZ10pOwogfQogCitzdGF0aWMgaW5saW5lIHZvaWQg X192dnRkX2NsZWFyX2JpdChzdHJ1Y3QgdnZ0ZCAqdnZ0ZCwgdWludDMyX3QgcmVnLCBpbnQgbnIp Cit7CisgICAgcmV0dXJuIF9fY2xlYXJfYml0KG5yLCAodWludDMyX3QgKikmdnZ0ZC0+cmVncy0+ ZGF0YVtyZWddKTsKK30KKwogc3RhdGljIGlubGluZSB2b2lkIHZ2dGRfc2V0X3JlZyhzdHJ1Y3Qg dnZ0ZCAqdnRkLCB1aW50MzJfdCByZWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQzMl90IHZhbHVlKQogewpAQCAtMjYyLDYgKzI2NywyMSBAQCBzdGF0aWMgaW50IHZ2dGRf cmVjb3JkX2ZhdWx0KHN0cnVjdCB2dnRkICp2dnRkLAogICAgIHJldHVybiAwOwogfQogCitzdGF0 aWMgaW50IHZ2dGRfaGFuZGxlX2djbWRfcWllKHN0cnVjdCB2dnRkICp2dnRkLCB1aW50MzJfdCB2 YWwpCit7CisgICAgVlZURF9ERUJVRyhWVlREX0RCR19SVywgIiVzYWJsZSBRdWV1ZSBJbnZhbGlk YXRpb24uIiwKKyAgICAgICAgICAgICAgICh2YWwgJiBETUFfR0NNRF9RSUUpID8gIkVuIiA6ICJE aXMiKTsKKworICAgIGlmICggdmFsICYgRE1BX0dDTURfUUlFICkKKyAgICAgICAgX192dnRkX3Nl dF9iaXQodnZ0ZCwgRE1BUl9HU1RTX1JFRywgRE1BX0dTVFNfUUlFU19CSVQpOworICAgIGVsc2UK KyAgICB7CisgICAgICAgIHZ2dGRfc2V0X3JlZ19xdWFkKHZ2dGQsIERNQVJfSVFIX1JFRywgMFVM TCk7CisgICAgICAgIF9fdnZ0ZF9jbGVhcl9iaXQodnZ0ZCwgRE1BUl9HU1RTX1JFRywgRE1BX0dT VFNfUUlFU19CSVQpOworICAgIH0KKyAgICByZXR1cm4gWDg2RU1VTF9PS0FZOworfQorCiBzdGF0 aWMgaW50IHZ2dGRfaGFuZGxlX2djbWRfc2lydHAoc3RydWN0IHZ2dGQgKnZ2dGQsIHVpbnQzMl90 IHZhbCkKIHsKICAgICB1aW50NjRfdCBpcnRhOwpAQCAtMjk2LDYgKzMxNiw4IEBAIHN0YXRpYyBp bnQgdnZ0ZF93cml0ZV9nY21kKHN0cnVjdCB2dnRkICp2dnRkLCB1aW50MzJfdCB2YWwpCiAKICAg ICBpZiAoIGNoYW5nZWQgJiBETUFfR0NNRF9TSVJUUCApCiAgICAgICAgIHZ2dGRfaGFuZGxlX2dj bWRfc2lydHAodnZ0ZCwgdmFsKTsKKyAgICBpZiAoIGNoYW5nZWQgJiBETUFfR0NNRF9RSUUgKQor ICAgICAgICB2dnRkX2hhbmRsZV9nY21kX3FpZSh2dnRkLCB2YWwpOwogCiAgICAgcmV0dXJuIFg4 NkVNVUxfT0tBWTsKIH0KLS0gCjEuOC4zLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK