From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.5 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7CECBC433FF for ; Wed, 31 Jul 2019 12:34:08 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4035020693 for ; Wed, 31 Jul 2019 12:34:08 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=epam.com header.i=@epam.com header.b="WG0uYOlu" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4035020693 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=epam.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hsnnm-0008B7-09; Wed, 31 Jul 2019 12:33:54 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hsnnk-0008B1-Ri for xen-devel@lists.xenproject.org; Wed, 31 Jul 2019 12:33:52 +0000 X-Inumbo-ID: 72b22a50-b38f-11e9-8980-bc764e045a96 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (unknown [2a01:111:f400:fe1e::61f]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 72b22a50-b38f-11e9-8980-bc764e045a96; Wed, 31 Jul 2019 12:33:50 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BCcz4lt1+YsiyEP8k15bF5QFz3Utu3P+ew41ec/rRQcE1UBzH2pn9TXcjKb9loORzrPwmpaA5n5Os3GiiO4tv6DGuUld9cgBQ0weRUonSdxugdt80VY7FoLAshrhHbIvP7mcWEHL8HQ+FXQxgBbYuOgEKbL36yzOsIeaIQ68XjWKWveJoO+RHWo6tTm6ZWBaludVt4h3O6j9LmXWylMiA3Os5JNBg81K1sgFv5ovONPS3MLYaQpraE3axw53af/dzKm1tx8Gwoohn9DcblEZVU9iKcacgYAOjhgdm7VH2AdhG0m4m3ePEcVKvm2L9pSKUzA46NjOnUwyFigg+gNncQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oJ/SbOWGXeyQ0QgSNig27TN27MFyHAN2PsyLjRF03q0=; b=EkWXJFLkYcHyBnf9BMOD+03kLBtDSd+avWzNlbEgkCMuPzxHNO6IG5aEb/2tthwbQ+6y9u0bRnM7DuhH3g9Yw68DFg8y4km05bvoSYRFahGBtb+krUdYRBYx0xiqV/+bJ6+GBRBHMJ/xo3WjRatlD7041tk8+M1GQsuISmw8aimTkoYES9ytfroxEQ10Rw19oLU9iT/BSh3fFsGjTWpq9F3dY+Ny40Aw8NhswEUK3tnAdqkb6S+jwj4egai3I4EGbXsj1VljLrvvgWCrNq3A7KlfL8+9Wlj9rrXFIKhrXwFggs+323zvif6uI9rbhYd5ObHiPRSHyfLyxx+Yk6I6nA== ARC-Authentication-Results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=epam.com;dmarc=pass action=none header.from=epam.com;dkim=pass header.d=epam.com;arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oJ/SbOWGXeyQ0QgSNig27TN27MFyHAN2PsyLjRF03q0=; b=WG0uYOlu4tcVU0iF19xohpP8z5kq7pcHxhqU3r/7xjo4SEPh0eqcC+hZ2D0E9Qm0GeYAQ89dw9oZTLF9kWIm3+VtIWGoRF4JQcjHn2Jvdk/GSSB4EFJvd+tENHyOXVNyyqk/u11/4jc2bU82X8DZ7zdYyDPCh5wFOXlnol9PbP+Ix/bmN7hjFLD4lfYnjtnK6JQL+uir4DbuT6uIGL8TAgELmRv5G5BiDOV28RJcUU55PEuCV5/o8a+hkT1nZHolObPVBfhoiYDHzQKrcLGgiQndWFUB9J7kQc025n+XZ680inCTpRvVOV7taU7V49qGVSi1b9rCfeqGNI6mTeLQNA== Received: from AM0PR03MB4148.eurprd03.prod.outlook.com (20.177.40.10) by AM0PR03MB4129.eurprd03.prod.outlook.com (52.135.147.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2136.15; Wed, 31 Jul 2019 12:33:47 +0000 Received: from AM0PR03MB4148.eurprd03.prod.outlook.com ([fe80::e900:5b3d:d83:969c]) by AM0PR03MB4148.eurprd03.prod.outlook.com ([fe80::e900:5b3d:d83:969c%5]) with mapi id 15.20.2115.005; Wed, 31 Jul 2019 12:33:47 +0000 From: Volodymyr Babchuk To: Viktor Mitin Thread-Topic: [PATCH v4 2/2] xen/arm: merge make_timer_node and make_timer_domU_node Thread-Index: AQHVR4rPe+bMpU5amEejcjfOTS8xLKbkqU4A Date: Wed, 31 Jul 2019 12:33:47 +0000 Message-ID: <877e7yidsl.fsf@epam.com> References: <20190731102856.23215-1-viktor.mitin.19@gmail.com> <20190731102856.23215-2-viktor.mitin.19@gmail.com> In-Reply-To: <20190731102856.23215-2-viktor.mitin.19@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Volodymyr_Babchuk@epam.com; x-originating-ip: [85.223.209.22] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 064a1d7c-e065-4d45-3e77-08d715b355d6 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:AM0PR03MB4129; x-ms-traffictypediagnostic: AM0PR03MB4129:|AM0PR03MB4129: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 011579F31F x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(346002)(376002)(396003)(39860400002)(136003)(366004)(199004)(189003)(7736002)(305945005)(54906003)(6436002)(6486002)(14454004)(81156014)(316002)(8676002)(229853002)(6916009)(256004)(68736007)(3846002)(6116002)(71190400001)(71200400001)(2906002)(5660300002)(186003)(26005)(25786009)(66446008)(64756008)(76176011)(66556008)(66476007)(66946007)(102836004)(76116006)(91956017)(6506007)(55236004)(66066001)(53936002)(86362001)(81166006)(446003)(8936002)(478600001)(6246003)(107886003)(6512007)(36756003)(476003)(11346002)(99286004)(2616005)(486006)(80792005)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR03MB4129; H:AM0PR03MB4148.eurprd03.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: epam.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: zTxeLIUKlF3L9zEJBliLRerL0QtPk4DqDRp7tzIdRp0RHnntNKMIZF7Bu6XlGkMzRvVzKuALgrlkyAN26iXjM1vcFpIwf0iNl3U6xZjGIZZWQkzSfsUdkPE6WGt9lbj0gu8ROrp+DKF+gbK9MQoqgdC0SctJw1HH3HlaORKAfQXpVsQqDkywy11lero7HCshp9q8elBSfrYCICpi95tq0Fhc5sGkF8MkJRapH97Xj/zpa31qJh/bKVPB8gAIFZRQDEkvgCtuWEDggfqAtCZhCGbn57bzSZoMEuQHLZFcu5oUir/nYHI0AIgEXjn9t8nhf6XVoLyEpY0gdCZyh4wZiAsQMTl2gUC8aAsZrIUsob7U5ktTOhAYHyj9IsXoPOhjPrUShK50ln3Bex2pqKE5k3kvkfLKC3wiJ3PnuPszUKQ= MIME-Version: 1.0 X-OriginatorOrg: epam.com X-MS-Exchange-CrossTenant-Network-Message-Id: 064a1d7c-e065-4d45-3e77-08d715b355d6 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jul 2019 12:33:47.7619 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Volodymyr_Babchuk@epam.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR03MB4129 Subject: Re: [Xen-devel] [PATCH v4 2/2] xen/arm: merge make_timer_node and make_timer_domU_node X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: "xen-devel@lists.xenproject.org" , Julien Grall , Stefano Stabellini , Viktor Mitin , Volodymyr Babchuk Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" CgpWaWt0b3IgTWl0aW4gd3JpdGVzOgoKPiBNZXJnZWQgbWFrZV90aW1lcl9ub2RlIGFuZCBtYWtl X3RpbWVyX2RvbVVfbm9kZSBpbnRvIG9uZSBmdW5jdGlvbgo+IG1ha2VfdGltZXJfbm9kZS4KSXQg aXMgd2lkZWx5IGFjY2VwdGVkIHRvIHdyaXRlIGNvbW1pdCBtZXNzYWdlcyBpbiBpbXBlcmF0aXZl IG1vb2QsCmUuZy4gIm1lcmdlIiBpbnN0ZWFkIG9mICJtZXJnZWQiCgo+IEtlcHQgdGhlIGRvbVUg dmVyc2lvbiBmb3IgdGhlIGNvbXBhdGlibGUgYXMgaXQgaXMgc2ltcGxlci4KPiBLZXB0IHRoZSBo dyB2ZXJzaW9uIGZvciB0aGUgY2xvY2sgYXMgaXQgaXMgcmVsZXZhbnQgZm9yIHRoZSBib3RoIGNh c2VzLgouLi4gb3IgImtlZXAiIGluc3RlYWQgb2YgImtlcHQiCgo+IFN1Z2dlc3RlZC1ieTogSnVs aWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBWaWt0b3Ig TWl0aW4gPHZpa3Rvcl9taXRpbkBlcGFtLmNvbT4KPiAtLS0KPiB2NCB1cGRhdGVzOgo+ICAgIHVw ZGF0ZWQgIktlcHQgdGhlIGRvbVUgdmVyc2lvbiBmb3IgdGhlIGNvbXBhdGlibGUgYXMgaXQgaXMg c2ltcGxlciIKPgo+ICB4ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgfCAxMDkgKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAzOSBpbnNlcnRp b25zKCspLCA3MCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9t YWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKPiBpbmRleCBkMDRhMWMz YWVjLi40ZDdjMzQxMWE2IDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQu Ywo+ICsrKyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwo+IEBAIC05NjQsOCArOTY0LDEy IEBAIHN0YXRpYyBpbnQgX19pbml0IG1ha2VfZ2ljX25vZGUoY29uc3Qgc3RydWN0IGRvbWFpbiAq ZCwgdm9pZCAqZmR0LAo+Cj4gIHN0YXRpYyBpbnQgX19pbml0IG1ha2VfdGltZXJfbm9kZShjb25z dCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvKQo+ICB7Cj4gKyAgICBpbnQgcmVzOwo+ICAgICAg dm9pZCAqZmR0ID0ga2luZm8tPmZkdDsKPiAtCkluIHRoZSBwcmV2aW91cyBwYXRjaCB5b3UgYWRk ZWQgdGhpcyBlbXB0eSBzdHJpbmcsIG5vdyB5b3UgYXJlIGRlbGV0aW5nCml0LgoKPiArICAgIHVu c2lnbmVkIGludCBpcnFbTUFYX1RJTUVSX1BQSV07Ck1BWF9USU1FUl9QUEkgZXF1YWxzIHRvIDQs IGJ1dCBsb29rcyBsaWtlIHlvdSBhcmUgdXNpbmcgb25seSBmaXJzdCAzCml0ZW1zIG9mIHRoZSBh cnJheS4KCj4gKyAgICBnaWNfaW50ZXJydXB0X3QgaW50cnNbM107Cj4gKyAgICB1MzIgY2xvY2tf ZnJlcXVlbmN5Owo+ICsgICAgYm9vbCBjbG9ja192YWxpZDsKRG8geW91IHJlYWxseSBuZWVkIHRv IG1vdmUgdGhvc2UgZGVjbGFyYXRpb25zPwoKPiAgICAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHRf ZGV2aWNlX21hdGNoIHRpbWVyX2lkc1tdIF9faW5pdGNvbnN0ID0KPiAgICAgIHsKPiAgICAgICAg ICBEVF9NQVRDSF9DT01QQVRJQkxFKCJhcm0sYXJtdjctdGltZXIiKSwKPiBAQCAtOTczLDE1ICs5 NzcsNiBAQCBzdGF0aWMgaW50IF9faW5pdCBtYWtlX3RpbWVyX25vZGUoY29uc3Qgc3RydWN0IGtl cm5lbF9pbmZvICpraW5mbykKPiAgICAgICAgICB7IC8qIHNlbnRpbmVsICovIH0sCj4gICAgICB9 Owo+ICAgICAgc3RydWN0IGR0X2RldmljZV9ub2RlICpkZXY7Cj4gLSAgICB1MzIgbGVuOwo+IC0g ICAgY29uc3Qgdm9pZCAqY29tcGF0aWJsZTsKPiAtICAgIGludCByZXM7Cj4gLSAgICB1bnNpZ25l ZCBpbnQgaXJxOwo+IC0gICAgZ2ljX2ludGVycnVwdF90IGludHJzWzNdOwo+IC0gICAgdTMyIGNs b2NrX2ZyZXF1ZW5jeTsKPiAtICAgIGJvb2wgY2xvY2tfdmFsaWQ7Cj4gLQo+IC0gICAgZHRfZHBy aW50aygiQ3JlYXRlIHRpbWVyIG5vZGVcbiIpOwo+Cj4gICAgICBkZXYgPSBkdF9maW5kX21hdGNo aW5nX25vZGUoTlVMTCwgdGltZXJfaWRzKTsKPiAgICAgIGlmICggIWRldiApCj4gQEAgLTk5MCwz NSArOTg1LDQ5IEBAIHN0YXRpYyBpbnQgX19pbml0IG1ha2VfdGltZXJfbm9kZShjb25zdCBzdHJ1 Y3Qga2VybmVsX2luZm8gKmtpbmZvKQo+ICAgICAgICAgIHJldHVybiAtRkRUX0VSUl9YRU4oRU5P RU5UKTsKPiAgICAgIH0KPgo+IC0gICAgY29tcGF0aWJsZSA9IGR0X2dldF9wcm9wZXJ0eShkZXYs ICJjb21wYXRpYmxlIiwgJmxlbik7Cj4gLSAgICBpZiAoICFjb21wYXRpYmxlICkKPiAtICAgIHsK PiAtICAgICAgICBkcHJpbnRrKFhFTkxPR19FUlIsICJDYW4ndCBmaW5kIGNvbXBhdGlibGUgcHJv cGVydHkgZm9yIHRpbWVyIG5vZGVcbiIpOwo+IC0gICAgICAgIHJldHVybiAtRkRUX0VSUl9YRU4o RU5PRU5UKTsKPiAtICAgIH0KPiAtCj4gICAgICByZXMgPSBmZHRfYmVnaW5fbm9kZShmZHQsICJ0 aW1lciIpOwo+ICAgICAgaWYgKCByZXMgKQo+ICAgICAgICAgIHJldHVybiByZXM7Cj4KPiAtICAg IHJlcyA9IGZkdF9wcm9wZXJ0eShmZHQsICJjb21wYXRpYmxlIiwgY29tcGF0aWJsZSwgbGVuKTsK PiAtICAgIGlmICggcmVzICkKPiAtICAgICAgICByZXR1cm4gcmVzOwo+ICsgICAgaWYgKCAhaXNf NjRiaXRfZG9tYWluKGtpbmZvLT5kKSApCj4gKyAgICB7Cj4gKyAgICAgICAgcmVzID0gZmR0X3By b3BlcnR5X3N0cmluZyhmZHQsICJjb21wYXRpYmxlIiwgImFybSxhcm12Ny10aW1lciIpOwo+ICsg ICAgICAgIGlmICggcmVzICkKPiArICAgICAgICAgICAgcmV0dXJuIHJlczsKPiArICAgIH0KPiAr ICAgIGVsc2UKPiArICAgIHsKPiArICAgICAgICByZXMgPSBmZHRfcHJvcGVydHlfc3RyaW5nKGZk dCwgImNvbXBhdGlibGUiLCAiYXJtLGFybXY4LXRpbWVyIik7Cj4gKyAgICAgICAgaWYgKCByZXMg KQo+ICsgICAgICAgICAgICByZXR1cm4gcmVzOwo+ICsgICAgfQpTbywgcHJldmlvdXNseSB0aGlz IGNvZGUgY29waWVkICJjb21wYXRpYmxlIiBwcm9wZXJ0eSBmcm9tIHBsYXRmb3JtCmRldmljZSB0 cmVlLiBQbGVhc2Ugbm90ZSwgdGhhdCB0aGVvcmV0aWNhbGx5IGl0IHdvdWxkIGJlIG5laXRoZXIK ImFybSxhcm12OC10aW1lciIgbm90ICJhcm0sYXJtdjctdGltZXIiLiBOb3cgeW91IGFyZSBzZXR0 aW5nIG9uZSBvZiB0aGUKdHdvIHZhbHVlcy4gSSdtIG5vdCBzdXJlIGlmIHRoaXMgaXMgcmlnaHQg dGhpbmcgdG8gZG8gaW4gdGhlIGZpcnN0CnBsYWNlLiBQcm9iYWJseSB3ZSBuZWVkIGNvbW1lbnQg ZnJvbSBKdWxpZW4uIEJ1dCB0aGlzIGNoYW5nZSBzaG91bGQgYmUKcmVmbGVjdGVkIGluIHRoZSBj b21taXQgbWVzc2FnZS4KCgo+ICAgICAgLyogVGhlIHRpbWVyIElSUSBpcyBlbXVsYXRlZCBieSBY ZW4uIEl0IGFsd2F5cyBleHBvc2VzIGFuIGFjdGl2ZS1sb3cKPiAgICAgICAqIGxldmVsLXNlbnNp dGl2ZSBpbnRlcnJ1cHQgKi8KSSdtIG5vdCBkZW1hbmRpbmcgdGhpcywgYnV0IHlvdSBjYW4gZml4 IHRoaXMgY29tbWVudCBpbiB0aGUgbmV4dAp2ZXJzaW9uLiBJdCBkb2VzIG5vdCBjb25mb3JtcyB0 byB0aGUgY29kaW5nIHN0eWxlLiBBbHNvLCBpdCBpcyBwYXJ0aWFsbHkKbWlzcGxhY2VkIG5vdy4K Cj4gKyAgICBpZiAoIGlzX2hhcmR3YXJlX2RvbWFpbihraW5mby0+ZCkgKQo+ICsgICAgewo+ICsg ICAgICAgIGlycVtUSU1FUl9QSFlTX1NFQ1VSRV9QUEldID0gdGltZXJfZ2V0X2lycShUSU1FUl9Q SFlTX1NFQ1VSRV9QUEkpOwo+ICsgICAgICAgIGlycVtUSU1FUl9QSFlTX05PTlNFQ1VSRV9QUEld ID0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXJfZ2V0X2lycShU SU1FUl9QSFlTX05PTlNFQ1VSRV9QUEkpOwo+ICsgICAgICAgIGlycVtUSU1FUl9WSVJUX1BQSV0g PSB0aW1lcl9nZXRfaXJxKFRJTUVSX1ZJUlRfUFBJKTsKPiArICAgIH0KPiArICAgIGVsc2UKPiAr ICAgIHsKPiArICAgICAgICBpcnFbVElNRVJfUEhZU19TRUNVUkVfUFBJXSA9IEdVRVNUX1RJTUVS X1BIWVNfU19QUEk7Cj4gKyAgICAgICAgaXJxW1RJTUVSX1BIWVNfTk9OU0VDVVJFX1BQSV0gPSBH VUVTVF9USU1FUl9QSFlTX05TX1BQSTsKPiArICAgICAgICBpcnFbVElNRVJfVklSVF9QUEldID0g R1VFU1RfVElNRVJfVklSVF9QUEk7Cj4gKyAgICB9Cj4KPiAtICAgIGlycSA9IHRpbWVyX2dldF9p cnEoVElNRVJfUEhZU19TRUNVUkVfUFBJKTsKPiAtICAgIGR0X2RwcmludGsoIiAgU2VjdXJlIGlu dGVycnVwdCAldVxuIiwgaXJxKTsKPiAtICAgIHNldF9pbnRlcnJ1cHQoaW50cnNbMF0sIGlycSwg MHhmLCBEVF9JUlFfVFlQRV9MRVZFTF9MT1cpOwo+ICsgICAgZHRfZHByaW50aygiICBTZWN1cmUg aW50ZXJydXB0ICV1XG4iLCBpcnFbVElNRVJfUEhZU19TRUNVUkVfUFBJXSk7Cj4gKyAgICBzZXRf aW50ZXJydXB0KGludHJzWzBdLCBpcnFbVElNRVJfUEhZU19TRUNVUkVfUFBJXSwKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweGYsIERUX0lSUV9UWVBFX0xFVkVMX0xPVyk7ClN0cmFu Z2UgZm9ybWF0dGluZy4gQXMgSSBzYWlkIGVhcmxpZXIsIDB4ZiBzaG91bGQgYmUgYWxpZ25lZCB3 aXRoIGludHJzWzBdLgoKPiAtICAgIGlycSA9IHRpbWVyX2dldF9pcnEoVElNRVJfUEhZU19OT05T RUNVUkVfUFBJKTsKPiAtICAgIGR0X2RwcmludGsoIiAgTm9uIHNlY3VyZSBpbnRlcnJ1cHQgJXVc biIsIGlycSk7Cj4gLSAgICBzZXRfaW50ZXJydXB0KGludHJzWzFdLCBpcnEsIDB4ZiwgRFRfSVJR X1RZUEVfTEVWRUxfTE9XKTsKPiArICAgIGR0X2RwcmludGsoIiAgTm9uIHNlY3VyZSBpbnRlcnJ1 cHQgJXVcbiIsIGlycVtUSU1FUl9QSFlTX05PTlNFQ1VSRV9QUEldKTsKPiArICAgIHNldF9pbnRl cnJ1cHQoaW50cnNbMV0sIGlycVtUSU1FUl9QSFlTX05PTlNFQ1VSRV9QUEldLAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4ZiwgRFRfSVJRX1RZUEVfTEVWRUxfTE9XKTsKVGhlIHNh bWUgYWJvdXQgZm9ybWF0dGluZy4KCj4KPiAtICAgIGlycSA9IHRpbWVyX2dldF9pcnEoVElNRVJf VklSVF9QUEkpOwo+IC0gICAgZHRfZHByaW50aygiICBWaXJ0IGludGVycnVwdCAldVxuIiwgaXJx KTsKPiAtICAgIHNldF9pbnRlcnJ1cHQoaW50cnNbMl0sIGlycSwgMHhmLCBEVF9JUlFfVFlQRV9M RVZFTF9MT1cpOwo+ICsgICAgZHRfZHByaW50aygiICBWaXJ0IGludGVycnVwdCAldVxuIiwgaXJx W1RJTUVSX1ZJUlRfUFBJXSk7Cj4gKyAgICBzZXRfaW50ZXJydXB0KGludHJzWzJdLCBpcnFbVElN RVJfVklSVF9QUEldLCAweGYsIERUX0lSUV9UWVBFX0xFVkVMX0xPVyk7Cj4KPiAgICAgIHJlcyA9 IGZkdF9wcm9wZXJ0eV9pbnRlcnJ1cHRzKGtpbmZvLCBpbnRycywgMyk7Cj4gICAgICBpZiAoIHJl cyApCj4gQEAgLTE2MDMsNDYgKzE2MTIsNiBAQCBzdGF0aWMgaW50IF9faW5pdCBtYWtlX2dpY19k b21VX25vZGUoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwgdm9pZCAqZmR0KQo+ICAgICAgfQo+ICB9 Cj4KPiAtc3RhdGljIGludCBfX2luaXQgbWFrZV90aW1lcl9kb21VX25vZGUoY29uc3Qgc3RydWN0 IGRvbWFpbiAqZCwgdm9pZCAqZmR0KQo+IC17Cj4gLSAgICBpbnQgcmVzOwo+IC0gICAgZ2ljX2lu dGVycnVwdF90IGludHJzWzNdOwo+IC0KPiAtICAgIHJlcyA9IGZkdF9iZWdpbl9ub2RlKGZkdCwg InRpbWVyIik7Cj4gLSAgICBpZiAoIHJlcyApCj4gLSAgICAgICAgcmV0dXJuIHJlczsKPiAtCj4g LSAgICBpZiAoICFpc182NGJpdF9kb21haW4oZCkgKQo+IC0gICAgewo+IC0gICAgICAgIHJlcyA9 IGZkdF9wcm9wZXJ0eV9zdHJpbmcoZmR0LCAiY29tcGF0aWJsZSIsICJhcm0sYXJtdjctdGltZXIi KTsKPiAtICAgICAgICBpZiAoIHJlcyApCj4gLSAgICAgICAgICAgIHJldHVybiByZXM7Cj4gLSAg ICB9Cj4gLSAgICBlbHNlCj4gLSAgICB7Cj4gLSAgICAgICAgcmVzID0gZmR0X3Byb3BlcnR5X3N0 cmluZyhmZHQsICJjb21wYXRpYmxlIiwgImFybSxhcm12OC10aW1lciIpOwo+IC0gICAgICAgIGlm ICggcmVzICkKPiAtICAgICAgICAgICAgcmV0dXJuIHJlczsKPiAtICAgIH0KPiAtCj4gLSAgICBz ZXRfaW50ZXJydXB0KGludHJzWzBdLCBHVUVTVF9USU1FUl9QSFlTX1NfUFBJLCAweGYsIERUX0lS UV9UWVBFX0xFVkVMX0xPVyk7Cj4gLSAgICBzZXRfaW50ZXJydXB0KGludHJzWzFdLCBHVUVTVF9U SU1FUl9QSFlTX05TX1BQSSwgMHhmLCBEVF9JUlFfVFlQRV9MRVZFTF9MT1cpOwo+IC0gICAgc2V0 X2ludGVycnVwdChpbnRyc1syXSwgR1VFU1RfVElNRVJfVklSVF9QUEksIDB4ZiwgRFRfSVJRX1RZ UEVfTEVWRUxfTE9XKTsKPiAtCj4gLSAgICByZXMgPSBmZHRfcHJvcGVydHkoZmR0LCAiaW50ZXJy dXB0cyIsIGludHJzLCBzaXplb2YgKGludHJzWzBdKSAqIDMpOwo+IC0gICAgaWYgKCByZXMgKQo+ IC0gICAgICAgIHJldHVybiByZXM7Cj4gLQo+IC0gICAgcmVzID0gZmR0X3Byb3BlcnR5X2NlbGwo ZmR0LCAiaW50ZXJydXB0LXBhcmVudCIsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBH VUVTVF9QSEFORExFX0dJQyk7Cj4gLSAgICBpZiAocmVzKQo+IC0gICAgICAgIHJldHVybiByZXM7 Cj4gLQo+IC0gICAgcmVzID0gZmR0X2VuZF9ub2RlKGZkdCk7Cj4gLQo+IC0gICAgcmV0dXJuIHJl czsKPiAtfQo+IC0KPiAgI2lmZGVmIENPTkZJR19TQlNBX1ZVQVJUX0NPTlNPTEUKPiAgc3RhdGlj IGludCBfX2luaXQgbWFrZV92cGwwMTFfdWFydF9ub2RlKGNvbnN0IHN0cnVjdCBkb21haW4gKmQs IHZvaWQgKmZkdCkKPiAgewo+IEBAIC0xNzQ4LDcgKzE3MTcsNyBAQCBzdGF0aWMgaW50IF9faW5p dCBwcmVwYXJlX2R0Yl9kb21VKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBrZXJuZWxfaW5mbyAq a2luZm8pCj4gICAgICBpZiAoIHJldCApCj4gICAgICAgICAgZ290byBlcnI7Cj4KPiAtICAgIHJl dCA9IG1ha2VfdGltZXJfZG9tVV9ub2RlKGQsIGtpbmZvLT5mZHQpOwo+ICsgICAgcmV0ID0gbWFr ZV90aW1lcl9ub2RlKGtpbmZvKTsKPiAgICAgIGlmICggcmV0ICkKPiAgICAgICAgICBnb3RvIGVy cjsKCgotLQpWb2xvZHlteXIgQmFiY2h1ayBhdCBFUEFNCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1h bi9saXN0aW5mby94ZW4tZGV2ZWw=