From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v2 35/62] x86/guest: setup event channel upcall vector Date: Fri, 12 Jan 2018 11:28:43 +0000 Message-ID: <20180112112910.16762-36-wei.liu2@citrix.com> References: <20180112112910.16762-1-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eZxzC-0003Mk-RQ for xen-devel@lists.xenproject.org; Fri, 12 Jan 2018 11:59:02 +0000 In-Reply-To: <20180112112910.16762-1-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org RnJvbTogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KCkFuZCBhIGR1bW15 IGV2ZW50IGNoYW5uZWwgdXBjYWxsIGhhbmRsZXIuCgpOb3RlIHRoYXQgd2l0aCB0aGUgY3VycmVu dCBjb2RlIHRoZSB1bmRlcmx5aW5nIFhlbiAoTDApIG11c3Qgc3VwcG9ydApIVk1PUF9zZXRfZXZ0 Y2huX3VwY2FsbF92ZWN0b3Igb3IgZWxzZSBldmVudCBjaGFubmVsIHNldHVwIGlzIGdvaW5nIHRv CmZhaWwuIFRoaXMgbGltaXRhdGlvbiBjYW4gYmUgbGlmdGVkIGJ5IGltcGxlbWVudGluZyBtb3Jl IGV2ZW50IGNoYW5uZWwKaW50ZXJydXB0IGluamVjdGlvbiBtZXRob2RzIGFzIGEgYmFja3VwLgoK UmVnaXN0ZXIgY2FsbGJhY2tfaXJxIHRvIHRyaWNrIHRvb2xzdGFjayB0byB0aGluayB0aGUgZG9t YWluIGlzCmVubGlnaHRlbmVkLgoKU2lnbmVkLW9mZi1ieTogU2VyZ2V5IER5YXNsaSA8c2VyZ2V5 LmR5YXNsaUBjaXRyaXguY29tPgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcu Y29vcGVyM0BjaXRyaXguY29tPgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dl ci5wYXVAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4 LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvZ3Vlc3QveGVuLmMgICAgICAgICAgICAgIHwgNDEgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvZ3Vl c3QvaHlwZXJjYWxsLmggfCAxNyArKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNTgg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9ndWVzdC94ZW4uYyBiL3hl bi9hcmNoL3g4Ni9ndWVzdC94ZW4uYwppbmRleCA2MDYyNmVjMjFjLi41OTg3MTE3MGM4IDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvZ3Vlc3QveGVuLmMKKysrIGIveGVuL2FyY2gveDg2L2d1ZXN0 L3hlbi5jCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSA8eGVuL3Jhbmdlc2V0Lmg+CiAjaW5j bHVkZSA8eGVuL3R5cGVzLmg+CiAKKyNpbmNsdWRlIDxhc20vYXBpYy5oPgogI2luY2x1ZGUgPGFz bS9lODIwLmg+CiAjaW5jbHVkZSA8YXNtL2d1ZXN0Lmg+CiAjaW5jbHVkZSA8YXNtL21zci5oPgpA QCAtMTg2LDYgKzE4Nyw0MyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9tZW1tYXAodm9pZCkK ICAgICB9CiB9CiAKK3N0YXRpYyB2b2lkIHhlbl9ldnRjaG5fdXBjYWxsKHN0cnVjdCBjcHVfdXNl cl9yZWdzICpyZWdzKQoreworICAgIHN0cnVjdCB2Y3B1X2luZm8gKnZjcHVfaW5mbyA9IHRoaXNf Y3B1KHZjcHVfaW5mbyk7CisKKyAgICB2Y3B1X2luZm8tPmV2dGNobl91cGNhbGxfcGVuZGluZyA9 IDA7CisgICAgd3JpdGVfYXRvbWljKCZ2Y3B1X2luZm8tPmV2dGNobl9wZW5kaW5nX3NlbCwgMCk7 CisKKyAgICBhY2tfQVBJQ19pcnEoKTsKK30KKworc3RhdGljIHZvaWQgaW5pdF9ldnRjaG4odm9p ZCkKK3sKKyAgICBzdGF0aWMgdWludDhfdCBldnRjaG5fdXBjYWxsX3ZlY3RvcjsKKyAgICBpbnQg cmM7CisKKyAgICBpZiAoICFldnRjaG5fdXBjYWxsX3ZlY3RvciApCisgICAgICAgIGFsbG9jX2Rp cmVjdF9hcGljX3ZlY3RvcigmZXZ0Y2huX3VwY2FsbF92ZWN0b3IsIHhlbl9ldnRjaG5fdXBjYWxs KTsKKworICAgIEFTU0VSVChldnRjaG5fdXBjYWxsX3ZlY3Rvcik7CisKKyAgICByYyA9IHhlbl9o eXBlcmNhbGxfc2V0X2V2dGNobl91cGNhbGxfdmVjdG9yKHRoaXNfY3B1KHZjcHVfaWQpLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZ0Y2huX3VwY2Fs bF92ZWN0b3IpOworICAgIGlmICggcmMgKQorICAgICAgICBwYW5pYygiVW5hYmxlIHRvIHNldCBl dnRjaG4gdXBjYWxsIHZlY3RvcjogJWQiLCByYyk7CisKKyAgICAvKiBUcmljayB0b29sc3RhY2sg dG8gdGhpbmsgd2UgYXJlIGVubGlnaHRlbmVkICovCisgICAgeworICAgICAgICBzdHJ1Y3QgeGVu X2h2bV9wYXJhbSBhID0geworICAgICAgICAgICAgLmRvbWlkID0gRE9NSURfU0VMRiwKKyAgICAg ICAgICAgIC5pbmRleCA9IEhWTV9QQVJBTV9DQUxMQkFDS19JUlEsCisgICAgICAgICAgICAudmFs dWUgPSAxLAorICAgICAgICB9OworCisgICAgICAgIEJVR19PTih4ZW5faHlwZXJjYWxsX2h2bV9v cChIVk1PUF9zZXRfcGFyYW0sICZhKSk7CisgICAgfQorfQorCiB2b2lkIF9faW5pdCBoeXBlcnZp c29yX3NldHVwKHZvaWQpCiB7CiAgICAgaW5pdF9tZW1tYXAoKTsKQEAgLTIxMCwxMiArMjQ4LDE1 IEBAIHZvaWQgX19pbml0IGh5cGVydmlzb3Jfc2V0dXAodm9pZCkKICAgICAgICAgICAgICAgICJ1 bmFibGUgdG8gbWFwIHZDUFUgaW5mbywgbGltaXRpbmcgdkNQVXMgdG86ICV1XG4iLAogICAgICAg ICAgICAgICAgWEVOX0xFR0FDWV9NQVhfVkNQVVMpOwogICAgIH0KKworICAgIGluaXRfZXZ0Y2hu KCk7CiB9CiAKIHZvaWQgaHlwZXJ2aXNvcl9hcF9zZXR1cCh2b2lkKQogewogICAgIHNldF92Y3B1 X2lkKCk7CiAgICAgbWFwX3ZjcHVpbmZvKCk7CisgICAgaW5pdF9ldnRjaG4oKTsKIH0KIAogaW50 IGh5cGVydmlzb3JfYWxsb2NfdW51c2VkX3BhZ2UobWZuX3QgKm1mbikKZGlmZiAtLWdpdCBhL3hl bi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3QvaHlwZXJjYWxsLmggYi94ZW4vaW5jbHVkZS9hc20teDg2 L2d1ZXN0L2h5cGVyY2FsbC5oCmluZGV4IGRiYzU3YTU2NmUuLmIzNmExY2MxODkgMTAwNjQ0Ci0t LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3QvaHlwZXJjYWxsLmgKKysrIGIveGVuL2luY2x1 ZGUvYXNtLXg4Ni9ndWVzdC9oeXBlcmNhbGwuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjaW5jbHVk ZSA8cHVibGljL3hlbi5oPgogI2luY2x1ZGUgPHB1YmxpYy9zY2hlZC5oPgorI2luY2x1ZGUgPHB1 YmxpYy9odm0vaHZtX29wLmg+CiAKICNpbmNsdWRlIDxwdWJsaWMvdmNwdS5oPgogCkBAIC0xMDQs NiArMTA1LDExIEBAIHN0YXRpYyBpbmxpbmUgaW50IHhlbl9oeXBlcmNhbGxfdmNwdV9vcCh1bnNp Z25lZCBpbnQgY21kLCB1bnNpZ25lZCBpbnQgdmNwdSwKICAgICByZXR1cm4gX2h5cGVyY2FsbDY0 XzMobG9uZywgX19IWVBFUlZJU09SX3ZjcHVfb3AsIGNtZCwgdmNwdSwgYXJnKTsKIH0KIAorc3Rh dGljIGlubGluZSBsb25nIHhlbl9oeXBlcmNhbGxfaHZtX29wKHVuc2lnbmVkIGludCBvcCwgdm9p ZCAqYXJnKQoreworICAgIHJldHVybiBfaHlwZXJjYWxsNjRfMihsb25nLCBfX0hZUEVSVklTT1Jf aHZtX29wLCBvcCwgYXJnKTsKK30KKwogLyoKICAqIEhpZ2hlciBsZXZlbCBoeXBlcmNhbGwgaGVs cGVycwogICovCkBAIC0xMjAsNiArMTI2LDE3IEBAIHN0YXRpYyBpbmxpbmUgbG9uZyB4ZW5faHlw ZXJjYWxsX3NodXRkb3duKHVuc2lnbmVkIGludCByZWFzb24pCiAgICAgcmV0dXJuIHhlbl9oeXBl cmNhbGxfc2NoZWRfb3AoU0NIRURPUF9zaHV0ZG93biwgJnMpOwogfQogCitzdGF0aWMgaW5saW5l IGxvbmcgeGVuX2h5cGVyY2FsbF9zZXRfZXZ0Y2huX3VwY2FsbF92ZWN0b3IoCisgICAgdW5zaWdu ZWQgaW50IGNwdSwgdW5zaWduZWQgaW50IHZlY3RvcikKK3sKKyAgICBzdHJ1Y3QgeGVuX2h2bV9l dnRjaG5fdXBjYWxsX3ZlY3RvciBhID0geworICAgICAgICAudmNwdSA9IGNwdSwKKyAgICAgICAg LnZlY3RvciA9IHZlY3RvciwKKyAgICB9OworCisgICAgcmV0dXJuIHhlbl9oeXBlcmNhbGxfaHZt X29wKEhWTU9QX3NldF9ldnRjaG5fdXBjYWxsX3ZlY3RvciwgJmEpOworfQorCiAjZWxzZSAvKiBD T05GSUdfWEVOX0dVRVNUICovCiAKICNpbmNsdWRlIDxwdWJsaWMvc2NoZWQuaD4KLS0gCjIuMTEu MAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=