From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joao Martins Subject: [PATCH 2/5] x86/time: implement tsc as clocksource Date: Thu, 17 Mar 2016 09:12:13 -0700 (PDT) Message-ID: <1458231136-13457-3-git-send-email-joao.m.martins@oracle.com> References: <1458231136-13457-1-git-send-email-joao.m.martins@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458231136-13457-1-git-send-email-joao.m.martins@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Andrew Cooper , Joao Martins , Keir Fraser , Jan Beulich List-Id: xen-devel@lists.xenproject.org SW50cm9kdWNlIHN1cHBvcnQgZm9yIHVzaW5nIFRTQyBhcyBwbGF0Zm9ybSB0aW1lIHdoaWNoIGlz IHRoZSBoaWdoZXN0CnJlc29sdXRpb24gdGltZSBhbmQgbW9zdCBwZXJmb3JtYW50IHRvIGdldCAo fjIwIG5zZWNzKS4gIFRob3VnaCB0aGVyZQphcmUgYWxzbyBzZXZlcmFsIHByb2JsZW1zIGFzc29j aWF0ZWQgd2l0aCBpdHMgdXNhZ2UsIGFuZCB0aGVyZSBpc24ndCBhCmNvbXBsZXRlIChhbmQgYXJj aGl0ZWN0dXJhbGx5IGRlZmluZWQpIGd1YXJhbnRlZSB0aGF0IGFsbCBtYWNoaW5lcwp3aWxsIHBy b3ZpZGUgcmVsaWFibGUgYW5kIG1vbm90b25pYyBUU0MgYWNyb3NzIGFsbCBDUFVzLCBvbiBkaWZm ZXJlbnQKc29ja2V0cyBhbmQgZGlmZmVyZW50IFAvQyBzdGF0ZXMuICBJIGJlbGlldmUgSW50ZWwg dG8gYmUgdGhlIG9ubHkgdGhhdApjYW4gZ3VhcmFudGVlIHRoYXQuIEZvciB0aGlzIHJlYXNvbiBp dCdzIHNldCB3aXRoIGxlc3MgcHJpb3JpdHkgd2hlbgpjb21wYXJlZCB0byBIUEVUIHVubGVzcyBh ZG1pbnN0cmF0b3IgY2hhbmdlcyAiY2xvY2tzb3VyY2UiIGJvb3Qgb3B0aW9uCnRvICJ0c2MiLiBV cG9uIGluaXRpYWxpemluZyBpdCwgd2UgYWxzbyBjaGVjayBmb3IgdGltZSB3YXJwcyBhbmQKYXBw cm9wcmlhdGUgQ1BVIGZlYXR1cmVzIGkuZS4gIFRTQ19SRUxJQUJMRSwgQ09OU1RBTlRfVFNDIGFu ZApOT05TVE9QX1RTQy4gQW5kIGluIGNhc2Ugbm9uZSBvZiB0aGVzZSBjb25kaXRpb25zIGFyZSBt ZXQsIHdlIGZhaWwgaW4Kb3JkZXIgdG8gZmFsbGJhY2sgdG8gdGhlIG5leHQgYXZhaWxhYmxlIGNs b2Nrc291cmNlLgoKSXQgaXMgYWxzbyB3b3J0aCBub3RpbmcgdGhhdCB3aXRoIGNsb2Nrc291cmNl PXRzYyB0aGVyZSBpc24ndCBhbnkKbmVlZCB0byBzeW5jaHJvbmlzZSB3aXRoIGFub3RoZXIgY2xv Y2tzb3VyY2UsIGFuZCBJIGNvdWxkIHZlcmlmeSB0aGF0CmdyZWF0IHBvcnRpb24gdGhlIHRpbWUg c2tldyB3YXMgZWxpbWluYXRlZCBhbmQgc2VlaW5nIG11Y2ggbGVzcyB0aW1lCndhcnBzIGhhcHBl bmluZy4gV2l0aCBIUEVUIEkgb2JzZXJ2ZWQgfjUwMCB3YXJwcyBpbiB0aGUgcGVyaW9kCm9mIDFo IG9mIGFyb3VuZCAyNyB1cywgYW5kIHdpdGggVFNDIGRvd24gdG8gNTAgd2FycHMgaW4gdGhlIHNh bWUKcGVyaW9kIGhhdmluZyBlYWNoIHdhcnAgPCAxMDAgbnMuIFRoZSB3YXJwcyBzdGlsbCBleGlz dCB0aG91Z2ggYnV0CmFyZSBvbmx5IHJlbGF0ZWQgdG8gY3Jvc3MgQ1BVIGNhbGlicmF0aW9uIChi ZWluZyBob3cgbXVjaCBpdCB0YWtlcyB0bwpyZW5kZXp2b3VzIHdpdGggbWFzdGVyKSwgaW4gd2hp Y2ggYSBsYXRlciBwYXRjaCBpbiB0aGlzIHNlcmllcyBhaW1zIHRvCnNvbHZlLgoKU2lnbmVkLW9m Zi1ieTogSm9hbyBNYXJ0aW5zIDxqb2FvLm0ubWFydGluc0BvcmFjbGUuY29tPgotLS0KQ2M6IEtl aXIgRnJhc2VyIDxrZWlyQHhlbi5vcmc+CkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j b20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgoKQ2hhbmdl cyBzaW5jZSBSRkM6CiAtIFNwZWxsaW5nIGZpeGVzIGluIHRoZSBjb21taXQgbWVzc2FnZS4KIC0g UmVtb3ZlIHVudXNlZCBjbG9ja3NvdXJjZV9pc190c2MgdmFyaWFibGUgYW5kIGludHJvZHVjZSBp dCBpbnN0ZWFkCiBvbiB0aGUgcGF0Y2ggdGhhdCB1c2VzIGl0LgogLSBNb3ZlIHBsdF90c2MgZnJv bSBzZWNvbmQgdG8gbGFzdCBpbiB0aGUgYXZhaWxhYmxlIGNsb2Nrc291cmNlcy4KLS0tCiB4ZW4v YXJjaC94ODYvdGltZS5jIHwgNjIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspLCAyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni90aW1lLmMgYi94ZW4vYXJjaC94 ODYvdGltZS5jCmluZGV4IDY4N2UzOWIuLjEzMTFjNTggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni90aW1lLmMKKysrIGIveGVuL2FyY2gveDg2L3RpbWUuYwpAQCAtNDMyLDYgKzQzMiw2MyBAQCB1 aW50NjRfdCBuc190b19hY3BpX3BtX3RpY2sodWludDY0X3QgbnMpCiB9CiAKIC8qKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFBM QVRGT1JNIFRJTUVSIDQ6IFRTQworICovCitzdGF0aWMgdTY0IHRzY19mcmVxOworc3RhdGljIHVu c2lnbmVkIGxvbmcgdHNjX21heF93YXJwOworc3RhdGljIHZvaWQgdHNjX2NoZWNrX3JlbGlhYmls aXR5KHZvaWQpOworCitzdGF0aWMgaW50IF9faW5pdCBpbml0X3RzY3RpbWVyKHN0cnVjdCBwbGF0 Zm9ybV90aW1lc291cmNlICpwdHMpCit7CisgICAgYm9vbF90IHRzY19yZWxpYWJsZSA9IDA7CisK KyAgICB0c2NfY2hlY2tfcmVsaWFiaWxpdHkoKTsKKworICAgIGlmICggdHNjX21heF93YXJwID4g MCApCisgICAgeworICAgICAgICB0c2NfcmVsaWFibGUgPSAwOworICAgICAgICBwcmludGsoIlRT QzogZGlkbid0IHBhc3NlZCB3YXJwIHRlc3RcbiIpOworICAgIH0KKyAgICBlbHNlIGlmICggYm9v dF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1RTQ19SRUxJQUJMRSkgfHwKKyAgICAgICAgICAgICAgKCBi b290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKSAmJgorICAgICAgICAgICAgICAg IGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9OT05TVE9QX1RTQykgKSApCisgICAgeworICAgICAg ICB0c2NfcmVsaWFibGUgPSAxOworICAgIH0KKyAgICBlbHNlIGlmICggYm9vdF9jcHVfaGFzKFg4 Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQykgKQorICAgIHsKKyAgICAgICAgdHNjX3JlbGlhYmxlID0g KG1heF9jc3RhdGUgPD0gMik7CisKKyAgICAgICAgaWYgKHRzY19yZWxpYWJsZSkKKyAgICAgICAg ICAgIHByaW50aygiVFNDOiBubyBkZWVwIENzdGF0ZXMsIGRlZW1lZCByZWxpYWJsZVxuIik7Cisg ICAgICAgIGVsc2UKKyAgICAgICAgICAgIHByaW50aygiVFNDOiBkZWVwIENzdGF0ZXMgcG9zc2li bGUsIHNvIG5vdCByZWxpYWJsZVxuIik7CisgICAgfQorCisgICAgcHRzLT5mcmVxdWVuY3kgPSB0 c2NfZnJlcTsKKyAgICByZXR1cm4gdHNjX3JlbGlhYmxlOworfQorCitzdGF0aWMgdTY0IHJlYWRf dHNjKHZvaWQpCit7CisgICAgcmV0dXJuIHJkdHNjKCk7Cit9CisKK3N0YXRpYyB2b2lkIHJlc3Vt ZV90c2N0aW1lcihzdHJ1Y3QgcGxhdGZvcm1fdGltZXNvdXJjZSAqcHRzKQoreworfQorCitzdGF0 aWMgc3RydWN0IHBsYXRmb3JtX3RpbWVzb3VyY2UgX19pbml0ZGF0YSBwbHRfdHNjID0KK3sKKyAg ICAuaWQgPSAidHNjIiwKKyAgICAubmFtZSA9ICJUU0MiLAorICAgIC5yZWFkX2NvdW50ZXIgPSBy ZWFkX3RzYywKKyAgICAuY291bnRlcl9iaXRzID0gNjQsCisgICAgLmluaXQgPSBpbml0X3RzY3Rp bWVyLAorICAgIC5yZXN1bWUgPSByZXN1bWVfdHNjdGltZXIsCit9OworCisvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBHRU5F UklDIFBMQVRGT1JNIFRJTUVSIElORlJBU1RSVUNUVVJFCiAgKi8KIApAQCAtNTM2LDcgKzU5Myw3 IEBAIHN0YXRpYyB2b2lkIHJlc3VtZV9wbGF0Zm9ybV90aW1lcih2b2lkKQogc3RhdGljIHZvaWQg X19pbml0IGluaXRfcGxhdGZvcm1fdGltZXIodm9pZCkKIHsKICAgICBzdGF0aWMgc3RydWN0IHBs YXRmb3JtX3RpbWVzb3VyY2UgKiBfX2luaXRkYXRhIHBsdF90aW1lcnNbXSA9IHsKLSAgICAgICAg JnBsdF9ocGV0LCAmcGx0X3BtdGltZXIsICZwbHRfcGl0CisgICAgICAgICZwbHRfaHBldCwgJnBs dF9wbXRpbWVyLCAmcGx0X3BpdCwgJnBsdF90c2MKICAgICB9OwogCiAgICAgc3RydWN0IHBsYXRm b3JtX3RpbWVzb3VyY2UgKnB0cyA9IE5VTEw7CkBAIC0xMTgxLDcgKzEyMzgsNyBAQCBzdGF0aWMg dm9pZCBjaGVja190c2Nfd2FycCh1bnNpZ25lZCBsb25nIHRzY19raHosIHVuc2lnbmVkIGxvbmcg Km1heF93YXJwKQogICAgIH0KIH0KIAotc3RhdGljIHVuc2lnbmVkIGxvbmcgdHNjX21heF93YXJw LCB0c2NfY2hlY2tfY291bnQ7CitzdGF0aWMgdW5zaWduZWQgbG9uZyB0c2NfY2hlY2tfY291bnQ7 CiBzdGF0aWMgY3B1bWFza190IHRzY19jaGVja19jcHVtYXNrOwogCiBzdGF0aWMgdm9pZCB0c2Nf Y2hlY2tfc2xhdmUodm9pZCAqdW51c2VkKQpAQCAtMTQ2NSw2ICsxNTIyLDcgQEAgdm9pZCBfX2lu aXQgZWFybHlfdGltZV9pbml0KHZvaWQpCiAgICAgc3RydWN0IGNwdV90aW1lICp0ID0gJnRoaXNf Y3B1KGNwdV90aW1lKTsKICAgICB1NjQgdG1wID0gaW5pdF9waXRfYW5kX2NhbGlicmF0ZV90c2Mo KTsKIAorICAgIHRzY19mcmVxID0gdG1wOwogICAgIHNldF90aW1lX3NjYWxlKCZ0LT50c2Nfc2Nh bGUsIHRtcCk7CiAgICAgdC0+bG9jYWxfdHNjX3N0YW1wID0gYm9vdF90c2Nfc3RhbXA7CiAKLS0g CjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlz dHMueGVuLm9yZy94ZW4tZGV2ZWwK