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=-3.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS autolearn=no 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 B70D1C31E40 for ; Tue, 30 Jul 2019 16:36:15 +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 7C993216C8 for ; Tue, 30 Jul 2019 16:36:15 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="c1PQifH4" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7C993216C8 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amd.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 1hsV6Q-0002eO-N4; Tue, 30 Jul 2019 16:35: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 1hsV6P-0002eJ-6i for xen-devel@lists.xenproject.org; Tue, 30 Jul 2019 16:35:53 +0000 X-Inumbo-ID: 175ff06a-b2e8-11e9-8980-bc764e045a96 Received: from NAM05-BY2-obe.outbound.protection.outlook.com (unknown [2a01:111:f400:fe52::60d]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 175ff06a-b2e8-11e9-8980-bc764e045a96; Tue, 30 Jul 2019 16:35:51 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h4nM6UJ7RQ1NpkOWgM5rwuiONBYhlWOXbxEy68wDkDIeZYIWaEyFHJvmY3CqYzlSFSzT5en8VxtlGcAgmzBLn1n2FJvqDgRB/K2TdPlJBsFPSbPf8CuogGlGKxI10OylWRzK4pjZR92d6GeYUKLtOJKIUsVSKBl6aLI8m0+GRVyAU0sEas82uOwkeZNpspPxErnWfRlMm0aIPap4OdF5fyh07s7LsI7HdN+bGITIK7XF3Oj957BIyAvrScjkZAl9XSzA3Hhz2T2xXqNTHh7bOZ2JVQCsKRUqGKWTs+wg2LjvdOMvIQx6lzX7PAJwlxyuIGIVmThaQMcN8GjdepZixA== 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=bjpctvCNY1TVBX/CUS6uknZ7nSbvIvysjB18DGSAsUU=; b=KGbWA8x5nAi6JcxvWzXiCRbJrFTiHvH2xB+VvvEWfKScDuJmkvl+9cENZO0P3tIJunVUI1OCYqp/EKPvEYEypfCfQ5X3IdsaDLiAh6J9XvvTMwgtzAUVDkOlK79+vLpbTelYJ+KN2k6iiQXsMXanCfk+iT8z2X9YTbm8iYPUmditgGMIE6tx9TW63qlDfOqeKxkmLx110kd26vDVUoZDbze8TRN52jl29y8GHfT6sqLhLViQYtXb+CGiY0+yYJQD8BCB5hETK/cqFLxjpdpMLdN+bL5lPgH3Dy9uelJA3G1gj9ZWDVPkzO8sIjdUpNN0je0hYTG9fdSvEh2ZS2u3Rg== ARC-Authentication-Results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=amd.com;dmarc=pass action=none header.from=amd.com;dkim=pass header.d=amd.com;arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bjpctvCNY1TVBX/CUS6uknZ7nSbvIvysjB18DGSAsUU=; b=c1PQifH4Zfkni+HTdSNmNWVNvqWnJ1+UCvEdXz4OLmh3n0MvviXJ7uinTXAB0+xyPMh+bdOJXb2q5fz0YQkawYhP3Qn2ZiabVs70nfkLbWxJ029hump2PIYxT3dS3bfPjG1w+ejB+4RBvMacXKeTpN2cpifDFQXyimmT6WZmKI4= Received: from MN2PR12MB3520.namprd12.prod.outlook.com (20.179.82.28) by MN2PR12MB3903.namprd12.prod.outlook.com (10.255.238.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2115.15; Tue, 30 Jul 2019 16:35:49 +0000 Received: from MN2PR12MB3520.namprd12.prod.outlook.com ([fe80::3cfb:fd2c:cea1:9cb9]) by MN2PR12MB3520.namprd12.prod.outlook.com ([fe80::3cfb:fd2c:cea1:9cb9%5]) with mapi id 15.20.2115.005; Tue, 30 Jul 2019 16:35:49 +0000 From: "Woods, Brian" To: Jan Beulich Thread-Topic: [PATCH v4 01/12] AMD/IOMMU: use bit field for extended feature register Thread-Index: AQHVQu4aFQuwvyGZwUyEIomvAZIXdqbjY9AA Date: Tue, 30 Jul 2019 16:35:48 +0000 Message-ID: <20190730163545.GA31577@amd.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: SN6PR16CA0051.namprd16.prod.outlook.com (2603:10b6:805:ca::28) To MN2PR12MB3520.namprd12.prod.outlook.com (2603:10b6:208:100::28) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Brian.Woods@amd.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [165.204.77.1] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2fd06f77-41c8-460f-9f58-08d7150bfa83 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:MN2PR12MB3903; x-ms-traffictypediagnostic: MN2PR12MB3903: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4714; x-forefront-prvs: 0114FF88F6 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(366004)(396003)(136003)(376002)(346002)(199004)(189003)(33656002)(54906003)(52116002)(256004)(5660300002)(25786009)(66066001)(102836004)(6506007)(26005)(8676002)(386003)(186003)(81166006)(8936002)(76176011)(99286004)(81156014)(6116002)(316002)(14444005)(478600001)(36756003)(3846002)(30864003)(2906002)(14454004)(53946003)(2616005)(64756008)(446003)(1076003)(53936002)(86362001)(229853002)(476003)(11346002)(66446008)(6486002)(486006)(68736007)(6246003)(4326008)(71190400001)(7736002)(66946007)(66556008)(6512007)(66476007)(305945005)(6916009)(6436002)(71200400001); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR12MB3903; H:MN2PR12MB3520.namprd12.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: anncRW/gjafMZR6FxbK9Z5QKPL5N/NuVwpiGbnNDKMyMSonjTv6BJ9gM4ZbZf84i5kmYCCNesDKwEBwvOtc1QLxfwj4ndEdBJSq2JUR54vA8Xe8ruOCGy06d1oJHmUpGR3nMS1AqPJcGCbxR0Iuo8UJm8J0F/xmtf12KMBKOo4MsC79NUnWoYUK2nW3YRPxTf3SbwKLSbuObHxH5GfJh7sybHxNwnfvHIcSX0VTbmQJG74T5rhlOCznc493IVKSbJ2dF9f4BItqVUPShgZoNGawLnCR0olL+2ARbzNjcNrtCzVThk3lUe9qiox01Y/PVz+zr2VMXPbOpDjVr5nJH6XTitek1HrRCRM0HRzYTgvEWo+P8vhBE6a1MyssUYBZGu3UwTF+vKHU6wY/nnxcxFruIB4liDUhXSdYd5KiAW6E= Content-ID: MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2fd06f77-41c8-460f-9f58-08d7150bfa83 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jul 2019 16:35:48.9597 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: brwoods@amd.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB3903 Subject: Re: [Xen-devel] [PATCH v4 01/12] AMD/IOMMU: use bit field for extended feature register 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" , "Woods, Brian" , "Suthikulpanit, Suravee" , Andrew Cooper Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gVGh1LCBKdWwgMjUsIDIwMTkgYXQgMDE6Mjk6MTZQTSArMDAwMCwgSmFuIEJldWxpY2ggd3Jv dGU6Cj4gVGhpcyBhbHNvIHRha2VzIGNhcmUgb2Ygc2V2ZXJhbCBvZiB0aGUgc2hpZnQgdmFsdWVz IHdyb25nbHkgaGF2aW5nIGJlZW4KPiBzcGVjaWZpZWQgYXMgaGV4IHJhdGhlciB0aGFuIGRlYy4K PiAKPiBUYWtlIHRoZSBvcHBvcnR1bml0eSBhbmQKPiAtIHJlcGxhY2UgYSByZWFkbCgpIHBhaXIg YnkgYSBzaW5nbGUgcmVhZHEoKSwKPiAtIGFkZCBmdXJ0aGVyIGZpZWxkcy4KPiAKPiBTaWduZWQt b2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Cj4gQWNrZWQtYnk6IEFuZHJl dyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CgpBY2tlZC1ieTogQnJpYW4gV29v ZHMgPGJyaWFuLndvb2RzQGFtZC5jb20+Cgo+IC0tLQo+IHY0OiBEcm9wIHN0cmF5L2xlZnRvdmVy ICN1bmRlZi4KPiB2MzogQW5vdGhlciBhdHRlbXB0IGF0IGRlcml2aW5nIG1hc2tzIGZyb20gYml0 ZmllbGRzLCBob3BlZnVsbHkgYmV0dGVyCj4gICAgICBsaWtlZCBieSBjbGFuZyAobWluZSB3YXMg ZmluZSBldmVuIHdpdGggdGhlIHYyIHZhcmlhbnQpLgo+IHYyOiBDb3JyZWN0IHNhdHNfc3VwIHBv c2l0aW9uIGFuZCBuYW1lLiBSZS1iYXNlIG92ZXIgbmV3IGVhcmxpZXIgcGF0Y2guCj4gCj4gLS0t IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2RldGVjdC5jCj4gKysrIGIveGVu L2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2RldGVjdC5jCj4gQEAgLTYwLDQ5ICs2MCw3 NiBAQCBzdGF0aWMgaW50IF9faW5pdCBnZXRfaW9tbXVfY2FwYWJpbGl0aWVzCj4gICAKPiAgIHZv aWQgX19pbml0IGdldF9pb21tdV9mZWF0dXJlcyhzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKPiAg IHsKPiAtICAgIHUzMiBsb3csIGhpZ2g7Cj4gLSAgICBpbnQgaSA9IDAgOwo+ICAgICAgIGNvbnN0 IHN0cnVjdCBhbWRfaW9tbXUgKmZpcnN0Owo+IC0gICAgc3RhdGljIGNvbnN0IGNoYXIgKl9faW5p dGRhdGEgZmVhdHVyZV9zdHJbXSA9IHsKPiAtICAgICAgICAiLSBQcmVmZXRjaCBQYWdlcyBDb21t YW5kIiwKPiAtICAgICAgICAiLSBQZXJpcGhlcmFsIFBhZ2UgU2VydmljZSBSZXF1ZXN0IiwKPiAt ICAgICAgICAiLSBYMkFQSUMgU3VwcG9ydGVkIiwKPiAtICAgICAgICAiLSBOWCBiaXQgU3VwcG9y dGVkIiwKPiAtICAgICAgICAiLSBHdWVzdCBUcmFuc2xhdGlvbiIsCj4gLSAgICAgICAgIi0gUmVz ZXJ2ZWQgYml0IFs1XSIsCj4gLSAgICAgICAgIi0gSW52YWxpZGF0ZSBBbGwgQ29tbWFuZCIsCj4g LSAgICAgICAgIi0gR3Vlc3QgQVBJQyBzdXBwb3J0ZWQiLAo+IC0gICAgICAgICItIEhhcmR3YXJl IEVycm9yIFJlZ2lzdGVycyIsCj4gLSAgICAgICAgIi0gUGVyZm9ybWFuY2UgQ291bnRlcnMiLAo+ IC0gICAgICAgIE5VTEwKPiAtICAgIH07Cj4gLQo+ICAgICAgIEFTU0VSVCggaW9tbXUtPm1taW9f YmFzZSApOwo+ICAgCj4gICAgICAgaWYgKCAhaW9tbXVfaGFzX2NhcChpb21tdSwgUENJX0NBUF9F RlJTVVBfU0hJRlQpICkKPiAgICAgICB7Cj4gLSAgICAgICAgaW9tbXUtPmZlYXR1cmVzID0gMDsK PiArICAgICAgICBpb21tdS0+ZmVhdHVyZXMucmF3ID0gMDsKPiAgICAgICAgICAgcmV0dXJuOwo+ ICAgICAgIH0KPiAgIAo+IC0gICAgbG93ID0gcmVhZGwoaW9tbXUtPm1taW9fYmFzZSArIElPTU1V X0VYVF9GRUFUVVJFX01NSU9fT0ZGU0VUKTsKPiAtICAgIGhpZ2ggPSByZWFkbChpb21tdS0+bW1p b19iYXNlICsgSU9NTVVfRVhUX0ZFQVRVUkVfTU1JT19PRkZTRVQgKyA0KTsKPiAtCj4gLSAgICBp b21tdS0+ZmVhdHVyZXMgPSAoKHU2NCloaWdoIDw8IDMyKSB8IGxvdzsKPiArICAgIGlvbW11LT5m ZWF0dXJlcy5yYXcgPQo+ICsgICAgICAgIHJlYWRxKGlvbW11LT5tbWlvX2Jhc2UgKyBJT01NVV9F WFRfRkVBVFVSRV9NTUlPX09GRlNFVCk7Cj4gICAKPiAgICAgICAvKiBEb24ndCBsb2cgdGhlIHNh bWUgc2V0IG9mIGZlYXR1cmVzIG92ZXIgYW5kIG92ZXIuICovCj4gICAgICAgZmlyc3QgPSBsaXN0 X2ZpcnN0X2VudHJ5KCZhbWRfaW9tbXVfaGVhZCwgc3RydWN0IGFtZF9pb21tdSwgbGlzdCk7Cj4g LSAgICBpZiAoIGlvbW11ICE9IGZpcnN0ICYmIGlvbW11LT5mZWF0dXJlcyA9PSBmaXJzdC0+ZmVh dHVyZXMgKQo+ICsgICAgaWYgKCBpb21tdSAhPSBmaXJzdCAmJiBpb21tdS0+ZmVhdHVyZXMucmF3 ID09IGZpcnN0LT5mZWF0dXJlcy5yYXcgKQo+ICAgICAgICAgICByZXR1cm47Cj4gICAKPiAgICAg ICBwcmludGsoIkFNRC1WaTogSU9NTVUgRXh0ZW5kZWQgRmVhdHVyZXM6XG4iKTsKPiAgIAo+IC0g ICAgd2hpbGUgKCBmZWF0dXJlX3N0cltpXSApCj4gKyNkZWZpbmUgRkVBVChmbGQsIHN0cikgZG8g eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgIGlmICggLS0oKHVu aW9uIGFtZF9pb21tdV9leHRfZmVhdHVyZXMpe30pLmZsZHMuZmxkID4gMSApICAgXAo+ICsgICAg ICAgIHByaW50ayggIi0gIiBzdHIgIjogJSN4XG4iLCBpb21tdS0+ZmVhdHVyZXMuZmxkcy5mbGQp OyBcCj4gKyAgICBlbHNlIGlmICggaW9tbXUtPmZlYXR1cmVzLmZsZHMuZmxkICkgICAgICAgICAg ICAgICAgICAgICAgIFwKPiArICAgICAgICBwcmludGsoICItICIgc3RyICJcbiIpOyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICt9IHdoaWxlICggZmFsc2UgKQo+ICsKPiArICAg IEZFQVQocHJlZl9zdXAsICAgICAgICAgICAiUHJlZmV0Y2ggUGFnZXMgQ29tbWFuZCIpOwo+ICsg ICAgRkVBVChwcHJfc3VwLCAgICAgICAgICAgICJQZXJpcGhlcmFsIFBhZ2UgU2VydmljZSBSZXF1 ZXN0Iik7Cj4gKyAgICBGRUFUKHh0X3N1cCwgICAgICAgICAgICAgIngyQVBJQyIpOwo+ICsgICAg RkVBVChueF9zdXAsICAgICAgICAgICAgICJOWCBiaXQiKTsKPiArICAgIEZFQVQoZ2FwcGlfc3Vw LCAgICAgICAgICAiR3Vlc3QgQVBJQyBQaHlzaWNhbCBQcm9jZXNzb3IgSW50ZXJydXB0Iik7Cj4g KyAgICBGRUFUKGlhX3N1cCwgICAgICAgICAgICAgIkludmFsaWRhdGUgQWxsIENvbW1hbmQiKTsK PiArICAgIEZFQVQoZ2Ffc3VwLCAgICAgICAgICAgICAiR3Vlc3QgQVBJQyIpOwo+ICsgICAgRkVB VChoZV9zdXAsICAgICAgICAgICAgICJIYXJkd2FyZSBFcnJvciBSZWdpc3RlcnMiKTsKPiArICAg IEZFQVQocGNfc3VwLCAgICAgICAgICAgICAiUGVyZm9ybWFuY2UgQ291bnRlcnMiKTsKPiArICAg IEZFQVQoaGF0cywgICAgICAgICAgICAgICAiSG9zdCBBZGRyZXNzIFRyYW5zbGF0aW9uIFNpemUi KTsKPiArCj4gKyAgICBpZiAoIGlvbW11LT5mZWF0dXJlcy5mbGRzLmd0X3N1cCApCj4gICAgICAg ewo+IC0gICAgICAgIGlmICggYW1kX2lvbW11X2hhc19mZWF0dXJlKGlvbW11LCBpKSApCj4gLSAg ICAgICAgICAgIHByaW50ayggIiAlc1xuIiwgZmVhdHVyZV9zdHJbaV0pOwo+IC0gICAgICAgIGkr KzsKPiArICAgICAgICBGRUFUKGdhdHMsICAgICAgICAgICAiR3Vlc3QgQWRkcmVzcyBUcmFuc2xh dGlvbiBTaXplIik7Cj4gKyAgICAgICAgRkVBVChnbHhfc3VwLCAgICAgICAgIkd1ZXN0IENSMyBS b290IFRhYmxlIExldmVsIik7Cj4gKyAgICAgICAgRkVBVChwYXNfbWF4LCAgICAgICAgIk1heGlt dW0gUEFTSUQiKTsKPiAgICAgICB9Cj4gKwo+ICsgICAgRkVBVChzbWlmX3N1cCwgICAgICAgICAg ICJTTUkgRmlsdGVyIFJlZ2lzdGVyIik7Cj4gKyAgICBGRUFUKHNtaWZfcmMsICAgICAgICAgICAg IlNNSSBGaWx0ZXIgUmVnaXN0ZXIgQ291bnQiKTsKPiArICAgIEZFQVQoZ2FtX3N1cCwgICAgICAg ICAgICAiR3Vlc3QgVmlydHVhbCBBUElDIE1vZGVzIik7Cj4gKyAgICBGRUFUKGR1YWxfcHByX2xv Z19zdXAsICAgIkR1YWwgUFBSIExvZyIpOwo+ICsgICAgRkVBVChkdWFsX2V2ZW50X2xvZ19zdXAs ICJEdWFsIEV2ZW50IExvZyIpOwo+ICsgICAgRkVBVChzYXRzX3N1cCwgICAgICAgICAgICJTZWN1 cmUgQVRTIik7Cj4gKyAgICBGRUFUKHVzX3N1cCwgICAgICAgICAgICAgIlVzZXIgLyBTdXBlcnZp c29yIFBhZ2UgUHJvdGVjdGlvbiIpOwo+ICsgICAgRkVBVChkZXZfdGJsX3NlZ19zdXAsICAgICJE ZXZpY2UgVGFibGUgU2VnbWVudGF0aW9uIik7Cj4gKyAgICBGRUFUKHBwcl9lYXJseV9vZl9zdXAs ICAgIlBQUiBMb2cgT3ZlcmZsb3cgRWFybHkgV2FybmluZyIpOwo+ICsgICAgRkVBVChwcHJfYXV0 b19yc3Bfc3VwLCAgICJQUFIgQXV0b21hdGljIFJlc3BvbnNlIik7Cj4gKyAgICBGRUFUKG1hcmNf c3VwLCAgICAgICAgICAgIk1lbW9yeSBBY2Nlc3MgUm91dGluZyBhbmQgQ29udHJvbCIpOwo+ICsg ICAgRkVBVChibGtfc3RvcF9tcmtfc3VwLCAgICJCbG9jayBTdG9wTWFyayBNZXNzYWdlIik7Cj4g KyAgICBGRUFUKHBlcmZfb3B0X3N1cCAsICAgICAgIlBlcmZvcm1hbmNlIE9wdGltaXphdGlvbiIp Owo+ICsgICAgRkVBVChtc2lfY2FwX21taW9fc3VwLCAgICJNU0kgQ2FwYWJpbGl0eSBNTUlPIEFj Y2VzcyIpOwo+ICsgICAgRkVBVChnaW9fc3VwLCAgICAgICAgICAgICJHdWVzdCBJL08gUHJvdGVj dGlvbiIpOwo+ICsgICAgRkVBVChoYV9zdXAsICAgICAgICAgICAgICJIb3N0IEFjY2VzcyIpOwo+ ICsgICAgRkVBVChlcGhfc3VwLCAgICAgICAgICAgICJFbmhhbmNlZCBQUFIgSGFuZGxpbmciKTsK PiArICAgIEZFQVQoYXR0cl9md19zdXAsICAgICAgICAiQXR0cmlidXRlIEZvcndhcmQiKTsKPiAr ICAgIEZFQVQoaGRfc3VwLCAgICAgICAgICAgICAiSG9zdCBEaXJ0eSIpOwo+ICsgICAgRkVBVChp bnZfaW90bGJfdHlwZV9zdXAsICJJbnZhbGlkYXRlIElPVExCIFR5cGUiKTsKPiArICAgIEZFQVQo dmlvbW11X3N1cCwgICAgICAgICAiVmlydHVhbGl6ZWQgSU9NTVUiKTsKPiArICAgIEZFQVQodm1f Z3VhcmRfaW9fc3VwLCAgICAiVk1HdWFyZCBJL08gU3VwcG9ydCIpOwo+ICsgICAgRkVBVCh2bV90 YWJsZV9zaXplLCAgICAgICJWTSBUYWJsZSBTaXplIik7Cj4gKyAgICBGRUFUKGdhX3VwZGF0ZV9k aXNfc3VwLCAgIkd1ZXN0IEFjY2VzcyBCaXQgVXBkYXRlIERpc2FibGUiKTsKPiArCj4gKyN1bmRl ZiBGRUFUCj4gICB9Cj4gICAKPiAgIGludCBfX2luaXQgYW1kX2lvbW11X2RldGVjdF9vbmVfYWNw aSgKPiAtLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfZ3Vlc3QuYwo+ICsr KyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9ndWVzdC5jCj4gQEAgLTYzOCw3 ICs2MzgsNyBAQCBzdGF0aWMgdWludDY0X3QgaW9tbXVfbW1pb19yZWFkNjQoc3RydWN0Cj4gICAg ICAgICAgIHZhbCA9IHJlZ190b191NjQoaW9tbXUtPnJlZ19zdGF0dXMpOwo+ICAgICAgICAgICBi cmVhazsKPiAgICAgICBjYXNlIElPTU1VX0VYVF9GRUFUVVJFX01NSU9fT0ZGU0VUOgo+IC0gICAg ICAgIHZhbCA9IHJlZ190b191NjQoaW9tbXUtPnJlZ19leHRfZmVhdHVyZSk7Cj4gKyAgICAgICAg dmFsID0gaW9tbXUtPnJlZ19leHRfZmVhdHVyZS5yYXc7Cj4gICAgICAgICAgIGJyZWFrOwo+ICAg Cj4gICAgICAgZGVmYXVsdDoKPiBAQCAtODAyLDM5ICs4MDIsMjYgQEAgaW50IGd1ZXN0X2lvbW11 X3NldF9iYXNlKHN0cnVjdCBkb21haW4gKgo+ICAgLyogSW5pdGlhbGl6ZSBtbWlvIHJlYWQgb25s eSBiaXRzICovCj4gICBzdGF0aWMgdm9pZCBndWVzdF9pb21tdV9yZWdfaW5pdChzdHJ1Y3QgZ3Vl c3RfaW9tbXUgKmlvbW11KQo+ICAgewo+IC0gICAgdWludDMyX3QgbG93ZXIsIHVwcGVyOwo+ICsg ICAgdW5pb24gYW1kX2lvbW11X2V4dF9mZWF0dXJlcyBlZiA9IHsKPiArICAgICAgICAvKiBTdXBw b3J0IHByZWZldGNoICovCj4gKyAgICAgICAgLmZsZHMucHJlZl9zdXAgPSAxLAo+ICsgICAgICAg IC8qIFN1cHBvcnQgUFBSIGxvZyAqLwo+ICsgICAgICAgIC5mbGRzLnBwcl9zdXAgPSAxLAo+ICsg ICAgICAgIC8qIFN1cHBvcnQgZ3Vlc3QgdHJhbnNsYXRpb24gKi8KPiArICAgICAgICAuZmxkcy5n dF9zdXAgPSAxLAo+ICsgICAgICAgIC8qIFN1cHBvcnQgaW52YWxpZGF0ZSBhbGwgY29tbWFuZCAq Lwo+ICsgICAgICAgIC5mbGRzLmlhX3N1cCA9IDEsCj4gKyAgICAgICAgLyogSG9zdCB0cmFuc2xh dGlvbiBzaXplIGhhcyA2IGxldmVscyAqLwo+ICsgICAgICAgIC5mbGRzLmhhdHMgPSBIT1NUX0FE RFJFU1NfU0laRV82X0xFVkVMLAo+ICsgICAgICAgIC8qIEd1ZXN0IHRyYW5zbGF0aW9uIHNpemUg aGFzIDYgbGV2ZWxzICovCj4gKyAgICAgICAgLmZsZHMuZ2F0cyA9IEdVRVNUX0FERFJFU1NfU0la RV82X0xFVkVMLAo+ICsgICAgICAgIC8qIFNpbmdsZSBsZXZlbCBnQ1IzICovCj4gKyAgICAgICAg LmZsZHMuZ2x4X3N1cCA9IEdVRVNUX0NSM18xX0xFVkVMLAo+ICsgICAgICAgIC8qIDkgYml0IFBB U0lEICovCj4gKyAgICAgICAgLmZsZHMucGFzX21heCA9IFBBU01BWF85X2JpdCwKPiArICAgIH07 Cj4gICAKPiAtICAgIGxvd2VyID0gdXBwZXIgPSAwOwo+IC0gICAgLyogU3VwcG9ydCBwcmVmZXRj aCAqLwo+IC0gICAgaW9tbXVfc2V0X2JpdCgmbG93ZXIsSU9NTVVfRVhUX0ZFQVRVUkVfUFJFRlNV UF9TSElGVCk7Cj4gLSAgICAvKiBTdXBwb3J0IFBQUiBsb2cgKi8KPiAtICAgIGlvbW11X3NldF9i aXQoJmxvd2VyLElPTU1VX0VYVF9GRUFUVVJFX1BQUlNVUF9TSElGVCk7Cj4gLSAgICAvKiBTdXBw b3J0IGd1ZXN0IHRyYW5zbGF0aW9uICovCj4gLSAgICBpb21tdV9zZXRfYml0KCZsb3dlcixJT01N VV9FWFRfRkVBVFVSRV9HVFNVUF9TSElGVCk7Cj4gLSAgICAvKiBTdXBwb3J0IGludmFsaWRhdGUg YWxsIGNvbW1hbmQgKi8KPiAtICAgIGlvbW11X3NldF9iaXQoJmxvd2VyLElPTU1VX0VYVF9GRUFU VVJFX0lBU1VQX1NISUZUKTsKPiAtCj4gLSAgICAvKiBIb3N0IHRyYW5zbGF0aW9uIHNpemUgaGFz IDYgbGV2ZWxzICovCj4gLSAgICBzZXRfZmllbGRfaW5fcmVnX3UzMihIT1NUX0FERFJFU1NfU0la RV82X0xFVkVMLCBsb3dlciwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX0VYVF9G RUFUVVJFX0hBVFNfTUFTSywKPiAtICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX0VYVF9G RUFUVVJFX0hBVFNfU0hJRlQsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAmbG93ZXIpOwo+ IC0gICAgLyogR3Vlc3QgdHJhbnNsYXRpb24gc2l6ZSBoYXMgNiBsZXZlbHMgKi8KPiAtICAgIHNl dF9maWVsZF9pbl9yZWdfdTMyKEdVRVNUX0FERFJFU1NfU0laRV82X0xFVkVMLCBsb3dlciwKPiAt ICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX0VYVF9GRUFUVVJFX0dBVFNfTUFTSywKPiAt ICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX0VYVF9GRUFUVVJFX0dBVFNfU0hJRlQsCj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAmbG93ZXIpOwo+IC0gICAgLyogU2luZ2xlIGxldmVs IGdDUjMgKi8KPiAtICAgIHNldF9maWVsZF9pbl9yZWdfdTMyKEdVRVNUX0NSM18xX0xFVkVMLCBs b3dlciwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX0VYVF9GRUFUVVJFX0dMWFNV UF9NQVNLLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVfRVhUX0ZFQVRVUkVfR0xY U1VQX1NISUZULCAmbG93ZXIpOwo+IC0gICAgLyogOSBiaXQgUEFTSUQgKi8KPiAtICAgIHNldF9m aWVsZF9pbl9yZWdfdTMyKFBBU01BWF85X2JpdCwgdXBwZXIsCj4gLSAgICAgICAgICAgICAgICAg ICAgICAgICBJT01NVV9FWFRfRkVBVFVSRV9QQVNNQVhfTUFTSywKPiAtICAgICAgICAgICAgICAg ICAgICAgICAgIElPTU1VX0VYVF9GRUFUVVJFX1BBU01BWF9TSElGVCwgJnVwcGVyKTsKPiAtCj4g LSAgICBpb21tdS0+cmVnX2V4dF9mZWF0dXJlLmxvID0gbG93ZXI7Cj4gLSAgICBpb21tdS0+cmVn X2V4dF9mZWF0dXJlLmhpID0gdXBwZXI7Cj4gKyAgICBpb21tdS0+cmVnX2V4dF9mZWF0dXJlID0g ZWY7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBpbnQgZ3Vlc3RfaW9tbXVfbW1pb19yYW5nZShzdHJ1 Y3QgdmNwdSAqdiwgdW5zaWduZWQgbG9uZyBhZGRyKQo+IC0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL2FtZC9pb21tdV9pbml0LmMKPiArKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9h bWQvaW9tbXVfaW5pdC5jCj4gQEAgLTg4Miw3ICs4ODIsNyBAQCBzdGF0aWMgdm9pZCBlbmFibGVf aW9tbXUoc3RydWN0IGFtZF9pb21tCj4gICAgICAgcmVnaXN0ZXJfaW9tbXVfZXZlbnRfbG9nX2lu X21taW9fc3BhY2UoaW9tbXUpOwo+ICAgICAgIHJlZ2lzdGVyX2lvbW11X2V4Y2x1c2lvbl9yYW5n ZShpb21tdSk7Cj4gICAKPiAtICAgIGlmICggYW1kX2lvbW11X2hhc19mZWF0dXJlKGlvbW11LCBJ T01NVV9FWFRfRkVBVFVSRV9QUFJTVVBfU0hJRlQpICkKPiArICAgIGlmICggaW9tbXUtPmZlYXR1 cmVzLmZsZHMucHByX3N1cCApCj4gICAgICAgICAgIHJlZ2lzdGVyX2lvbW11X3Bwcl9sb2dfaW5f bW1pb19zcGFjZShpb21tdSk7Cj4gICAKPiAgICAgICBkZXNjID0gaXJxX3RvX2Rlc2MoaW9tbXUt Pm1zaS5pcnEpOwo+IEBAIC04OTYsMTUgKzg5NiwxNSBAQCBzdGF0aWMgdm9pZCBlbmFibGVfaW9t bXUoc3RydWN0IGFtZF9pb21tCj4gICAgICAgc2V0X2lvbW11X2NvbW1hbmRfYnVmZmVyX2NvbnRy b2woaW9tbXUsIElPTU1VX0NPTlRST0xfRU5BQkxFRCk7Cj4gICAgICAgc2V0X2lvbW11X2V2ZW50 X2xvZ19jb250cm9sKGlvbW11LCBJT01NVV9DT05UUk9MX0VOQUJMRUQpOwo+ICAgCj4gLSAgICBp ZiAoIGFtZF9pb21tdV9oYXNfZmVhdHVyZShpb21tdSwgSU9NTVVfRVhUX0ZFQVRVUkVfUFBSU1VQ X1NISUZUKSApCj4gKyAgICBpZiAoIGlvbW11LT5mZWF0dXJlcy5mbGRzLnBwcl9zdXAgKQo+ICAg ICAgICAgICBzZXRfaW9tbXVfcHByX2xvZ19jb250cm9sKGlvbW11LCBJT01NVV9DT05UUk9MX0VO QUJMRUQpOwo+ICAgCj4gLSAgICBpZiAoIGFtZF9pb21tdV9oYXNfZmVhdHVyZShpb21tdSwgSU9N TVVfRVhUX0ZFQVRVUkVfR1RTVVBfU0hJRlQpICkKPiArICAgIGlmICggaW9tbXUtPmZlYXR1cmVz LmZsZHMuZ3Rfc3VwICkKPiAgICAgICAgICAgc2V0X2lvbW11X2d1ZXN0X3RyYW5zbGF0aW9uX2Nv bnRyb2woaW9tbXUsIElPTU1VX0NPTlRST0xfRU5BQkxFRCk7Cj4gICAKPiAgICAgICBzZXRfaW9t bXVfdHJhbnNsYXRpb25fY29udHJvbChpb21tdSwgSU9NTVVfQ09OVFJPTF9FTkFCTEVEKTsKPiAg IAo+IC0gICAgaWYgKCBhbWRfaW9tbXVfaGFzX2ZlYXR1cmUoaW9tbXUsIElPTU1VX0VYVF9GRUFU VVJFX0lBU1VQX1NISUZUKSApCj4gKyAgICBpZiAoIGlvbW11LT5mZWF0dXJlcy5mbGRzLmlhX3N1 cCApCj4gICAgICAgICAgIGFtZF9pb21tdV9mbHVzaF9hbGxfY2FjaGVzKGlvbW11KTsKPiAgIAo+ ICAgICAgIGlvbW11LT5lbmFibGVkID0gMTsKPiBAQCAtOTI3LDEwICs5MjcsMTAgQEAgc3RhdGlj IHZvaWQgZGlzYWJsZV9pb21tdShzdHJ1Y3QgYW1kX2lvbQo+ICAgICAgIHNldF9pb21tdV9jb21t YW5kX2J1ZmZlcl9jb250cm9sKGlvbW11LCBJT01NVV9DT05UUk9MX0RJU0FCTEVEKTsKPiAgICAg ICBzZXRfaW9tbXVfZXZlbnRfbG9nX2NvbnRyb2woaW9tbXUsIElPTU1VX0NPTlRST0xfRElTQUJM RUQpOwo+ICAgCj4gLSAgICBpZiAoIGFtZF9pb21tdV9oYXNfZmVhdHVyZShpb21tdSwgSU9NTVVf RVhUX0ZFQVRVUkVfUFBSU1VQX1NISUZUKSApCj4gKyAgICBpZiAoIGlvbW11LT5mZWF0dXJlcy5m bGRzLnBwcl9zdXAgKQo+ICAgICAgICAgICBzZXRfaW9tbXVfcHByX2xvZ19jb250cm9sKGlvbW11 LCBJT01NVV9DT05UUk9MX0RJU0FCTEVEKTsKPiAgIAo+IC0gICAgaWYgKCBhbWRfaW9tbXVfaGFz X2ZlYXR1cmUoaW9tbXUsIElPTU1VX0VYVF9GRUFUVVJFX0dUU1VQX1NISUZUKSApCj4gKyAgICBp ZiAoIGlvbW11LT5mZWF0dXJlcy5mbGRzLmd0X3N1cCApCj4gICAgICAgICAgIHNldF9pb21tdV9n dWVzdF90cmFuc2xhdGlvbl9jb250cm9sKGlvbW11LCBJT01NVV9DT05UUk9MX0RJU0FCTEVEKTsK PiAgIAo+ICAgICAgIHNldF9pb21tdV90cmFuc2xhdGlvbl9jb250cm9sKGlvbW11LCBJT01NVV9D T05UUk9MX0RJU0FCTEVEKTsKPiBAQCAtMTAyNiw3ICsxMDI2LDcgQEAgc3RhdGljIGludCBfX2lu aXQgYW1kX2lvbW11X2luaXRfb25lKHN0cgo+ICAgCj4gICAgICAgZ2V0X2lvbW11X2ZlYXR1cmVz KGlvbW11KTsKPiAgIAo+IC0gICAgaWYgKCBpb21tdS0+ZmVhdHVyZXMgKQo+ICsgICAgaWYgKCBp b21tdS0+ZmVhdHVyZXMucmF3ICkKPiAgICAgICAgICAgaW9tbXV2Ml9lbmFibGVkID0gMTsKPiAg IAo+ICAgICAgIGlmICggYWxsb2NhdGVfY21kX2J1ZmZlcihpb21tdSkgPT0gTlVMTCApCj4gQEAg LTEwMzUsOSArMTAzNSw4IEBAIHN0YXRpYyBpbnQgX19pbml0IGFtZF9pb21tdV9pbml0X29uZShz dHIKPiAgICAgICBpZiAoIGFsbG9jYXRlX2V2ZW50X2xvZyhpb21tdSkgPT0gTlVMTCApCj4gICAg ICAgICAgIGdvdG8gZXJyb3Jfb3V0Owo+ICAgCj4gLSAgICBpZiAoIGFtZF9pb21tdV9oYXNfZmVh dHVyZShpb21tdSwgSU9NTVVfRVhUX0ZFQVRVUkVfUFBSU1VQX1NISUZUKSApCj4gLSAgICAgICAg aWYgKCBhbGxvY2F0ZV9wcHJfbG9nKGlvbW11KSA9PSBOVUxMICkKPiAtICAgICAgICAgICAgZ290 byBlcnJvcl9vdXQ7Cj4gKyAgICBpZiAoIGlvbW11LT5mZWF0dXJlcy5mbGRzLnBwcl9zdXAgJiYg IWFsbG9jYXRlX3Bwcl9sb2coaW9tbXUpICkKPiArICAgICAgICBnb3RvIGVycm9yX291dDsKPiAg IAo+ICAgICAgIGlmICggIXNldF9pb21tdV9pbnRlcnJ1cHRfaGFuZGxlcihpb21tdSkgKQo+ICAg ICAgICAgICBnb3RvIGVycm9yX291dDsKPiBAQCAtMTM5Myw3ICsxMzkyLDcgQEAgdm9pZCBhbWRf aW9tbXVfcmVzdW1lKHZvaWQpCj4gICAgICAgfQo+ICAgCj4gICAgICAgLyogZmx1c2ggYWxsIGNh Y2hlIGVudHJpZXMgYWZ0ZXIgaW9tbXUgcmUtZW5hYmxlZCAqLwo+IC0gICAgaWYgKCAhYW1kX2lv bW11X2hhc19mZWF0dXJlKGlvbW11LCBJT01NVV9FWFRfRkVBVFVSRV9JQVNVUF9TSElGVCkgKQo+ ICsgICAgaWYgKCAhaW9tbXUtPmZlYXR1cmVzLmZsZHMuaWFfc3VwICkKPiAgICAgICB7Cj4gICAg ICAgICAgIGludmFsaWRhdGVfYWxsX2RldmljZXMoKTsKPiAgICAgICAgICAgaW52YWxpZGF0ZV9h bGxfZG9tYWluX3BhZ2VzKCk7Cj4gLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9hbWQtaW9tbXUu aAo+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvYW1kLWlvbW11LmgKPiBAQCAtODMsNyArODMs NyBAQCBzdHJ1Y3QgYW1kX2lvbW11IHsKPiAgICAgICBpb21tdV9jYXBfdCBjYXA7Cj4gICAKPiAg ICAgICB1OCBodF9mbGFnczsKPiAtICAgIHU2NCBmZWF0dXJlczsKPiArICAgIHVuaW9uIGFtZF9p b21tdV9leHRfZmVhdHVyZXMgZmVhdHVyZXM7Cj4gICAKPiAgICAgICB2b2lkICptbWlvX2Jhc2U7 Cj4gICAgICAgdW5zaWduZWQgbG9uZyBtbWlvX2Jhc2VfcGh5czsKPiBAQCAtMTc1LDcgKzE3NSw3 IEBAIHN0cnVjdCBndWVzdF9pb21tdSB7Cj4gICAgICAgLyogTU1JTyByZWdzICovCj4gICAgICAg c3RydWN0IG1taW9fcmVnICAgICAgICAgcmVnX2N0cmw7ICAgICAgICAgICAgICAvKiBNTUlPIG9m ZnNldCAwMDE4aCAqLwo+ICAgICAgIHN0cnVjdCBtbWlvX3JlZyAgICAgICAgIHJlZ19zdGF0dXM7 ICAgICAgICAgICAgLyogTU1JTyBvZmZzZXQgMjAyMGggKi8KPiAtICAgIHN0cnVjdCBtbWlvX3Jl ZyAgICAgICAgIHJlZ19leHRfZmVhdHVyZTsgICAgICAgLyogTU1JTyBvZmZzZXQgMDAzMGggKi8K PiArICAgIHVuaW9uIGFtZF9pb21tdV9leHRfZmVhdHVyZXMgcmVnX2V4dF9mZWF0dXJlOyAgLyog TU1JTyBvZmZzZXQgMDAzMGggKi8KPiAgIAo+ICAgICAgIC8qIGd1ZXN0IGludGVycnVwdCBzZXR0 aW5ncyAqLwo+ICAgICAgIHN0cnVjdCBndWVzdF9pb21tdV9tc2kgIG1zaTsKPiAtLS0gYS94ZW4v aW5jbHVkZS9hc20teDg2L2h2bS9zdm0vYW1kLWlvbW11LWRlZnMuaAo+ICsrKyBiL3hlbi9pbmNs dWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUtZGVmcy5oCj4gQEAgLTM0NiwyNiArMzQ2LDU3 IEBAIHN0cnVjdCBhbWRfaW9tbXVfZHRlIHsKPiAgICNkZWZpbmUgSU9NTVVfRVhDTFVTSU9OX0xJ TUlUX0hJR0hfTUFTSwkJMHhGRkZGRkZGRgo+ICAgI2RlZmluZSBJT01NVV9FWENMVVNJT05fTElN SVRfSElHSF9TSElGVAkwCj4gICAKPiAtLyogRXh0ZW5kZWQgRmVhdHVyZSBSZWdpc3RlciovCj4g Ky8qIEV4dGVuZGVkIEZlYXR1cmUgUmVnaXN0ZXIgKi8KPiAgICNkZWZpbmUgSU9NTVVfRVhUX0ZF QVRVUkVfTU1JT19PRkZTRVQgICAgICAgICAgICAgICAgICAgMHgzMAo+IC0jZGVmaW5lIElPTU1V X0VYVF9GRUFUVVJFX1BSRUZTVVBfU0hJRlQgICAgICAgICAgICAgICAgIDB4MAo+IC0jZGVmaW5l IElPTU1VX0VYVF9GRUFUVVJFX1BQUlNVUF9TSElGVCAgICAgICAgICAgICAgICAgIDB4MQo+IC0j ZGVmaW5lIElPTU1VX0VYVF9GRUFUVVJFX1hUU1VQX1NISUZUICAgICAgICAgICAgICAgICAgIDB4 Mgo+IC0jZGVmaW5lIElPTU1VX0VYVF9GRUFUVVJFX05YU1VQX1NISUZUICAgICAgICAgICAgICAg ICAgIDB4Mwo+IC0jZGVmaW5lIElPTU1VX0VYVF9GRUFUVVJFX0dUU1VQX1NISUZUICAgICAgICAg ICAgICAgICAgIDB4NAo+IC0jZGVmaW5lIElPTU1VX0VYVF9GRUFUVVJFX0lBU1VQX1NISUZUICAg ICAgICAgICAgICAgICAgIDB4Ngo+IC0jZGVmaW5lIElPTU1VX0VYVF9GRUFUVVJFX0dBU1VQX1NI SUZUICAgICAgICAgICAgICAgICAgIDB4Nwo+IC0jZGVmaW5lIElPTU1VX0VYVF9GRUFUVVJFX0hF U1VQX1NISUZUICAgICAgICAgICAgICAgICAgIDB4OAo+IC0jZGVmaW5lIElPTU1VX0VYVF9GRUFU VVJFX1BDU1VQX1NISUZUICAgICAgICAgICAgICAgICAgIDB4OQo+IC0jZGVmaW5lIElPTU1VX0VY VF9GRUFUVVJFX0hBVFNfU0hJRlQgICAgICAgICAgICAgICAgICAgIDB4MTAKPiAtI2RlZmluZSBJ T01NVV9FWFRfRkVBVFVSRV9IQVRTX01BU0sgICAgICAgICAgICAgICAgICAgICAweDAwMDAwQzAw Cj4gLSNkZWZpbmUgSU9NTVVfRVhUX0ZFQVRVUkVfR0FUU19TSElGVCAgICAgICAgICAgICAgICAg ICAgMHgxMgo+IC0jZGVmaW5lIElPTU1VX0VYVF9GRUFUVVJFX0dBVFNfTUFTSyAgICAgICAgICAg ICAgICAgICAgIDB4MDAwMDMwMDAKPiAtI2RlZmluZSBJT01NVV9FWFRfRkVBVFVSRV9HTFhTVVBf U0hJRlQgICAgICAgICAgICAgICAgICAweDE0Cj4gLSNkZWZpbmUgSU9NTVVfRVhUX0ZFQVRVUkVf R0xYU1VQX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMDAwQzAwMAo+ICAgCj4gLSNkZWZpbmUg SU9NTVVfRVhUX0ZFQVRVUkVfUEFTTUFYX1NISUZUICAgICAgICAgICAgICAgICAgMHgwCj4gLSNk ZWZpbmUgSU9NTVVfRVhUX0ZFQVRVUkVfUEFTTUFYX01BU0sgICAgICAgICAgICAgICAgICAgMHgw MDAwMDAxRgo+ICt1bmlvbiBhbWRfaW9tbXVfZXh0X2ZlYXR1cmVzIHsKPiArICAgIHVpbnQ2NF90 IHJhdzsKPiArICAgIHN0cnVjdCB7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IHByZWZfc3VwOjE7 Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IHBwcl9zdXA6MTsKPiArICAgICAgICB1bnNpZ25lZCBp bnQgeHRfc3VwOjE7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IG54X3N1cDoxOwo+ICsgICAgICAg IHVuc2lnbmVkIGludCBndF9zdXA6MTsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgZ2FwcGlfc3Vw OjE7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IGlhX3N1cDoxOwo+ICsgICAgICAgIHVuc2lnbmVk IGludCBnYV9zdXA6MTsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgaGVfc3VwOjE7Cj4gKyAgICAg ICAgdW5zaWduZWQgaW50IHBjX3N1cDoxOwo+ICsgICAgICAgIHVuc2lnbmVkIGludCBoYXRzOjI7 Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IGdhdHM6MjsKPiArICAgICAgICB1bnNpZ25lZCBpbnQg Z2x4X3N1cDoyOwo+ICsgICAgICAgIHVuc2lnbmVkIGludCBzbWlmX3N1cDoyOwo+ICsgICAgICAg IHVuc2lnbmVkIGludCBzbWlmX3JjOjM7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IGdhbV9zdXA6 MzsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgZHVhbF9wcHJfbG9nX3N1cDoyOwo+ICsgICAgICAg IHVuc2lnbmVkIGludCA6MjsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgZHVhbF9ldmVudF9sb2df c3VwOjI7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IDoxOwo+ICsgICAgICAgIHVuc2lnbmVkIGlu dCBzYXRzX3N1cDoxOwo+ICsgICAgICAgIHVuc2lnbmVkIGludCBwYXNfbWF4OjU7Cj4gKyAgICAg ICAgdW5zaWduZWQgaW50IHVzX3N1cDoxOwo+ICsgICAgICAgIHVuc2lnbmVkIGludCBkZXZfdGJs X3NlZ19zdXA6MjsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgcHByX2Vhcmx5X29mX3N1cDoxOwo+ ICsgICAgICAgIHVuc2lnbmVkIGludCBwcHJfYXV0b19yc3Bfc3VwOjE7Cj4gKyAgICAgICAgdW5z aWduZWQgaW50IG1hcmNfc3VwOjI7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IGJsa19zdG9wX21y a19zdXA6MTsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgcGVyZl9vcHRfc3VwOjE7Cj4gKyAgICAg ICAgdW5zaWduZWQgaW50IG1zaV9jYXBfbW1pb19zdXA6MTsKPiArICAgICAgICB1bnNpZ25lZCBp bnQgOjE7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IGdpb19zdXA6MTsKPiArICAgICAgICB1bnNp Z25lZCBpbnQgaGFfc3VwOjE7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IGVwaF9zdXA6MTsKPiAr ICAgICAgICB1bnNpZ25lZCBpbnQgYXR0cl9md19zdXA6MTsKPiArICAgICAgICB1bnNpZ25lZCBp bnQgaGRfc3VwOjE7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IDoxOwo+ICsgICAgICAgIHVuc2ln bmVkIGludCBpbnZfaW90bGJfdHlwZV9zdXA6MTsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgdmlv bW11X3N1cDoxOwo+ICsgICAgICAgIHVuc2lnbmVkIGludCB2bV9ndWFyZF9pb19zdXA6MTsKPiAr ICAgICAgICB1bnNpZ25lZCBpbnQgdm1fdGFibGVfc2l6ZTo0Owo+ICsgICAgICAgIHVuc2lnbmVk IGludCBnYV91cGRhdGVfZGlzX3N1cDoxOwo+ICsgICAgICAgIHVuc2lnbmVkIGludCA6MjsKPiAr ICAgIH0gZmxkczsKPiArfTsKPiAgIAo+ICAgLyogU3RhdHVzIFJlZ2lzdGVyKi8KPiAgICNkZWZp bmUgSU9NTVVfU1RBVFVTX01NSU9fT0ZGU0VUCQkweDIwMjAKPiAtLS0gYS94ZW4vaW5jbHVkZS9h c20teDg2L2h2bS9zdm0vYW1kLWlvbW11LXByb3RvLmgKPiArKysgYi94ZW4vaW5jbHVkZS9hc20t eDg2L2h2bS9zdm0vYW1kLWlvbW11LXByb3RvLmgKPiBAQCAtMjE4LDEzICsyMTgsNiBAQCBzdGF0 aWMgaW5saW5lIGludCBpb21tdV9oYXNfY2FwKHN0cnVjdCBhCj4gICAgICAgcmV0dXJuICEhKGlv bW11LT5jYXAuaGVhZGVyICYgKDF1IDw8IGJpdCkpOwo+ICAgfQo+ICAgCj4gLXN0YXRpYyBpbmxp bmUgaW50IGFtZF9pb21tdV9oYXNfZmVhdHVyZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgdWlu dDMyX3QgYml0KQo+IC17Cj4gLSAgICBpZiAoICFpb21tdV9oYXNfY2FwKGlvbW11LCBQQ0lfQ0FQ X0VGUlNVUF9TSElGVCkgKQo+IC0gICAgICAgIHJldHVybiAwOwo+IC0gICAgcmV0dXJuICEhKGlv bW11LT5mZWF0dXJlcyAmICgxVSA8PCBiaXQpKTsKPiAtfQo+IC0KPiAgIC8qIGFjY2VzcyB0YWls IG9yIGhlYWQgcG9pbnRlciBvZiByaW5nIGJ1ZmZlciAqLwo+ICAgc3RhdGljIGlubGluZSB1aW50 MzJfdCBpb21tdV9nZXRfcmJfcG9pbnRlcih1aW50MzJfdCByZWcpCj4gICB7Cj4gCgotLSAKQnJp YW4gV29vZHMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0 dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=