From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH for-next v3 14/22] x86/traps: move do_iret to pv/traps.c Date: Thu, 18 May 2017 18:09:56 +0100 Message-ID: <20170518171004.27204-15-wei.liu2@citrix.com> References: <20170518171004.27204-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dBP2O-0004Df-05 for xen-devel@lists.xenproject.org; Thu, 18 May 2017 17:16:32 +0000 In-Reply-To: <20170518171004.27204-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 Tm8gZnVuY3Rpb25hbCBjaGFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBj aXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9wdi90cmFwcy5jICAgICB8IDU2ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gveDg2L3g4Nl82 NC90cmFwcy5jIHwgNTYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiAyIGZpbGVzIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDU2IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wdi90cmFwcy5jIGIveGVuL2FyY2gveDg2L3B2L3Ry YXBzLmMKaW5kZXggNWI4NGE2MTdlNi4uYjY5OTkwYzZiNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L3B2L3RyYXBzLmMKKysrIGIveGVuL2FyY2gveDg2L3B2L3RyYXBzLmMKQEAgLTM2Miw2ICsz NjIsNjIgQEAgdm9pZCB0b2dnbGVfZ3Vlc3RfbW9kZShzdHJ1Y3QgdmNwdSAqdikKICAgICAgICAg di0+YXJjaC5wdl92Y3B1LnBlbmRpbmdfc3lzdGVtX3RpbWUudmVyc2lvbiA9IDA7CiB9CiAKK3Vu c2lnbmVkIGxvbmcgZG9faXJldCh2b2lkKQoreworICAgIHN0cnVjdCBjcHVfdXNlcl9yZWdzICpy ZWdzID0gZ3Vlc3RfY3B1X3VzZXJfcmVncygpOworICAgIHN0cnVjdCBpcmV0X2NvbnRleHQgaXJl dF9zYXZlZDsKKyAgICBzdHJ1Y3QgdmNwdSAqdiA9IGN1cnJlbnQ7CisKKyAgICBpZiAoIHVubGlr ZWx5KGNvcHlfZnJvbV91c2VyKCZpcmV0X3NhdmVkLCAodm9pZCAqKXJlZ3MtPnJzcCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihpcmV0X3NhdmVkKSkpICkKKyAgICB7 CisgICAgICAgIGdwcmludGsoWEVOTE9HX0VSUiwKKyAgICAgICAgICAgICAgICAiRmF1bHQgd2hp bGUgcmVhZGluZyBJUkVUIGNvbnRleHQgZnJvbSBndWVzdCBzdGFja1xuIik7CisgICAgICAgIGdv dG8gZXhpdF9hbmRfY3Jhc2g7CisgICAgfQorCisgICAgLyogUmV0dXJuaW5nIHRvIHVzZXIgbW9k ZT8gKi8KKyAgICBpZiAoIChpcmV0X3NhdmVkLmNzICYgMykgPT0gMyApCisgICAgeworICAgICAg ICBpZiAoIHVubGlrZWx5KHBhZ2V0YWJsZV9pc19udWxsKHYtPmFyY2guZ3Vlc3RfdGFibGVfdXNl cikpICkKKyAgICAgICAgeworICAgICAgICAgICAgZ3ByaW50ayhYRU5MT0dfRVJSLAorICAgICAg ICAgICAgICAgICAgICAiR3Vlc3Qgc3dpdGNoaW5nIHRvIHVzZXIgbW9kZSB3aXRoIG5vIHVzZXIg cGFnZSB0YWJsZXNcbiIpOworICAgICAgICAgICAgZ290byBleGl0X2FuZF9jcmFzaDsKKyAgICAg ICAgfQorICAgICAgICB0b2dnbGVfZ3Vlc3RfbW9kZSh2KTsKKyAgICB9CisKKyAgICBpZiAoIFZN X0FTU0lTVCh2LT5kb21haW4sIGFyY2hpdGVjdHVyYWxfaW9wbCkgKQorICAgICAgICB2LT5hcmNo LnB2X3ZjcHUuaW9wbCA9IGlyZXRfc2F2ZWQucmZsYWdzICYgWDg2X0VGTEFHU19JT1BMOworCisg ICAgcmVncy0+cmlwICAgID0gaXJldF9zYXZlZC5yaXA7CisgICAgcmVncy0+Y3MgICAgID0gaXJl dF9zYXZlZC5jcyB8IDM7IC8qIGZvcmNlIGd1ZXN0IHByaXZpbGVnZSAqLworICAgIHJlZ3MtPnJm bGFncyA9ICgoaXJldF9zYXZlZC5yZmxhZ3MgJiB+KFg4Nl9FRkxBR1NfSU9QTHxYODZfRUZMQUdT X1ZNKSkKKyAgICAgICAgICAgICAgICAgICAgfCBYODZfRUZMQUdTX0lGKTsKKyAgICByZWdzLT5y c3AgICAgPSBpcmV0X3NhdmVkLnJzcDsKKyAgICByZWdzLT5zcyAgICAgPSBpcmV0X3NhdmVkLnNz IHwgMzsgLyogZm9yY2UgZ3Vlc3QgcHJpdmlsZWdlICovCisKKyAgICBpZiAoICEoaXJldF9zYXZl ZC5mbGFncyAmIFZHQ0ZfaW5fc3lzY2FsbCkgKQorICAgIHsKKyAgICAgICAgcmVncy0+ZW50cnlf dmVjdG9yICY9IH5UUkFQX3N5c2NhbGw7CisgICAgICAgIHJlZ3MtPnIxMSA9IGlyZXRfc2F2ZWQu cjExOworICAgICAgICByZWdzLT5yY3ggPSBpcmV0X3NhdmVkLnJjeDsKKyAgICB9CisKKyAgICAv KiBSZXN0b3JlIHVwY2FsbCBtYXNrIGZyb20gc3VwcGxpZWQgRUZMQUdTLklGLiAqLworICAgIHZj cHVfaW5mbyh2LCBldnRjaG5fdXBjYWxsX21hc2spID0gIShpcmV0X3NhdmVkLnJmbGFncyAmIFg4 Nl9FRkxBR1NfSUYpOworCisgICAgYXN5bmNfZXhjZXB0aW9uX2NsZWFudXAodik7CisKKyAgICAv KiBTYXZlZCAlcmF4IGdldHMgd3JpdHRlbiBiYWNrIHRvIHJlZ3MtPnJheCBpbiBlbnRyeS5TLiAq LworICAgIHJldHVybiBpcmV0X3NhdmVkLnJheDsKKworIGV4aXRfYW5kX2NyYXNoOgorICAgIGRv bWFpbl9jcmFzaCh2LT5kb21haW4pOworICAgIHJldHVybiAwOworfQorCiAvKgogICogTG9jYWwg dmFyaWFibGVzOgogICogbW9kZTogQwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3g4Nl82NC90 cmFwcy5jIGIveGVuL2FyY2gveDg2L3g4Nl82NC90cmFwcy5jCmluZGV4IDM2YjY5NGM2MDUuLjQ2 NDFiYzZkMDYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvdHJhcHMuYworKysgYi94 ZW4vYXJjaC94ODYveDg2XzY0L3RyYXBzLmMKQEAgLTI1NCw2MiArMjU0LDYgQEAgdm9pZCBkb19k b3VibGVfZmF1bHQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgcGFuaWMoIkRPVUJM RSBGQVVMVCAtLSBzeXN0ZW0gc2h1dGRvd24iKTsKIH0KIAotdW5zaWduZWQgbG9uZyBkb19pcmV0 KHZvaWQpCi17Ci0gICAgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MgPSBndWVzdF9jcHVfdXNl cl9yZWdzKCk7Ci0gICAgc3RydWN0IGlyZXRfY29udGV4dCBpcmV0X3NhdmVkOwotICAgIHN0cnVj dCB2Y3B1ICp2ID0gY3VycmVudDsKLQotICAgIGlmICggdW5saWtlbHkoY29weV9mcm9tX3VzZXIo JmlyZXRfc2F2ZWQsICh2b2lkICopcmVncy0+cnNwLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2l6ZW9mKGlyZXRfc2F2ZWQpKSkgKQotICAgIHsKLSAgICAgICAgZ3ByaW50ayhY RU5MT0dfRVJSLAotICAgICAgICAgICAgICAgICJGYXVsdCB3aGlsZSByZWFkaW5nIElSRVQgY29u dGV4dCBmcm9tIGd1ZXN0IHN0YWNrXG4iKTsKLSAgICAgICAgZ290byBleGl0X2FuZF9jcmFzaDsK LSAgICB9Ci0KLSAgICAvKiBSZXR1cm5pbmcgdG8gdXNlciBtb2RlPyAqLwotICAgIGlmICggKGly ZXRfc2F2ZWQuY3MgJiAzKSA9PSAzICkKLSAgICB7Ci0gICAgICAgIGlmICggdW5saWtlbHkocGFn ZXRhYmxlX2lzX251bGwodi0+YXJjaC5ndWVzdF90YWJsZV91c2VyKSkgKQotICAgICAgICB7Ci0g ICAgICAgICAgICBncHJpbnRrKFhFTkxPR19FUlIsCi0gICAgICAgICAgICAgICAgICAgICJHdWVz dCBzd2l0Y2hpbmcgdG8gdXNlciBtb2RlIHdpdGggbm8gdXNlciBwYWdlIHRhYmxlc1xuIik7Ci0g ICAgICAgICAgICBnb3RvIGV4aXRfYW5kX2NyYXNoOwotICAgICAgICB9Ci0gICAgICAgIHRvZ2ds ZV9ndWVzdF9tb2RlKHYpOwotICAgIH0KLQotICAgIGlmICggVk1fQVNTSVNUKHYtPmRvbWFpbiwg YXJjaGl0ZWN0dXJhbF9pb3BsKSApCi0gICAgICAgIHYtPmFyY2gucHZfdmNwdS5pb3BsID0gaXJl dF9zYXZlZC5yZmxhZ3MgJiBYODZfRUZMQUdTX0lPUEw7Ci0KLSAgICByZWdzLT5yaXAgICAgPSBp cmV0X3NhdmVkLnJpcDsKLSAgICByZWdzLT5jcyAgICAgPSBpcmV0X3NhdmVkLmNzIHwgMzsgLyog Zm9yY2UgZ3Vlc3QgcHJpdmlsZWdlICovCi0gICAgcmVncy0+cmZsYWdzID0gKChpcmV0X3NhdmVk LnJmbGFncyAmIH4oWDg2X0VGTEFHU19JT1BMfFg4Nl9FRkxBR1NfVk0pKQotICAgICAgICAgICAg ICAgICAgICB8IFg4Nl9FRkxBR1NfSUYpOwotICAgIHJlZ3MtPnJzcCAgICA9IGlyZXRfc2F2ZWQu cnNwOwotICAgIHJlZ3MtPnNzICAgICA9IGlyZXRfc2F2ZWQuc3MgfCAzOyAvKiBmb3JjZSBndWVz dCBwcml2aWxlZ2UgKi8KLQotICAgIGlmICggIShpcmV0X3NhdmVkLmZsYWdzICYgVkdDRl9pbl9z eXNjYWxsKSApCi0gICAgewotICAgICAgICByZWdzLT5lbnRyeV92ZWN0b3IgJj0gflRSQVBfc3lz Y2FsbDsKLSAgICAgICAgcmVncy0+cjExID0gaXJldF9zYXZlZC5yMTE7Ci0gICAgICAgIHJlZ3Mt PnJjeCA9IGlyZXRfc2F2ZWQucmN4OwotICAgIH0KLQotICAgIC8qIFJlc3RvcmUgdXBjYWxsIG1h c2sgZnJvbSBzdXBwbGllZCBFRkxBR1MuSUYuICovCi0gICAgdmNwdV9pbmZvKHYsIGV2dGNobl91 cGNhbGxfbWFzaykgPSAhKGlyZXRfc2F2ZWQucmZsYWdzICYgWDg2X0VGTEFHU19JRik7Ci0KLSAg ICBhc3luY19leGNlcHRpb25fY2xlYW51cCh2KTsKLQotICAgIC8qIFNhdmVkICVyYXggZ2V0cyB3 cml0dGVuIGJhY2sgdG8gcmVncy0+cmF4IGluIGVudHJ5LlMuICovCi0gICAgcmV0dXJuIGlyZXRf c2F2ZWQucmF4OwotCi0gZXhpdF9hbmRfY3Jhc2g6Ci0gICAgZG9tYWluX2NyYXNoKHYtPmRvbWFp bik7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyB1bnNpZ25lZCBpbnQgd3JpdGVfc3R1Yl90 cmFtcG9saW5lKAogICAgIHVuc2lnbmVkIGNoYXIgKnN0dWIsIHVuc2lnbmVkIGxvbmcgc3R1Yl92 YSwKICAgICB1bnNpZ25lZCBsb25nIHN0YWNrX2JvdHRvbSwgdW5zaWduZWQgbG9uZyB0YXJnZXRf dmEpCi0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK