From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v4 14/27] x86: move do_iret to pv/iret.c Date: Thu, 8 Jun 2017 18:11:50 +0100 Message-ID: <20170608171203.20416-15-wei.liu2@citrix.com> References: <20170608171203.20416-1-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dJ12u-00061s-BV for xen-devel@lists.xenproject.org; Thu, 08 Jun 2017 17:16:32 +0000 In-Reply-To: <20170608171203.20416-1-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Wei Liu , Jan Beulich List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tClRoZXJlIGlz IG5vIGNvcHlyaWdodCBoZWFkZXIgaW4gdGhlIG9yaWdpbmFsIGZpbGUuIFVzZSB0aGUgZGVmYXVs dApvbmU/Ci0tLQogeGVuL2FyY2gveDg2L3B2L01ha2VmaWxlICAgIHwgIDEgKwogeGVuL2FyY2gv eDg2L3B2L2lyZXQuYyAgICAgIHwgNzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCiB4ZW4vYXJjaC94ODYveDg2XzY0L3RyYXBzLmMgfCA1NiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA3MyBpbnNlcnRpb25z KCspLCA1NiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vYXJjaC94ODYvcHYv aXJldC5jCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L01ha2VmaWxlIGIveGVuL2FyY2gv eDg2L3B2L01ha2VmaWxlCmluZGV4IDkzOWVhNjBiZWEuLjdlM2RhMzMyZDggMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9wdi9NYWtlZmlsZQorKysgYi94ZW4vYXJjaC94ODYvcHYvTWFrZWZpbGUK QEAgLTgsNCArOCw1IEBAIG9iai15ICs9IGVtdWwtZ2F0ZS1vcC5vCiBvYmoteSArPSBlbXVsLWlu di1vcC5vCiBvYmoteSArPSBlbXVsLXByaXYtb3Aubwogb2JqLWJpbi15ICs9IGdwcl9zd2l0Y2gu bworb2JqLXkgKz0gaXJldC5vCiBvYmoteSArPSBtaXNjLWh5cGVyY2FsbHMubwpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L3B2L2lyZXQuYyBiL3hlbi9hcmNoL3g4Ni9wdi9pcmV0LmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMzU4YWU3Y2YwOAotLS0gL2Rldi9udWxs CisrKyBiL3hlbi9hcmNoL3g4Ni9wdi9pcmV0LmMKQEAgLTAsMCArMSw3MiBAQAorI2luY2x1ZGUg PHhlbi9ndWVzdF9hY2Nlc3MuaD4KKyNpbmNsdWRlIDx4ZW4vbGliLmg+CisjaW5jbHVkZSA8eGVu L3NjaGVkLmg+CisKKyNpbmNsdWRlIDxhc20vY3VycmVudC5oPgorI2luY2x1ZGUgPGFzbS90cmFw cy5oPgorCit1bnNpZ25lZCBsb25nIGRvX2lyZXQodm9pZCkKK3sKKyAgICBzdHJ1Y3QgY3B1X3Vz ZXJfcmVncyAqcmVncyA9IGd1ZXN0X2NwdV91c2VyX3JlZ3MoKTsKKyAgICBzdHJ1Y3QgaXJldF9j b250ZXh0IGlyZXRfc2F2ZWQ7CisgICAgc3RydWN0IHZjcHUgKnYgPSBjdXJyZW50OworCisgICAg aWYgKCB1bmxpa2VseShjb3B5X2Zyb21fdXNlcigmaXJldF9zYXZlZCwgKHZvaWQgKilyZWdzLT5y c3AsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoaXJldF9zYXZlZCkp KSApCisgICAgeworICAgICAgICBncHJpbnRrKFhFTkxPR19FUlIsCisgICAgICAgICAgICAgICAg IkZhdWx0IHdoaWxlIHJlYWRpbmcgSVJFVCBjb250ZXh0IGZyb20gZ3Vlc3Qgc3RhY2tcbiIpOwor ICAgICAgICBnb3RvIGV4aXRfYW5kX2NyYXNoOworICAgIH0KKworICAgIC8qIFJldHVybmluZyB0 byB1c2VyIG1vZGU/ICovCisgICAgaWYgKCAoaXJldF9zYXZlZC5jcyAmIDMpID09IDMgKQorICAg IHsKKyAgICAgICAgaWYgKCB1bmxpa2VseShwYWdldGFibGVfaXNfbnVsbCh2LT5hcmNoLmd1ZXN0 X3RhYmxlX3VzZXIpKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGdwcmludGsoWEVOTE9HX0VS UiwKKyAgICAgICAgICAgICAgICAgICAgIkd1ZXN0IHN3aXRjaGluZyB0byB1c2VyIG1vZGUgd2l0 aCBubyB1c2VyIHBhZ2UgdGFibGVzXG4iKTsKKyAgICAgICAgICAgIGdvdG8gZXhpdF9hbmRfY3Jh c2g7CisgICAgICAgIH0KKyAgICAgICAgdG9nZ2xlX2d1ZXN0X21vZGUodik7CisgICAgfQorCisg ICAgaWYgKCBWTV9BU1NJU1Qodi0+ZG9tYWluLCBhcmNoaXRlY3R1cmFsX2lvcGwpICkKKyAgICAg ICAgdi0+YXJjaC5wdl92Y3B1LmlvcGwgPSBpcmV0X3NhdmVkLnJmbGFncyAmIFg4Nl9FRkxBR1Nf SU9QTDsKKworICAgIHJlZ3MtPnJpcCAgICA9IGlyZXRfc2F2ZWQucmlwOworICAgIHJlZ3MtPmNz ICAgICA9IGlyZXRfc2F2ZWQuY3MgfCAzOyAvKiBmb3JjZSBndWVzdCBwcml2aWxlZ2UgKi8KKyAg ICByZWdzLT5yZmxhZ3MgPSAoKGlyZXRfc2F2ZWQucmZsYWdzICYgfihYODZfRUZMQUdTX0lPUEx8 WDg2X0VGTEFHU19WTSkpCisgICAgICAgICAgICAgICAgICAgIHwgWDg2X0VGTEFHU19JRik7Cisg ICAgcmVncy0+cnNwICAgID0gaXJldF9zYXZlZC5yc3A7CisgICAgcmVncy0+c3MgICAgID0gaXJl dF9zYXZlZC5zcyB8IDM7IC8qIGZvcmNlIGd1ZXN0IHByaXZpbGVnZSAqLworCisgICAgaWYgKCAh KGlyZXRfc2F2ZWQuZmxhZ3MgJiBWR0NGX2luX3N5c2NhbGwpICkKKyAgICB7CisgICAgICAgIHJl Z3MtPmVudHJ5X3ZlY3RvciAmPSB+VFJBUF9zeXNjYWxsOworICAgICAgICByZWdzLT5yMTEgPSBp cmV0X3NhdmVkLnIxMTsKKyAgICAgICAgcmVncy0+cmN4ID0gaXJldF9zYXZlZC5yY3g7CisgICAg fQorCisgICAgLyogUmVzdG9yZSB1cGNhbGwgbWFzayBmcm9tIHN1cHBsaWVkIEVGTEFHUy5JRi4g Ki8KKyAgICB2Y3B1X2luZm8odiwgZXZ0Y2huX3VwY2FsbF9tYXNrKSA9ICEoaXJldF9zYXZlZC5y ZmxhZ3MgJiBYODZfRUZMQUdTX0lGKTsKKworICAgIGFzeW5jX2V4Y2VwdGlvbl9jbGVhbnVwKHYp OworCisgICAgLyogU2F2ZWQgJXJheCBnZXRzIHdyaXR0ZW4gYmFjayB0byByZWdzLT5yYXggaW4g ZW50cnkuUy4gKi8KKyAgICByZXR1cm4gaXJldF9zYXZlZC5yYXg7CisKKyBleGl0X2FuZF9jcmFz aDoKKyAgICBkb21haW5fY3Jhc2godi0+ZG9tYWluKTsKKyAgICByZXR1cm4gMDsKK30KKworLyoK KyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIK KyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6IDQKKyAqIGluZGVudC10YWJzLW1v ZGU6IG5pbAorICogRW5kOgorICovCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2XzY0L3Ry YXBzLmMgYi94ZW4vYXJjaC94ODYveDg2XzY0L3RyYXBzLmMKaW5kZXggMzZiNjk0YzYwNS4uNDY0 MWJjNmQwNiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3g4Nl82NC90cmFwcy5jCisrKyBiL3hl bi9hcmNoL3g4Ni94ODZfNjQvdHJhcHMuYwpAQCAtMjU0LDYyICsyNTQsNiBAQCB2b2lkIGRvX2Rv dWJsZV9mYXVsdChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICBwYW5pYygiRE9VQkxF IEZBVUxUIC0tIHN5c3RlbSBzaHV0ZG93biIpOwogfQogCi11bnNpZ25lZCBsb25nIGRvX2lyZXQo dm9pZCkKLXsKLSAgICBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyA9IGd1ZXN0X2NwdV91c2Vy X3JlZ3MoKTsKLSAgICBzdHJ1Y3QgaXJldF9jb250ZXh0IGlyZXRfc2F2ZWQ7Ci0gICAgc3RydWN0 IHZjcHUgKnYgPSBjdXJyZW50OwotCi0gICAgaWYgKCB1bmxpa2VseShjb3B5X2Zyb21fdXNlcigm aXJldF9zYXZlZCwgKHZvaWQgKilyZWdzLT5yc3AsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzaXplb2YoaXJldF9zYXZlZCkpKSApCi0gICAgewotICAgICAgICBncHJpbnRrKFhF TkxPR19FUlIsCi0gICAgICAgICAgICAgICAgIkZhdWx0IHdoaWxlIHJlYWRpbmcgSVJFVCBjb250 ZXh0IGZyb20gZ3Vlc3Qgc3RhY2tcbiIpOwotICAgICAgICBnb3RvIGV4aXRfYW5kX2NyYXNoOwot ICAgIH0KLQotICAgIC8qIFJldHVybmluZyB0byB1c2VyIG1vZGU/ICovCi0gICAgaWYgKCAoaXJl dF9zYXZlZC5jcyAmIDMpID09IDMgKQotICAgIHsKLSAgICAgICAgaWYgKCB1bmxpa2VseShwYWdl dGFibGVfaXNfbnVsbCh2LT5hcmNoLmd1ZXN0X3RhYmxlX3VzZXIpKSApCi0gICAgICAgIHsKLSAg ICAgICAgICAgIGdwcmludGsoWEVOTE9HX0VSUiwKLSAgICAgICAgICAgICAgICAgICAgIkd1ZXN0 IHN3aXRjaGluZyB0byB1c2VyIG1vZGUgd2l0aCBubyB1c2VyIHBhZ2UgdGFibGVzXG4iKTsKLSAg ICAgICAgICAgIGdvdG8gZXhpdF9hbmRfY3Jhc2g7Ci0gICAgICAgIH0KLSAgICAgICAgdG9nZ2xl X2d1ZXN0X21vZGUodik7Ci0gICAgfQotCi0gICAgaWYgKCBWTV9BU1NJU1Qodi0+ZG9tYWluLCBh cmNoaXRlY3R1cmFsX2lvcGwpICkKLSAgICAgICAgdi0+YXJjaC5wdl92Y3B1LmlvcGwgPSBpcmV0 X3NhdmVkLnJmbGFncyAmIFg4Nl9FRkxBR1NfSU9QTDsKLQotICAgIHJlZ3MtPnJpcCAgICA9IGly ZXRfc2F2ZWQucmlwOwotICAgIHJlZ3MtPmNzICAgICA9IGlyZXRfc2F2ZWQuY3MgfCAzOyAvKiBm b3JjZSBndWVzdCBwcml2aWxlZ2UgKi8KLSAgICByZWdzLT5yZmxhZ3MgPSAoKGlyZXRfc2F2ZWQu cmZsYWdzICYgfihYODZfRUZMQUdTX0lPUEx8WDg2X0VGTEFHU19WTSkpCi0gICAgICAgICAgICAg ICAgICAgIHwgWDg2X0VGTEFHU19JRik7Ci0gICAgcmVncy0+cnNwICAgID0gaXJldF9zYXZlZC5y c3A7Ci0gICAgcmVncy0+c3MgICAgID0gaXJldF9zYXZlZC5zcyB8IDM7IC8qIGZvcmNlIGd1ZXN0 IHByaXZpbGVnZSAqLwotCi0gICAgaWYgKCAhKGlyZXRfc2F2ZWQuZmxhZ3MgJiBWR0NGX2luX3N5 c2NhbGwpICkKLSAgICB7Ci0gICAgICAgIHJlZ3MtPmVudHJ5X3ZlY3RvciAmPSB+VFJBUF9zeXNj YWxsOwotICAgICAgICByZWdzLT5yMTEgPSBpcmV0X3NhdmVkLnIxMTsKLSAgICAgICAgcmVncy0+ cmN4ID0gaXJldF9zYXZlZC5yY3g7Ci0gICAgfQotCi0gICAgLyogUmVzdG9yZSB1cGNhbGwgbWFz ayBmcm9tIHN1cHBsaWVkIEVGTEFHUy5JRi4gKi8KLSAgICB2Y3B1X2luZm8odiwgZXZ0Y2huX3Vw Y2FsbF9tYXNrKSA9ICEoaXJldF9zYXZlZC5yZmxhZ3MgJiBYODZfRUZMQUdTX0lGKTsKLQotICAg IGFzeW5jX2V4Y2VwdGlvbl9jbGVhbnVwKHYpOwotCi0gICAgLyogU2F2ZWQgJXJheCBnZXRzIHdy aXR0ZW4gYmFjayB0byByZWdzLT5yYXggaW4gZW50cnkuUy4gKi8KLSAgICByZXR1cm4gaXJldF9z YXZlZC5yYXg7Ci0KLSBleGl0X2FuZF9jcmFzaDoKLSAgICBkb21haW5fY3Jhc2godi0+ZG9tYWlu KTsKLSAgICByZXR1cm4gMDsKLX0KLQogc3RhdGljIHVuc2lnbmVkIGludCB3cml0ZV9zdHViX3Ry YW1wb2xpbmUoCiAgICAgdW5zaWduZWQgY2hhciAqc3R1YiwgdW5zaWduZWQgbG9uZyBzdHViX3Zh LAogICAgIHVuc2lnbmVkIGxvbmcgc3RhY2tfYm90dG9tLCB1bnNpZ25lZCBsb25nIHRhcmdldF92 YSkKLS0gCjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=