From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH RFC v1 29/74] x86: xen pv clock time source Date: Thu, 4 Jan 2018 13:05:40 +0000 Message-ID: <20180104130625.28605-30-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 us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eX5aU-0006B4-M1 for xen-devel@lists.xenproject.org; Thu, 04 Jan 2018 13:29:38 +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 SXQgaXMgYSB2YXJpYW50IG9mIFRTQyBjbG9jayBzb3VyY2UuCgpTaWduZWQtb2ZmLWJ5OiBXZWkg TGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxh bmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOp IDxyb2dlci5wYXVAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvdGltZS5jIHwgOTQgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmls ZSBjaGFuZ2VkLCA5NCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Rp bWUuYyBiL3hlbi9hcmNoL3g4Ni90aW1lLmMKaW5kZXggM2I2NTRkN2I3ZC4uZWUzNWZmZGE2YyAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3RpbWUuYworKysgYi94ZW4vYXJjaC94ODYvdGltZS5j CkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSA8YXNtL21wc3BlYy5oPgogI2luY2x1ZGUgPGFz bS9wcm9jZXNzb3IuaD4KICNpbmNsdWRlIDxhc20vZml4bWFwLmg+CisjaW5jbHVkZSA8YXNtL2d1 ZXN0Lmg+CiAjaW5jbHVkZSA8YXNtL21jMTQ2ODE4cnRjLmg+CiAjaW5jbHVkZSA8YXNtL2RpdjY0 Lmg+CiAjaW5jbHVkZSA8YXNtL2FjcGkuaD4KQEAgLTUyNSw2ICs1MjYsOTYgQEAgc3RhdGljIHN0 cnVjdCBwbGF0Zm9ybV90aW1lc291cmNlIF9faW5pdGRhdGEgcGx0X3RzYyA9CiAgICAgLmluaXQg PSBpbml0X3RzYywKIH07CiAKKyNpZmRlZiBDT05GSUdfWEVOX0dVRVNUCisvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBQTEFU Rk9STSBUSU1FUiA1OiBYRU4gUFYgQ0xPQ0sgU09VUkNFCisgKgorICogWGVuIGNsb2NrIHNvdXJj ZSBpcyBhIHZhcmlhbnQgb2YgVFNDIHNvdXJjZS4KKyAqLworCitzdGF0aWMgdTY0IHhlbl90aW1l cl9jcHVfZnJlcXVlbmN5KHZvaWQpCit7CisgICAgc3RydWN0IHZjcHVfdGltZV9pbmZvICppbmZv ID0gJlhFTl9zaGFyZWRfaW5mby0+dmNwdV9pbmZvWzBdLnRpbWU7CisgICAgdTY0IGZyZXE7CisK KyAgICBmcmVxID0gMTAwMDAwMDAwMFVMTCA8PCAzMjsKKyAgICBkb19kaXYoZnJlcSwgaW5mby0+ dHNjX3RvX3N5c3RlbV9tdWwpOworICAgIGlmICggaW5mby0+dHNjX3NoaWZ0IDwgMCApCisgICAg ICAgIGZyZXEgPDw9IC1pbmZvLT50c2Nfc2hpZnQ7CisgICAgZWxzZQorICAgICAgICBmcmVxID4+ PSBpbmZvLT50c2Nfc2hpZnQ7CisKKyAgICByZXR1cm4gZnJlcTsKK30KKworc3RhdGljIHM2NCBf X2luaXQgaW5pdF94ZW5fdGltZXIoc3RydWN0IHBsYXRmb3JtX3RpbWVzb3VyY2UgKnB0cykKK3sK KyAgICBpZiAoICF4ZW5fZ3Vlc3QgKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHB0cy0+ZnJl cXVlbmN5ID0geGVuX3RpbWVyX2NwdV9mcmVxdWVuY3koKTsKKworICAgIHJldHVybiBwdHMtPmZy ZXF1ZW5jeTsKK30KKworc3RhdGljIGFsd2F5c19pbmxpbmUKK3U2NCBfX3JlYWRfY3ljbGUoY29u c3Qgc3RydWN0IHZjcHVfdGltZV9pbmZvICppbmZvLCB1NjQgdHNjKQoreworICAgIHU2NCBkZWx0 YSA9IHRzYyAtIGluZm8tPnRzY190aW1lc3RhbXA7CisgICAgc3RydWN0IHRpbWVfc2NhbGUgdHMg PSB7CisgICAgICAgIC5zaGlmdCAgICA9IGluZm8tPnRzY19zaGlmdCwKKyAgICAgICAgLm11bF9m cmFjID0gaW5mby0+dHNjX3RvX3N5c3RlbV9tdWwsCisgICAgfTsKKyAgICB1NjQgb2Zmc2V0ID0g c2NhbGVfZGVsdGEoZGVsdGEsICZ0cyk7CisKKyAgICByZXR1cm4gaW5mby0+c3lzdGVtX3RpbWUg KyBvZmZzZXQ7Cit9CisKK3N0YXRpYyB1NjQgbGFzdF92YWx1ZTsKK3N0YXRpYyB1NjQgcmVhZF94 ZW5fdGltZXIodm9pZCkKK3sKKyAgICBzdHJ1Y3QgdmNwdV90aW1lX2luZm8gKmluZm87CisgICAg dW5zaWduZWQgaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKyAgICB1MzIgdmVyc2lvbjsK KyAgICB1NjQgcmV0OworICAgIHU2NCBsYXN0OworCisgICAgLyogVE9ETzogbGlmdCB0aGlzIHJl c3RyaWN0aW9uICovCisgICAgQVNTRVJUKGNwdSA8IFhFTl9MRUdBQ1lfTUFYX1ZDUFVTKTsKKyAg ICBpbmZvID0gJlhFTl9zaGFyZWRfaW5mby0+dmNwdV9pbmZvW2NwdV0udGltZTsKKworICAgIGRv IHsKKyAgICAgICAgdmVyc2lvbiA9IGluZm8tPnZlcnNpb24gJiB+MTsKKyAgICAgICAgLyogTWFr ZSBzdXJlIHZlcnNpb24gaXMgcmVhZCBiZWZvcmUgdGhlIGRhdGEgKi8KKyAgICAgICAgc21wX3Jt YigpOworCisgICAgICAgIHJldCA9IF9fcmVhZF9jeWNsZShpbmZvLCByZHRzY19vcmRlcmVkKCkp OworICAgICAgICAvKiBJZ25vcmUgZmFuY3kgZmxhZ3MgZm9yIG5vdyAqLworCisgICAgICAgIC8q IE1ha2Ugc3VyZSB2ZXJzaW9uIGlzIHJlcmVhZCBhZnRlciB0aGUgZGF0YSAqLworICAgICAgICBz bXBfcm1iKCk7CisgICAgfSB3aGlsZSAoIHVubGlrZWx5KHZlcnNpb24gIT0gaW5mby0+dmVyc2lv bikgKTsKKworICAgIC8qIE1haW50YWluIGEgbW9ub3RvbmljIGdsb2JhbCB2YWx1ZSAqLworICAg IGRvIHsKKyAgICAgICAgbGFzdCA9IHJlYWRfYXRvbWljKCZsYXN0X3ZhbHVlKTsKKyAgICAgICAg aWYgKCByZXQgPCBsYXN0ICkKKyAgICAgICAgICAgIHJldHVybiBsYXN0OworICAgIH0gd2hpbGUg KCB1bmxpa2VseShjbXB4Y2hnKCZsYXN0X3ZhbHVlLCBsYXN0LCByZXQpICE9IGxhc3QpICk7CisK KyAgICByZXR1cm4gcmV0OworfQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX3RpbWVzb3VyY2Ug X19pbml0ZGF0YSBwbHRfeGVuX3RpbWVyID0KK3sKKyAgICAuaWQgPSAieGVuIiwKKyAgICAubmFt ZSA9ICJYRU4gUFYgQ0xPQ0siLAorICAgIC5yZWFkX2NvdW50ZXIgPSByZWFkX3hlbl90aW1lciwK KyAgICAuaW5pdCA9IGluaXRfeGVuX3RpbWVyLAorICAgIC5jb3VudGVyX2JpdHMgPSA2MywKK307 CisjZW5kaWYKKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKgogICogR0VORVJJQyBQTEFURk9STSBUSU1FUiBJTkZSQVNUUlVDVFVS RQogICovCkBAIC02NzIsNiArNzYzLDkgQEAgc3RhdGljIHM2NCBfX2luaXQgdHJ5X3BsYXRmb3Jt X3RpbWVyKHN0cnVjdCBwbGF0Zm9ybV90aW1lc291cmNlICpwdHMpCiBzdGF0aWMgdTY0IF9faW5p dCBpbml0X3BsYXRmb3JtX3RpbWVyKHZvaWQpCiB7CiAgICAgc3RhdGljIHN0cnVjdCBwbGF0Zm9y bV90aW1lc291cmNlICogX19pbml0ZGF0YSBwbHRfdGltZXJzW10gPSB7CisjaWZkZWYgQ09ORklH X1hFTl9HVUVTVAorICAgICAgICAmcGx0X3hlbl90aW1lciwKKyNlbmRpZgogICAgICAgICAmcGx0 X2hwZXQsICZwbHRfcG10aW1lciwgJnBsdF9waXQKICAgICB9OwogCi0tIAoyLjExLjAKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhl bnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs