From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joao Martins Subject: [PATCH v4 3/5] x86/time: refactor read_platform_stime() Date: Wed, 14 Sep 2016 18:37:48 +0100 Message-ID: <1473874670-4986-4-git-send-email-joao.m.martins@oracle.com> References: <1473874670-4986-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: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bkE7R-00017a-6D for xen-devel@lists.xenproject.org; Wed, 14 Sep 2016 17:37:09 +0000 In-Reply-To: <1473874670-4986-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.xenproject.org Cc: Andrew Cooper , Joao Martins , Jan Beulich List-Id: xen-devel@lists.xenproject.org VG8gYWxsb3cgdGhlIGNhbGxlciB0byBmZXRjaCB0aGUgbGFzdCByZWFkIGZyb20gdGhlIGNsb2Nr c291cmNlIHdoaWNoCndhcyB1c2VkIHRvIGNhbGN1bGF0ZSBzeXN0ZW1fdGltZS4gVGhpcyBpcyBh IHByZXJlcXVpc2l0ZSBmb3IgYQpzdWJzZXF1ZW50IHBhdGNoIHRoYXQgd2lsbCB1c2UgdGhpcyBs YXN0IHJlYWQuCgpTaWduZWQtb2ZmLWJ5OiBKb2FvIE1hcnRpbnMgPGpvYW8ubS5tYXJ0aW5zQG9y YWNsZS5jb20+Ci0tLQpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogQW5k cmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KCkNoYW5nZXMgc2luY2UgdjM6 CiAtIEFkZCBtZW50aW9uIG9mIHRoaXMgYmVpbmcgYSBwcmVyZXF1aXNpdGUgdG8gYSBsYXRlciBw YXRjaC4KLS0tCiB4ZW4vYXJjaC94ODYvdGltZS5jIHwgMjIgKysrKysrKysrKysrKy0tLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L3RpbWUuYyBiL3hlbi9hcmNoL3g4Ni90aW1lLmMKaW5kZXgg ZTUwMDFkNS4uYWY5ZTMxZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3RpbWUuYworKysgYi94 ZW4vYXJjaC94ODYvdGltZS5jCkBAIC01ODEsMTggKzU4MSwyMiBAQCBzdGF0aWMgdm9pZCBwbHRf b3ZlcmZsb3codm9pZCAqdW51c2VkKQogICAgIHNldF90aW1lcigmcGx0X292ZXJmbG93X3RpbWVy LCBOT1coKSArIHBsdF9vdmVyZmxvd19wZXJpb2QpOwogfQogCi1zdGF0aWMgc190aW1lX3QgcmVh ZF9wbGF0Zm9ybV9zdGltZSh2b2lkKQorc3RhdGljIHNfdGltZV90IHJlYWRfcGxhdGZvcm1fc3Rp bWUodTY0ICpzdGFtcCkKIHsKLSAgICB1NjQgY291bnQ7CisgICAgdTY0IHBsdF9jb3VudGVyLCBj b3VudDsKICAgICBzX3RpbWVfdCBzdGltZTsKIAogICAgIEFTU0VSVCghbG9jYWxfaXJxX2lzX2Vu YWJsZWQoKSk7CiAKICAgICBzcGluX2xvY2soJnBsYXRmb3JtX3RpbWVyX2xvY2spOwotICAgIGNv dW50ID0gcGx0X3N0YW1wNjQgKyAoKHBsdF9zcmMucmVhZF9jb3VudGVyKCkgLSBwbHRfc3RhbXAp ICYgcGx0X21hc2spOworICAgIHBsdF9jb3VudGVyID0gcGx0X3NyYy5yZWFkX2NvdW50ZXIoKTsK KyAgICBjb3VudCA9IHBsdF9zdGFtcDY0ICsgKChwbHRfY291bnRlciAtIHBsdF9zdGFtcCkgJiBw bHRfbWFzayk7CiAgICAgc3RpbWUgPSBfX3JlYWRfcGxhdGZvcm1fc3RpbWUoY291bnQpOwogICAg IHNwaW5fdW5sb2NrKCZwbGF0Zm9ybV90aW1lcl9sb2NrKTsKIAorICAgIGlmICggc3RhbXAgKQor ICAgICAgICAqc3RhbXAgPSBwbHRfY291bnRlcjsKKwogICAgIHJldHVybiBzdGltZTsKIH0KIApA QCAtNzI2LDcgKzczMCw3IEBAIHZvaWQgY3N0YXRlX3Jlc3RvcmVfdHNjKHZvaWQpCiAgICAgaWYg KCBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfTk9OU1RPUF9UU0MpICkKICAgICAgICAgcmV0dXJu OwogCi0gICAgd3JpdGVfdHNjKHN0aW1lMnRzYyhyZWFkX3BsYXRmb3JtX3N0aW1lKCkpKTsKKyAg ICB3cml0ZV90c2Moc3RpbWUydHNjKHJlYWRfcGxhdGZvcm1fc3RpbWUoTlVMTCkpKTsKIH0KIAog LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKgpAQCAtMTA0NSw3ICsxMDQ5LDcgQEAgaW50IGNwdV9mcmVxdWVu Y3lfY2hhbmdlKHU2NCBmcmVxKQogCiAgICAgbG9jYWxfaXJxX2Rpc2FibGUoKTsKICAgICAvKiBQ bGF0Zm9ybSB0aW1lIC9maXJzdC8sIGFzIHdlIG1heSBiZSBkZWxheWVkIGJ5IHBsYXRmb3JtX3Rp bWVyX2xvY2suICovCi0gICAgdC0+c3RhbXAubWFzdGVyX3N0aW1lID0gcmVhZF9wbGF0Zm9ybV9z dGltZSgpOworICAgIHQtPnN0YW1wLm1hc3Rlcl9zdGltZSA9IHJlYWRfcGxhdGZvcm1fc3RpbWUo TlVMTCk7CiAgICAgY3Vycl90c2MgPSByZHRzY19vcmRlcmVkKCk7CiAgICAgLyogVFNDLWV4dHJh cG9sYXRlZCB0aW1lIG1heSBiZSBib2d1cyBhZnRlciBmcmVxdWVuY3kgY2hhbmdlLiAqLwogICAg IC8qdC0+c3RhbXAubG9jYWxfc3RpbWUgPSBnZXRfc190aW1lX2ZpeGVkKGN1cnJfdHNjKTsqLwpA QCAtMTM1MCw3ICsxMzU0LDcgQEAgc3RhdGljIHZvaWQgdGltZV9jYWxpYnJhdGlvbl90c2NfcmVu ZGV6dm91cyh2b2lkICpfcikKIAogICAgICAgICAgICAgaWYgKCByLT5tYXN0ZXJfc3RpbWUgPT0g MCApCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgci0+bWFzdGVyX3N0aW1lID0gcmVh ZF9wbGF0Zm9ybV9zdGltZSgpOworICAgICAgICAgICAgICAgIHItPm1hc3Rlcl9zdGltZSA9IHJl YWRfcGxhdGZvcm1fc3RpbWUoTlVMTCk7CiAgICAgICAgICAgICAgICAgci0+bWFzdGVyX3RzY19z dGFtcCA9IHJkdHNjX29yZGVyZWQoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGF0b21p Y19pbmMoJnItPnNlbWFwaG9yZSk7CkBAIC0xMzkwLDcgKzEzOTQsNyBAQCBzdGF0aWMgdm9pZCB0 aW1lX2NhbGlicmF0aW9uX3N0ZF9yZW5kZXp2b3VzKHZvaWQgKl9yKQogICAgIHsKICAgICAgICAg d2hpbGUgKCBhdG9taWNfcmVhZCgmci0+c2VtYXBob3JlKSAhPSAodG90YWxfY3B1cyAtIDEpICkK ICAgICAgICAgICAgIGNwdV9yZWxheCgpOwotICAgICAgICByLT5tYXN0ZXJfc3RpbWUgPSByZWFk X3BsYXRmb3JtX3N0aW1lKCk7CisgICAgICAgIHItPm1hc3Rlcl9zdGltZSA9IHJlYWRfcGxhdGZv cm1fc3RpbWUoTlVMTCk7CiAgICAgICAgIHNtcF93bWIoKTsgLyogd3JpdGUgci0+bWFzdGVyX3N0 aW1lIC90aGVuLyBzaWduYWwgKi8KICAgICAgICAgYXRvbWljX2luYygmci0+c2VtYXBob3JlKTsK ICAgICB9CkBAIC0xNDI5LDcgKzE0MzMsNyBAQCB2b2lkIHRpbWVfbGF0Y2hfc3RhbXBzKHZvaWQp CiAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKIAogICAgIGxvY2FsX2lycV9zYXZlKGZsYWdzKTsK LSAgICBhcF9icmluZ3VwX3JlZi5tYXN0ZXJfc3RpbWUgPSByZWFkX3BsYXRmb3JtX3N0aW1lKCk7 CisgICAgYXBfYnJpbmd1cF9yZWYubWFzdGVyX3N0aW1lID0gcmVhZF9wbGF0Zm9ybV9zdGltZShO VUxMKTsKICAgICBhcF9icmluZ3VwX3JlZi5sb2NhbF90c2MgPSByZHRzY19vcmRlcmVkKCk7CiAg ICAgbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogCkBAIC0xNDQ3LDcgKzE0NTEsNyBAQCB2b2lk IGluaXRfcGVyY3B1X3RpbWUodm9pZCkKICAgICB0LT50c2Nfc2NhbGUgPSBwZXJfY3B1KGNwdV90 aW1lLCAwKS50c2Nfc2NhbGU7CiAKICAgICBsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0gICAgbm93 ID0gcmVhZF9wbGF0Zm9ybV9zdGltZSgpOworICAgIG5vdyA9IHJlYWRfcGxhdGZvcm1fc3RpbWUo TlVMTCk7CiAgICAgdHNjID0gcmR0c2Nfb3JkZXJlZCgpOwogICAgIGxvY2FsX2lycV9yZXN0b3Jl KGZsYWdzKTsKIAotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK