From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH for-next v2 05/10] x86/domain: factor out pv_vcpu_initialise Date: Tue, 25 Apr 2017 14:52:06 +0100 Message-ID: <20170425135211.4696-6-wei.liu2@citrix.com> References: <20170425135211.4696-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 1d30t9-0007Fb-2f for xen-devel@lists.xenproject.org; Tue, 25 Apr 2017 13:52:19 +0000 In-Reply-To: <20170425135211.4696-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 TW92ZSBQViBzcGVjaWZpYyB2Y3B1IGluaXRpYWxpc2F0aW9uIGNvZGUgdG8gc2FpZCBmdW5jdGlv biwgYnV0IGxlYXZlCnRoZSBvbmx5IGxpbmUgbmVlZGVkIGJ5IGlkbGUgZG9tYWluIGluIHZjcHVf aW5pdGlhbGlzZS4KClVzZSBwdl92Y3B1X2Rlc3Ryb3kgaW4gZXJyb3IgcGF0aCB0byBzaW1wbGlm eSBjb2RlLiBJdCBpcyBzYWZlIHRvIGRvIHNvCmJlY2F1c2UgdGhlIGRlc3RydWN0aW9uIGZ1bmN0 aW9uIGFjY2VwdHMgcGFydGlhbGx5IGluaXRpYWxpc2VkIHZjcHUKc3RydWN0LgoKU2lnbmVkLW9m Zi1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCkNjOiBKYW4gQmV1bGljaCA8 amJldWxpY2hAc3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy aXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9kb21haW4uYyB8IDk5ICsrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUwIGlu c2VydGlvbnMoKyksIDQ5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9k b21haW4uYyBiL3hlbi9hcmNoL3g4Ni9kb21haW4uYwppbmRleCBjZGUwOTE3ZjViLi4zOGZjNGY1 ZDhiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2 L2RvbWFpbi5jCkBAIC0zOTgsNiArMzk4LDUwIEBAIHN0YXRpYyB2b2lkIHB2X2Rlc3Ryb3lfZ2R0 X2xkdF9sMXRhYihzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgdmNwdSAqdikKICAgICBkZXN0cm95 X3BlcmRvbWFpbl9tYXBwaW5nKGQsIEdEVF9WSVJUX1NUQVJUKHYpLCAxIDw8IEdEVF9MRFRfVkNQ VV9TSElGVCk7CiB9CiAKK3N0YXRpYyB2b2lkIHB2X3ZjcHVfZGVzdHJveShzdHJ1Y3QgdmNwdSAq dik7CitzdGF0aWMgaW50IHB2X3ZjcHVfaW5pdGlhbGlzZShzdHJ1Y3QgdmNwdSAqdikKK3sKKyAg ICBzdHJ1Y3QgZG9tYWluICpkID0gdi0+ZG9tYWluOworICAgIGludCByYzsKKworICAgIEFTU0VS VCghaXNfaWRsZV9kb21haW4oZCkpOworCisgICAgc3Bpbl9sb2NrX2luaXQoJnYtPmFyY2gucHZf dmNwdS5zaGFkb3dfbGR0X2xvY2spOworCisgICAgcmMgPSBwdl9jcmVhdGVfZ2R0X2xkdF9sMXRh YihkLCB2KTsKKyAgICBpZiAoIHJjICkKKyAgICAgICAgZ290byBkb25lOworCisgICAgQlVJTERf QlVHX09OKE5SX1ZFQ1RPUlMgKiBzaXplb2YoKnYtPmFyY2gucHZfdmNwdS50cmFwX2N0eHQpID4K KyAgICAgICAgICAgICAgICAgUEFHRV9TSVpFKTsKKyAgICB2LT5hcmNoLnB2X3ZjcHUudHJhcF9j dHh0ID0geHphbGxvY19hcnJheShzdHJ1Y3QgdHJhcF9pbmZvLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5SX1ZFQ1RPUlMpOworICAgIGlmICggIXYtPmFy Y2gucHZfdmNwdS50cmFwX2N0eHQgKQorICAgIHsKKyAgICAgICAgcmMgPSAtRU5PTUVNOworICAg ICAgICBnb3RvIGRvbmU7CisgICAgfQorCisgICAgLyogUFYgZ3Vlc3RzIGJ5IGRlZmF1bHQgaGF2 ZSBhIDEwMEh6IHRpY2tlci4gKi8KKyAgICB2LT5wZXJpb2RpY19wZXJpb2QgPSBNSUxMSVNFQ1Mo MTApOworCisgICAgdi0+YXJjaC5wdl92Y3B1LmN0cmxyZWdbNF0gPSByZWFsX2NyNF90b19wdl9n dWVzdF9jcjQobW11X2NyNF9mZWF0dXJlcyk7CisKKyAgICBpZiAoIGlzX3B2XzMyYml0X2RvbWFp bihkKSApCisgICAgeworICAgICAgICBpZiAoIChyYyA9IHNldHVwX2NvbXBhdF9hcmdfeGxhdCh2 KSkgKQorICAgICAgICAgICAgZ290byBkb25lOworCisgICAgICAgIGlmICggKHJjID0gc2V0dXBf Y29tcGF0X2w0KHYpKSApCisgICAgICAgICAgICBnb3RvIGRvbmU7CisgICAgfQorCisgZG9uZToK KyAgICBpZiAoIHJjICkKKyAgICAgICAgcHZfdmNwdV9kZXN0cm95KHYpOworICAgIHJldHVybiBy YzsKK30KKwogaW50IHZjcHVfaW5pdGlhbGlzZShzdHJ1Y3QgdmNwdSAqdikKIHsKICAgICBzdHJ1 Y3QgZG9tYWluICpkID0gdi0+ZG9tYWluOwpAQCAtNDI0LDYxICs0NjgsMTggQEAgaW50IHZjcHVf aW5pdGlhbGlzZShzdHJ1Y3QgdmNwdSAqdikKICAgICBzcGluX2xvY2tfaW5pdCgmdi0+YXJjaC52 cG11LnZwbXVfbG9jayk7CiAKICAgICBpZiAoIGlzX2h2bV9kb21haW4oZCkgKQotICAgIHsKICAg ICAgICAgcmMgPSBodm1fdmNwdV9pbml0aWFsaXNlKHYpOwotICAgICAgICBnb3RvIGRvbmU7Ci0g ICAgfQotCi0KLSAgICBzcGluX2xvY2tfaW5pdCgmdi0+YXJjaC5wdl92Y3B1LnNoYWRvd19sZHRf bG9jayk7Ci0KLSAgICBpZiAoICFpc19pZGxlX2RvbWFpbihkKSApCi0gICAgewotICAgICAgICBy YyA9IHB2X2NyZWF0ZV9nZHRfbGR0X2wxdGFiKGQsIHYpOwotICAgICAgICBpZiAoIHJjICkKLSAg ICAgICAgICAgIGdvdG8gZG9uZTsKLQotICAgICAgICBCVUlMRF9CVUdfT04oTlJfVkVDVE9SUyAq IHNpemVvZigqdi0+YXJjaC5wdl92Y3B1LnRyYXBfY3R4dCkgPgotICAgICAgICAgICAgICAgICAg ICAgUEFHRV9TSVpFKTsKLSAgICAgICAgdi0+YXJjaC5wdl92Y3B1LnRyYXBfY3R4dCA9IHh6YWxs b2NfYXJyYXkoc3RydWN0IHRyYXBfaW5mbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTlJfVkVDVE9SUyk7Ci0gICAgICAgIGlmICggIXYtPmFyY2gu cHZfdmNwdS50cmFwX2N0eHQgKQotICAgICAgICB7Ci0gICAgICAgICAgICBwdl9kZXN0cm95X2dk dF9sZHRfbDF0YWIoZCwgdik7Ci0gICAgICAgICAgICByYyA9IC1FTk9NRU07Ci0gICAgICAgICAg ICBnb3RvIGRvbmU7Ci0gICAgICAgIH0KLQotICAgICAgICAvKiBQViBndWVzdHMgYnkgZGVmYXVs dCBoYXZlIGEgMTAwSHogdGlja2VyLiAqLwotICAgICAgICB2LT5wZXJpb2RpY19wZXJpb2QgPSBN SUxMSVNFQ1MoMTApOwotICAgIH0KKyAgICBlbHNlIGlmICggaXNfcHZfZG9tYWluKGQpICYmICFp c19pZGxlX2RvbWFpbihkKSApCisgICAgICAgIHJjID0gcHZfdmNwdV9pbml0aWFsaXNlKHYpOwog ICAgIGVsc2UKLSAgICAgICAgdi0+YXJjaC5jcjMgPSBfX3BhKGlkbGVfcGdfdGFibGUpOwotCi0g ICAgdi0+YXJjaC5wdl92Y3B1LmN0cmxyZWdbNF0gPSByZWFsX2NyNF90b19wdl9ndWVzdF9jcjQo bW11X2NyNF9mZWF0dXJlcyk7Ci0KLSAgICBpZiAoIGlzX3B2XzMyYml0X2RvbWFpbihkKSApCiAg ICAgewotICAgICAgICBpZiAoIChyYyA9IHNldHVwX2NvbXBhdF9hcmdfeGxhdCh2KSkgKQotICAg ICAgICAgICAgZ290byBkb25lOwotCi0gICAgICAgIGlmICggKHJjID0gc2V0dXBfY29tcGF0X2w0 KHYpKSApCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZyZWVfY29tcGF0X2FyZ194bGF0KHYpOwot ICAgICAgICAgICAgZ290byBkb25lOwotICAgICAgICB9CisgICAgICAgIC8qIElkbGUgZG9tYWlu ICovCisgICAgICAgIHYtPmFyY2guY3IzID0gX19wYShpZGxlX3BnX3RhYmxlKTsKKyAgICAgICAg cmMgPSAwOwogICAgIH0KLSBkb25lOgorCiAgICAgaWYgKCByYyApCi0gICAgewogICAgICAgICB2 Y3B1X2Rlc3Ryb3lfZnB1KHYpOwotCi0gICAgICAgIGlmICggaXNfcHZfZG9tYWluKGQpICkKLSAg ICAgICAgewotICAgICAgICAgICAgcHZfZGVzdHJveV9nZHRfbGR0X2wxdGFiKGQsIHYpOwotICAg ICAgICAgICAgeGZyZWUodi0+YXJjaC5wdl92Y3B1LnRyYXBfY3R4dCk7Ci0gICAgICAgIH0KLSAg ICB9CiAgICAgZWxzZSBpZiAoICFpc19pZGxlX2RvbWFpbih2LT5kb21haW4pICkKICAgICAgICAg dnBtdV9pbml0aWFsaXNlKHYpOwogCi0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK