From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH RFC v2 09/12] x86: enhance syscall stub to work in per-domain mapping Date: Mon, 22 Jan 2018 13:32:53 +0100 Message-ID: <20180122123256.1431-10-jgross@suse.com> References: <20180122123256.1431-1-jgross@suse.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 1edbHg-0008F7-2b for xen-devel@lists.xenproject.org; Mon, 22 Jan 2018 12:33:08 +0000 In-Reply-To: <20180122123256.1431-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, dfaggioli@suse.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org VXNlIGluZGlyZWN0IGp1bXAgdmlhIHJlZ2lzdGVyIGluIGNhc2UgdGhlIHRhcmdldCBhZGRyZXNz IGlzbid0CnJlYWNoYWJsZSB2aWEgYSAzMiBiaXQgcmVsYXRpdmUganVtcC4KCkFkZCBtYWNyb3Mg Zm9yIHN0dWIgc2l6ZSBhbmQgdXNlIHRob3NlIGluc3RlYWQgb2YgcmV0dXJuaW5nIHRoZSBzaXpl CndoZW4gd3JpdGluZyB0aGUgc3R1YiB0cmFtcG9saW5lIGluIG9yZGVyIHRvIHN1cHBvcnQgZWFz eSBzd2l0Y2hpbmcKYmV0d2VlbiBkaWZmZXJlbnQgc2l6ZWQgc3R1YnMuCgpTaWduZWQtb2ZmLWJ5 OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Ci0tLQogeGVuL2FyY2gveDg2L3g4Nl82 NC90cmFwcy5jICB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L3N5c3RlbS5oIHwgIDcgKysrKysrKwogMiBmaWxlcyBj aGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYveDg2XzY0L3RyYXBzLmMgYi94ZW4vYXJjaC94ODYveDg2XzY0L3RyYXBzLmMK aW5kZXggMzY1MmY1ZmYyMS4uYjQ4MzZmNjIzYyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3g4 Nl82NC90cmFwcy5jCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvdHJhcHMuYwpAQCAtMjYwLDEw ICsyNjAsMTEgQEAgdm9pZCBkb19kb3VibGVfZmF1bHQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJl Z3MpCiAgICAgcGFuaWMoIkRPVUJMRSBGQVVMVCAtLSBzeXN0ZW0gc2h1dGRvd24iKTsKIH0KIAot c3RhdGljIHVuc2lnbmVkIGludCB3cml0ZV9zdHViX3RyYW1wb2xpbmUoCi0gICAgdW5zaWduZWQg Y2hhciAqc3R1YiwgdW5zaWduZWQgbG9uZyBzdHViX3ZhLAotICAgIHVuc2lnbmVkIGxvbmcgc3Rh Y2tfYm90dG9tLCB1bnNpZ25lZCBsb25nIHRhcmdldF92YSkKK3ZvaWQgd3JpdGVfc3R1Yl90cmFt cG9saW5lKHVuc2lnbmVkIGNoYXIgKnN0dWIsIHVuc2lnbmVkIGxvbmcgc3R1Yl92YSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgc3RhY2tfYm90dG9tLCB1bnNpZ25l ZCBsb25nIHRhcmdldF92YSkKIHsKKyAgICBsb25nIHRhcmdldF9kaWZmOworCiAgICAgLyogbW92 YWJzcSAlcmF4LCBzdGFja19ib3R0b20gLSA4ICovCiAgICAgc3R1YlswXSA9IDB4NDg7CiAgICAg c3R1YlsxXSA9IDB4YTM7CkBAIC0yODIsMjQgKzI4MywzMiBAQCBzdGF0aWMgdW5zaWduZWQgaW50 IHdyaXRlX3N0dWJfdHJhbXBvbGluZSgKICAgICAvKiBwdXNocSAlcmF4ICovCiAgICAgc3R1Ylsy M10gPSAweDUwOwogCi0gICAgLyogam1wIHRhcmdldF92YSAqLwotICAgIHN0dWJbMjRdID0gMHhl OTsKLSAgICAqKGludDMyX3QgKikmc3R1YlsyNV0gPSB0YXJnZXRfdmEgLSAoc3R1Yl92YSArIDI5 KTsKLQotICAgIC8qIFJvdW5kIHVwIHRvIGEgbXVsdGlwbGUgb2YgMTYgYnl0ZXMuICovCi0gICAg cmV0dXJuIDMyOworICAgIHRhcmdldF9kaWZmID0gdGFyZ2V0X3ZhIC0gKHN0dWJfdmEgKyAyOSk7 CisgICAgaWYgKCB0YXJnZXRfZGlmZiA+PiAzMSA9PSB0YXJnZXRfZGlmZiA+PiA2MyApCisgICAg eworICAgICAgICAvKiBqbXAgdGFyZ2V0X3ZhICovCisgICAgICAgIHN0dWJbMjRdID0gMHhlOTsK KyAgICAgICAgKihpbnQzMl90ICopJnN0dWJbMjVdID0gdGFyZ2V0X2RpZmY7CisgICAgfQorICAg IGVsc2UKKyAgICB7CisgICAgICAgIC8qIG1vdmFicyB0YXJnZXRfdmEsICVyYXggKi8KKyAgICAg ICAgc3R1YlsyNF0gPSAweDQ4OworICAgICAgICBzdHViWzI1XSA9IDB4Yjg7CisgICAgICAgICoo dWludDY0X3QgKikmc3R1YlsyNl0gPSB0YXJnZXRfdmE7CisgICAgICAgIC8qIGptcHEgKiVyYXgg Ki8KKyAgICAgICAgc3R1YlszNF0gPSAweGZmOworICAgICAgICBzdHViWzM1XSA9IDB4ZTA7Cisg ICAgfQogfQogCiBERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgc3R1YnMsIHN0dWJzKTsKLXZvaWQgbHN0 YXJfZW50ZXIodm9pZCk7Ci12b2lkIGNzdGFyX2VudGVyKHZvaWQpOwogCiB2b2lkIHN1YmFyY2hf cGVyY3B1X3RyYXBzX2luaXQodm9pZCkKIHsKICAgICB1bnNpZ25lZCBsb25nIHN0YWNrX2JvdHRv bSA9IGdldF9zdGFja19ib3R0b20oKTsKICAgICB1bnNpZ25lZCBsb25nIHN0dWJfdmEgPSB0aGlz X2NwdShzdHVicy5hZGRyKTsKICAgICB1bnNpZ25lZCBjaGFyICpzdHViX3BhZ2U7Ci0gICAgdW5z aWduZWQgaW50IG9mZnNldDsKIAogICAgIC8qIElTVF9NQVggSVNUIHBhZ2VzICsgMSBzeXNjYWxs IHBhZ2UgKyAxIGd1YXJkIHBhZ2UgKyBwcmltYXJ5IHN0YWNrLiAqLwogICAgIEJVSUxEX0JVR19P TigoSVNUX01BWCArIDIpICogUEFHRV9TSVpFICsgUFJJTUFSWV9TVEFDS19TSVpFID4gU1RBQ0tf U0laRSk7CkBAIC0zMTIsMTAgKzMyMSw5IEBAIHZvaWQgc3ViYXJjaF9wZXJjcHVfdHJhcHNfaW5p dCh2b2lkKQogICAgICAqIHN0YXJ0IG9mIHRoZSBzdHVicy4KICAgICAgKi8KICAgICB3cm1zcmwo TVNSX0xTVEFSLCBzdHViX3ZhKTsKLSAgICBvZmZzZXQgPSB3cml0ZV9zdHViX3RyYW1wb2xpbmUo c3R1Yl9wYWdlICsgKHN0dWJfdmEgJiB+UEFHRV9NQVNLKSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3R1Yl92YSwgc3RhY2tfYm90dG9tLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZylsc3Rhcl9lbnRlcik7Ci0gICAgc3R1Yl92 YSArPSBvZmZzZXQ7CisgICAgd3JpdGVfc3R1Yl90cmFtcG9saW5lKHN0dWJfcGFnZSArIChzdHVi X3ZhICYgflBBR0VfTUFTSyksIHN0dWJfdmEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 YWNrX2JvdHRvbSwgKHVuc2lnbmVkIGxvbmcpbHN0YXJfZW50ZXIpOworICAgIHN0dWJfdmEgKz0g U1RVQl9UUkFNUE9MSU5FX1NJWkVfUEVSQ1BVOwogCiAgICAgaWYgKCBib290X2NwdV9kYXRhLng4 Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9JTlRFTCB8fAogICAgICAgICAgYm9vdF9jcHVfZGF0YS54 ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQ0VOVEFVUiApCkBAIC0zMjgsMTIgKzMzNiwxMSBAQCB2 b2lkIHN1YmFyY2hfcGVyY3B1X3RyYXBzX2luaXQodm9pZCkKIAogICAgIC8qIFRyYW1wb2xpbmUg Zm9yIFNZU0NBTEwgZW50cnkgZnJvbSBjb21wYXRpYmlsaXR5IG1vZGUuICovCiAgICAgd3Jtc3Js KE1TUl9DU1RBUiwgc3R1Yl92YSk7Ci0gICAgb2Zmc2V0ICs9IHdyaXRlX3N0dWJfdHJhbXBvbGlu ZShzdHViX3BhZ2UgKyAoc3R1Yl92YSAmIH5QQUdFX01BU0spLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3R1Yl92YSwgc3RhY2tfYm90dG9tLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcpY3N0YXJfZW50ZXIpOworICAgIHdy aXRlX3N0dWJfdHJhbXBvbGluZShzdHViX3BhZ2UgKyAoc3R1Yl92YSAmIH5QQUdFX01BU0spLCBz dHViX3ZhLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFja19ib3R0b20sICh1bnNpZ25l ZCBsb25nKWNzdGFyX2VudGVyKTsKIAogICAgIC8qIERvbid0IGNvbnN1bWUgbW9yZSB0aGFuIGhh bGYgb2YgdGhlIHN0dWIgc3BhY2UgaGVyZS4gKi8KLSAgICBBU1NFUlQob2Zmc2V0IDw9IFNUVUJf QlVGX1NJWkUgLyAyKTsKKyAgICBBU1NFUlQoMiAqIFNUVUJfVFJBTVBPTElORV9TSVpFX1BFUkNQ VSA8PSBTVFVCX0JVRl9TSVpFIC8gMik7CiAKICAgICB1bm1hcF9kb21haW5fcGFnZShzdHViX3Bh Z2UpOwogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3N5c3RlbS5oIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9zeXN0ZW0uaAppbmRleCAyY2Y1MGQxZDQ5Li5jNWJhZjdjOTkxIDEwMDY0 NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3N5c3RlbS5oCisrKyBiL3hlbi9pbmNsdWRlL2Fz bS14ODYvc3lzdGVtLmgKQEAgLTIzMSw2ICsyMzEsMTMgQEAgc3RhdGljIGlubGluZSBpbnQgbG9j YWxfaXJxX2lzX2VuYWJsZWQodm9pZCkKIHZvaWQgdHJhcF9pbml0KHZvaWQpOwogdm9pZCBpbml0 X2lkdF90cmFwcyh2b2lkKTsKIHZvaWQgdHNzX2luaXQoc3RydWN0IHRzc19zdHJ1Y3QgKnRzcywg dW5zaWduZWQgbG9uZyBzdGFja19ib3R0b20pOwordm9pZCB3cml0ZV9zdHViX3RyYW1wb2xpbmUo dW5zaWduZWQgY2hhciAqc3R1YiwgdW5zaWduZWQgbG9uZyBzdHViX3ZhLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBzdGFja19ib3R0b20sCisgICAgICAgICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHRhcmdldF92YSk7CisjZGVmaW5lIFNUVUJfVFJB TVBPTElORV9TSVpFX1BFUkNQVSAgIDMyCisjZGVmaW5lIFNUVUJfVFJBTVBPTElORV9TSVpFX1BF UlZDUFUgIDY0Cit2b2lkIGxzdGFyX2VudGVyKHZvaWQpOwordm9pZCBjc3Rhcl9lbnRlcih2b2lk KTsKIHZvaWQgbG9hZF9zeXN0ZW1fdGFibGVzKHZvaWQpOwogdm9pZCBwZXJjcHVfdHJhcHNfaW5p dCh2b2lkKTsKIHZvaWQgc3ViYXJjaF9wZXJjcHVfdHJhcHNfaW5pdCh2b2lkKTsKLS0gCjIuMTMu NgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=