From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH RFC v1 49/74] x86/guest: map per-cpu vcpu_info area. Date: Thu, 4 Jan 2018 13:06:00 +0000 Message-ID: <20180104130625.28605-50-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 all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eX5aS-0005qf-EP for xen-devel@lists.xenproject.org; Thu, 04 Jan 2018 13:29:36 +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 RnJvbTogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KClNvIHRoYXQgdGhl IGxpbWl0IG9mIFhFTl9MRUdBQ1lfTUFYX1ZDUFVTIGNhbiBiZSBsaWZ0ZWQuCgpTaWduZWQtb2Zm LWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KLS0tClNob3VsZCBi ZSBtb3ZlZCBlYXJsaWVyIG1heWJlPwotLS0KIHhlbi9hcmNoL3g4Ni9ndWVzdC94ZW4uYyAgICAg ICAgICAgICAgfCA2MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogeGVuL2Fy Y2gveDg2L3RpbWUuYyAgICAgICAgICAgICAgICAgICB8IDExICsrLS0tLS0KIHhlbi9pbmNsdWRl L2FzbS14ODYvZ3Vlc3QvaHlwZXJjYWxsLmggfCAgNyArKysrCiAzIGZpbGVzIGNoYW5nZWQsIDY5 IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4 Ni9ndWVzdC94ZW4uYyBiL3hlbi9hcmNoL3g4Ni9ndWVzdC94ZW4uYwppbmRleCBhOTVjMzYwMTdm Li4zZmExNjRhYmE4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZ3Vlc3QveGVuLmMKKysrIGIv eGVuL2FyY2gveDg2L2d1ZXN0L3hlbi5jCkBAIC0zOCw2ICszOCwxMCBAQCBzdGF0aWMgc3RydWN0 IHJhbmdlc2V0ICptZW07CiAKIERFRklORV9QRVJfQ1BVKHVuc2lnbmVkIGludCwgdmNwdV9pZCk7 CiAKK3N0YXRpYyBzdHJ1Y3QgdmNwdV9pbmZvICp2Y3B1X2luZm87Cit1bnNpZ25lZCBsb25nIHZj cHVfaW5mb19tYXBwZWRbQklUU19UT19MT05HUyhOUl9DUFVTKV07CitERUZJTkVfUEVSX0NQVShz dHJ1Y3QgdmNwdV9pbmZvICosIHZjcHVfaW5mbyk7CisKIHN0YXRpYyB2b2lkIF9faW5pdCBmaW5k X3hlbl9sZWF2ZXModm9pZCkKIHsKICAgICB1aW50MzJfdCBlYXgsIGVieCwgZWN4LCBlZHgsIGJh c2U7CkBAIC0xMDEsNiArMTA1LDM4IEBAIHN0YXRpYyB2b2lkIG1hcF9zaGFyZWRfaW5mbyh2b2lk KQogICAgICAgICB4Y2hnKCZYRU5fc2hhcmVkX2luZm8tPmV2dGNobl9tYXNrW2ldLCB+MHVsKTsK IH0KIAorc3RhdGljIGludCBtYXBfdmNwdWluZm8odm9pZCkKK3sKKyAgICB1bnNpZ25lZCBpbnQg dmNwdSA9IHRoaXNfY3B1KHZjcHVfaWQpOworICAgIHN0cnVjdCB2Y3B1X3JlZ2lzdGVyX3ZjcHVf aW5mbyBpbmZvID0geyB9OworICAgIGxvbmcgcmM7CisKKyAgICBpZiAoICF2Y3B1X2luZm8gKQor ICAgIHsKKyAgICAgICAgdGhpc19jcHUodmNwdV9pbmZvKSA9ICZYRU5fc2hhcmVkX2luZm8tPnZj cHVfaW5mb1t2Y3B1XTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgaWYgKCB0ZXN0 X2JpdCh2Y3B1LCB2Y3B1X2luZm9fbWFwcGVkKSApCisgICAgeworICAgICAgICB0aGlzX2NwdSh2 Y3B1X2luZm8pID0gJnZjcHVfaW5mb1t2Y3B1XTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQor CisgICAgaW5mby5tZm4gPSB2aXJ0X3RvX21mbigmdmNwdV9pbmZvW3ZjcHVdKTsKKyAgICBpbmZv Lm9mZnNldCA9ICh1bnNpZ25lZCBsb25nKSZ2Y3B1X2luZm9bdmNwdV0gJiB+UEFHRV9NQVNLOwor ICAgIHJjID0geGVuX2h5cGVyY2FsbF92Y3B1X29wKFZDUFVPUF9yZWdpc3Rlcl92Y3B1X2luZm8s IHZjcHUsICZpbmZvKTsKKyAgICBpZiAoIHJjICkKKyAgICAgICAgdGhpc19jcHUodmNwdV9pbmZv KSA9ICZYRU5fc2hhcmVkX2luZm8tPnZjcHVfaW5mb1t2Y3B1XTsKKyAgICBlbHNlCisgICAgewor ICAgICAgICB0aGlzX2NwdSh2Y3B1X2luZm8pID0gJnZjcHVfaW5mb1t2Y3B1XTsKKyAgICAgICAg c2V0X2JpdCh2Y3B1LCB2Y3B1X2luZm9fbWFwcGVkKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmM7 Cit9CisKIHN0YXRpYyB2b2lkIHNldF92Y3B1X2lkKHZvaWQpCiB7CiAgICAgdWludDMyX3QgZWF4 LCBlYngsIGVjeCwgZWR4OwpAQCAtMTE3LDggKzE1Myw3IEBAIHN0YXRpYyB2b2lkIHNldF92Y3B1 X2lkKHZvaWQpCiAKIHN0YXRpYyB2b2lkIHhlbl9ldnRjaG5fdXBjYWxsKHN0cnVjdCBjcHVfdXNl cl9yZWdzICpyZWdzKQogewotICAgIHN0cnVjdCB2Y3B1X2luZm8gKnZjcHVfaW5mbyA9Ci0gICAg ICAgICZYRU5fc2hhcmVkX2luZm8tPnZjcHVfaW5mb1t0aGlzX2NwdSh2Y3B1X2lkKV07CisgICAg c3RydWN0IHZjcHVfaW5mbyAqdmNwdV9pbmZvID0gdGhpc19jcHUodmNwdV9pbmZvKTsKIAogICAg IHZjcHVfaW5mby0+ZXZ0Y2huX3VwY2FsbF9wZW5kaW5nID0gMDsKICAgICB4Y2hnKCZ2Y3B1X2lu Zm8tPmV2dGNobl9wZW5kaW5nX3NlbCwgMCk7CkBAIC0xNzYsMTIgKzIxMSwzNCBAQCB2b2lkIF9f aW5pdCBoeXBlcnZpc29yX3NldHVwKHZvaWQpCiAgICAgbWFwX3NoYXJlZF9pbmZvKCk7CiAgICAg c2V0X3ZjcHVfaWQoKTsKIAorICAgIHZjcHVfaW5mbyA9IHh6YWxsb2NfYXJyYXkoc3RydWN0IHZj cHVfaW5mbywgbnJfY3B1X2lkcyk7CisgICAgaWYgKCBtYXBfdmNwdWluZm8oKSB8fCAhdmNwdV9p bmZvICkKKyAgICB7CisgICAgICAgIGlmICggdmNwdV9pbmZvICkKKyAgICAgICAgeworICAgICAg ICAgICAgeGZyZWUodmNwdV9pbmZvKTsKKyAgICAgICAgICAgIHZjcHVfaW5mbyA9IE5VTEw7Cisg ICAgICAgIH0KKyAgICAgICAgaWYgKCBucl9jcHVfaWRzID4gWEVOX0xFR0FDWV9NQVhfVkNQVVMg KQorICAgICAgICB7CisgICAgICAgICAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgICAgICAgICAg Zm9yICggaSA9IFhFTl9MRUdBQ1lfTUFYX1ZDUFVTOyBpIDwgbnJfY3B1X2lkczsgaSsrICkKKyAg ICAgICAgICAgICAgICBfX2NwdW1hc2tfY2xlYXJfY3B1KGksICZjcHVfcHJlc2VudF9tYXApOwor ICAgICAgICAgICAgbnJfY3B1X2lkcyA9IFhFTl9MRUdBQ1lfTUFYX1ZDUFVTOworICAgICAgICAg ICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HCisgICAgICAgICAgICAgICAgICAgInVuYWJsZSB0byBt YXAgdkNQVSBpbmZvLCBsaW1pdGluZyB2Q1BVcyB0bzogJXVcbiIsCisgICAgICAgICAgICAgICAg ICAgWEVOX0xFR0FDWV9NQVhfVkNQVVMpOworICAgICAgICB9CisgICAgfQorCiAgICAgaW5pdF9l dnRjaG4oKTsKIH0KIAogdm9pZCBoeXBlcnZpc29yX2FwX3NldHVwKHZvaWQpCiB7CiAgICAgc2V0 X3ZjcHVfaWQoKTsKKyAgICBtYXBfdmNwdWluZm8oKTsKICAgICBpbml0X2V2dGNobigpOwogfQog CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvdGltZS5jIGIveGVuL2FyY2gveDg2L3RpbWUuYwpp bmRleCA4NWJjYjliMjhhLi4xMjk0Yzg4MjQwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvdGlt ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni90aW1lLmMKQEAgLTUzMywxMSArNTMzLDExIEBAIHN0YXRp YyBzdHJ1Y3QgcGxhdGZvcm1fdGltZXNvdXJjZSBfX2luaXRkYXRhIHBsdF90c2MgPQogICogWGVu IGNsb2NrIHNvdXJjZSBpcyBhIHZhcmlhbnQgb2YgVFNDIHNvdXJjZS4KICAqLwogCi1ERUNMQVJF X1BFUl9DUFUodW5zaWduZWQgaW50LCB2Y3B1X2lkKTsKK0RFQ0xBUkVfUEVSX0NQVShzdHJ1Y3Qg dmNwdV9pbmZvICosIHZjcHVfaW5mbyk7CiAKIHN0YXRpYyB1NjQgeGVuX3RpbWVyX2NwdV9mcmVx dWVuY3kodm9pZCkKIHsKLSAgICBzdHJ1Y3QgdmNwdV90aW1lX2luZm8gKmluZm8gPSAmWEVOX3No YXJlZF9pbmZvLT52Y3B1X2luZm9bMF0udGltZTsKKyAgICBzdHJ1Y3QgdmNwdV90aW1lX2luZm8g KmluZm8gPSAmdGhpc19jcHUodmNwdV9pbmZvKS0+dGltZTsKICAgICB1NjQgZnJlcTsKIAogICAg IGZyZXEgPSAxMDAwMDAwMDAwVUxMIDw8IDMyOwpAQCAtNTc2LDE2ICs1NzYsMTEgQEAgdTY0IF9f cmVhZF9jeWNsZShjb25zdCBzdHJ1Y3QgdmNwdV90aW1lX2luZm8gKmluZm8sIHU2NCB0c2MpCiBz dGF0aWMgdTY0IGxhc3RfdmFsdWU7CiBzdGF0aWMgdTY0IHJlYWRfeGVuX3RpbWVyKHZvaWQpCiB7 Ci0gICAgc3RydWN0IHZjcHVfdGltZV9pbmZvICppbmZvOwotICAgIHVuc2lnbmVkIGludCBjcHUg PSB0aGlzX2NwdSh2Y3B1X2lkKTsKKyAgICBzdHJ1Y3QgdmNwdV90aW1lX2luZm8gKmluZm8gPSAm dGhpc19jcHUodmNwdV9pbmZvKS0+dGltZTsKICAgICB1MzIgdmVyc2lvbjsKICAgICB1NjQgcmV0 OwogICAgIHU2NCBsYXN0OwogCi0gICAgLyogVE9ETzogbGlmdCB0aGlzIHJlc3RyaWN0aW9uICov Ci0gICAgQVNTRVJUKGNwdSA8IFhFTl9MRUdBQ1lfTUFYX1ZDUFVTKTsKLSAgICBpbmZvID0gJlhF Tl9zaGFyZWRfaW5mby0+dmNwdV9pbmZvW2NwdV0udGltZTsKLQogICAgIGRvIHsKICAgICAgICAg dmVyc2lvbiA9IGluZm8tPnZlcnNpb24gJiB+MTsKICAgICAgICAgLyogTWFrZSBzdXJlIHZlcnNp b24gaXMgcmVhZCBiZWZvcmUgdGhlIGRhdGEgKi8KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2Fz bS14ODYvZ3Vlc3QvaHlwZXJjYWxsLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0L2h5cGVy Y2FsbC5oCmluZGV4IDkwYjQ3NTU0NjcuLjdkMTFkZjI5ZmEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNs dWRlL2FzbS14ODYvZ3Vlc3QvaHlwZXJjYWxsLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9n dWVzdC9oeXBlcmNhbGwuaApAQCAtMjMsNiArMjMsNyBAQAogCiAjaW5jbHVkZSA8cHVibGljL3hl bi5oPgogI2luY2x1ZGUgPHB1YmxpYy9zY2hlZC5oPgorI2luY2x1ZGUgPHB1YmxpYy92Y3B1Lmg+ CiAjaW5jbHVkZSA8cHVibGljL2h2bS9odm1fb3AuaD4KIAogI2lmZGVmIENPTkZJR19YRU5fR1VF U1QKQEAgLTEwNyw2ICsxMDgsMTIgQEAgc3RhdGljIGlubGluZSBsb25nIHhlbl9oeXBlcmNhbGxf aHZtX29wKHVuc2lnbmVkIGludCBvcCwgdm9pZCAqYXJnKQogICAgIHJldHVybiBfaHlwZXJjYWxs NjRfMihsb25nLCBfX0hZUEVSVklTT1JfaHZtX29wLCBvcCwgYXJnKTsKIH0KIAorc3RhdGljIGlu bGluZSBsb25nIHhlbl9oeXBlcmNhbGxfdmNwdV9vcCh1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25l ZCBpbnQgdmNwdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9p ZCAqYXJnKQoreworICAgIHJldHVybiBfaHlwZXJjYWxsNjRfMyhsb25nLCBfX0hZUEVSVklTT1Jf dmNwdV9vcCwgY21kLCB2Y3B1LCBhcmcpOworfQorCiAvKgogICogSGlnaGVyIGxldmVsIGh5cGVy Y2FsbCBoZWxwZXJzCiAgKi8KLS0gCjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s aXN0aW5mby94ZW4tZGV2ZWw=