From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH RFC v1 47/74] x86/guest: fix upcall vector setup Date: Thu, 4 Jan 2018 13:05:58 +0000 Message-ID: <20180104130625.28605-48-wei.liu2@citrix.com> References: <20180104130625.28605-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 1eX5aE-0005Qd-Cm for xen-devel@lists.xenproject.org; Thu, 04 Jan 2018 13:29:22 +0000 In-Reply-To: <20180104130625.28605-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 RnJvbTogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KCkluc3RlYWQgb2Yg Zm9yY2luZyBubyBwZW5kaW5nIGV2ZW50IG9uIHRoZSB2Q1BVLCBqdXN0IG1hc2sgYWxsIGV2ZW50 CmNoYW5uZWxzIHdoZW4gc2V0dGluZyB1cCB0aGUgQlNQIGFuZCBmdXJ0aGVyIHBhdGNoZXMgd2ls bCB1bm1hc2sgdGhlbQphcyBldmVudCBjaGFubmVscyBhcmUgYmVpbmcgc2V0dXAuCgpTaWduZWQt b2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KLS0tClRvIGJl IHNxdWFzaGVkIHdpdGggIng4Ni9ndWVzdDogZW5hYmxlIGV2ZW50IGNoYW5uZWxzIHVwY2FsbHMi Ci0tLQogeGVuL2FyY2gveDg2L2d1ZXN0L3hlbi5jIHwgNjEgKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9u cygrKSwgNDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2d1ZXN0L3hl bi5jIGIveGVuL2FyY2gveDg2L2d1ZXN0L3hlbi5jCmluZGV4IDBmMmM1ZDc0MTMuLmE5NWMzNjAx N2YgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9ndWVzdC94ZW4uYworKysgYi94ZW4vYXJjaC94 ODYvZ3Vlc3QveGVuLmMKQEAgLTMzLDcgKzMzLDYgQEAKIGJvb2wgeGVuX2d1ZXN0OwogCiBzdGF0 aWMgdWludDMyX3QgeGVuX2NwdWlkX2Jhc2U7Ci1zdGF0aWMgdWludDhfdCBldnRjaG5fdXBjYWxs X3ZlY3RvcjsKIGV4dGVybiBjaGFyIGh5cGVyY2FsbF9wYWdlW107CiBzdGF0aWMgc3RydWN0IHJh bmdlc2V0ICptZW07CiAKQEAgLTg2LDYgKzg1LDcgQEAgc3RhdGljIHZvaWQgbWFwX3NoYXJlZF9p bmZvKHZvaWQpCiAgICAgICAgIC5kb21pZCA9IERPTUlEX1NFTEYsCiAgICAgICAgIC5zcGFjZSA9 IFhFTk1BUFNQQUNFX3NoYXJlZF9pbmZvLAogICAgIH07CisgICAgdW5zaWduZWQgaW50IGk7CiAK ICAgICBpZiAoIGh5cGVydmlzb3JfYWxsb2NfdW51c2VkX3BhZ2UoJm1mbikgKQogICAgICAgICBw YW5pYygidW5hYmxlIHRvIHJlc2VydmUgc2hhcmVkIGluZm8gbWVtb3J5IHBhZ2UiKTsKQEAgLTk1 LDYgKzk1LDEwIEBAIHN0YXRpYyB2b2lkIG1hcF9zaGFyZWRfaW5mbyh2b2lkKQogICAgICAgICBw YW5pYygiRmFpbGVkIHRvIG1hcCBzaGFyZWRfaW5mbyBwYWdlIik7CiAKICAgICBzZXRfZml4bWFw KEZJWF9YRU5fU0hBUkVEX0lORk8sIG1mbl94KG1mbikgPDwgUEFHRV9TSElGVCk7CisKKyAgICAv KiBNYXNrIGFsbCB1cGNhbGxzICovCisgICAgZm9yICggaSA9IDA7IGkgPCBBUlJBWV9TSVpFKFhF Tl9zaGFyZWRfaW5mby0+ZXZ0Y2huX21hc2spOyBpKysgKQorICAgICAgICB4Y2hnKCZYRU5fc2hh cmVkX2luZm8tPmV2dGNobl9tYXNrW2ldLCB+MHVsKTsKIH0KIAogc3RhdGljIHZvaWQgc2V0X3Zj cHVfaWQodm9pZCkKQEAgLTEyNCw1OCArMTI4LDIxIEBAIHN0YXRpYyB2b2lkIHhlbl9ldnRjaG5f dXBjYWxsKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgIGFja19BUElDX2lycSgpOwog fQogCi1zdGF0aWMgdm9pZCBhcF9zZXR1cF9ldmVudF9jaGFubmVscyhib29sIGNsZWFyKQorc3Rh dGljIHZvaWQgaW5pdF9ldnRjaG4odm9pZCkKIHsKLSAgICB1bnNpZ25lZCBpbnQgaSwgY3B1ID0g dGhpc19jcHUodmNwdV9pZCk7Ci0gICAgc3RydWN0IHZjcHVfaW5mbyAqdmNwdV9pbmZvID0gJlhF Tl9zaGFyZWRfaW5mby0+dmNwdV9pbmZvW2NwdV07CisgICAgdW5zaWduZWQgaW50IHZjcHUgPSB0 aGlzX2NwdSh2Y3B1X2lkKTsKKyAgICBzdGF0aWMgdWludDhfdCBldnRjaG5fdXBjYWxsX3ZlY3Rv cjsKICAgICBpbnQgcmM7CiAKLSAgICBBU1NFUlQoZXZ0Y2huX3VwY2FsbF92ZWN0b3IpOwotICAg IEFTU0VSVChjcHUgPCBBUlJBWV9TSVpFKFhFTl9zaGFyZWRfaW5mby0+dmNwdV9pbmZvKSk7Cisg ICAgaWYgKCAhZXZ0Y2huX3VwY2FsbF92ZWN0b3IgKQorICAgICAgICBhbGxvY19kaXJlY3RfYXBp Y192ZWN0b3IoJmV2dGNobl91cGNhbGxfdmVjdG9yLCB4ZW5fZXZ0Y2huX3VwY2FsbCk7CiAKLSAg ICBpZiAoICFjbGVhciApCi0gICAgewotICAgICAgICAvKgotICAgICAgICAgKiBUaGlzIGlzIG5l Y2Vzc2FyeSB0byBlbnN1cmUgdGhhdCBhIENQVSB3aWxsIGJlIGludGVycnVwdGVkIGluIGNhc2UK LSAgICAgICAgICogb2YgYW4gZXZlbnQgY2hhbm5lbCBub3RpZmljYXRpb24uCi0gICAgICAgICAq LwotICAgICAgICBBU1NFUlQodmNwdV9pbmZvLT5ldnRjaG5fdXBjYWxsX3BlbmRpbmcgPT0gMCk7 Ci0gICAgICAgIEFTU0VSVCh2Y3B1X2luZm8tPmV2dGNobl9wZW5kaW5nX3NlbCA9PSAwKTsKLSAg ICB9CisgICAgQVNTRVJUKGV2dGNobl91cGNhbGxfdmVjdG9yKTsKKyAgICBBU1NFUlQodmNwdSA8 IEFSUkFZX1NJWkUoWEVOX3NoYXJlZF9pbmZvLT52Y3B1X2luZm8pKTsKIAotICAgIHJjID0geGVu X2h5cGVyY2FsbF9zZXRfZXZ0Y2huX3VwY2FsbF92ZWN0b3IoY3B1LCBldnRjaG5fdXBjYWxsX3Zl Y3Rvcik7CisgICAgcmMgPSB4ZW5faHlwZXJjYWxsX3NldF9ldnRjaG5fdXBjYWxsX3ZlY3Rvcih2 Y3B1LCBldnRjaG5fdXBjYWxsX3ZlY3Rvcik7CiAgICAgaWYgKCByYyApCiAgICAgICAgIHBhbmlj KCJVbmFibGUgdG8gc2V0IGV2dGNobiB1cGNhbGwgdmVjdG9yOiAlZCIsIHJjKTsKLQotICAgIGlm ICggY2xlYXIgKQotICAgIHsKLSAgICAgICAgLyoKLSAgICAgICAgICogQ2xlYXIgYW55IHBlbmRp bmcgdXBjYWxsIGJpdHMuIFRoaXMgbWFrZXMgdXMgZWZmZWN0aXZlbHkgaWdub3JlIGFueQotICAg ICAgICAgKiBwcmV2aW91cyB1cGNhbGxzIHdoaWNoIG1pZ2h0IGJlIHN1Ym9wdGltYWwuCi0gICAg ICAgICAqLwotICAgICAgICB2Y3B1X2luZm8tPmV2dGNobl91cGNhbGxfcGVuZGluZyA9IDA7Ci0g ICAgICAgIHhjaGcoJnZjcHVfaW5mby0+ZXZ0Y2huX3BlbmRpbmdfc2VsLCAwKTsKLQotICAgICAg ICAvKgotICAgICAgICAgKiBldnRjaG5fcGVuZGluZyBjYW4gYmUgY2xlYXJlZCBvbmx5IG9uIHRo ZSBib290IENQVSBiZWNhdXNlIGl0J3MKLSAgICAgICAgICogbG9jYXRlZCBpbiBhIHNoYXJlZCBz dHJ1Y3R1cmUuCi0gICAgICAgICAqLwotICAgICAgICBmb3IgKCBpID0gMDsgaSA8IDg7IGkrKyAp Ci0gICAgICAgICAgICB4Y2hnKCZYRU5fc2hhcmVkX2luZm8tPmV2dGNobl9wZW5kaW5nW2ldLCAw KTsKLSAgICB9Ci19Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCBpbml0X2V2dGNobih2b2lkKQotewot ICAgIHVuc2lnbmVkIGludCBpOwotCi0gICAgYWxsb2NfZGlyZWN0X2FwaWNfdmVjdG9yKCZldnRj aG5fdXBjYWxsX3ZlY3RvciwgeGVuX2V2dGNobl91cGNhbGwpOwotCi0gICAgLyogTWFzayBhbGwg dXBjYWxscyAqLwotICAgIGZvciAoIGkgPSAwOyBpIDwgODsgaSsrICkKLSAgICAgICAgeGNoZygm WEVOX3NoYXJlZF9pbmZvLT5ldnRjaG5fbWFza1tpXSwgfjB1bCk7Ci0KLSAgICBhcF9zZXR1cF9l dmVudF9jaGFubmVscyh0cnVlKTsKIH0KIAogc3RhdGljIHZvaWQgX19pbml0IGluaXRfbWVtbWFw KHZvaWQpCkBAIC0yMTUsNyArMTgyLDcgQEAgdm9pZCBfX2luaXQgaHlwZXJ2aXNvcl9zZXR1cCh2 b2lkKQogdm9pZCBoeXBlcnZpc29yX2FwX3NldHVwKHZvaWQpCiB7CiAgICAgc2V0X3ZjcHVfaWQo KTsKLSAgICBhcF9zZXR1cF9ldmVudF9jaGFubmVscyhmYWxzZSk7CisgICAgaW5pdF9ldnRjaG4o KTsKIH0KIAogaW50IGh5cGVydmlzb3JfYWxsb2NfdW51c2VkX3BhZ2UobWZuX3QgKm1mbikKLS0g CjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0 dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=