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=-13.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 69CB6C433ED for ; Tue, 4 May 2021 02:17:07 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 14F6C611AC for ; Tue, 4 May 2021 02:17:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 14F6C611AC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 856DA6EA68; Tue, 4 May 2021 02:17:06 +0000 (UTC) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2042.outbound.protection.outlook.com [40.107.94.42]) by gabe.freedesktop.org (Postfix) with ESMTPS id E551B6EA68 for ; Tue, 4 May 2021 02:17:05 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fayVZU9ifpzPr8MBuK7ohXZWqW+wAPYaJ2opXE/wIRvFAmqOg0Ctik9mVwOUzPirEvyLEr+/LLv1l3VmQm3dE53YngVWI3eE4KcS0HFk6oWo2tGEhkodmkz+b48R6tXsFO1U5Wsxa0WaIY0Y8VmiamSv1NxY+uR4YSNcsca4rDyiZ+QXWTa9sYx7Pjdo+7vM50+OpwIjAaytm81Q+PUWQd2IVaOdZDHkZXREQOQdaFWvWRPkfk+2nnxiLxNbUW/VULR1ilC+BCvhBb3zgJWd889PnPUq2FlwRkMxXwMvzShiWqOIJ5l/4zoMKoeR8IvA021EpAq8goE4HJRpHIJFAA== 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=0pwTBH/opM7hgrHQCcepM6zQTI6bkYWk6ooxvwWrS2k=; b=SCMmJBXh/NakDS1zJ7qDikdH4kSzSI/NAt1s/e9sxLotyW4ha9MRtOq6CObQfRywl9MVCcsvMoaRiXvtJNLU/HHtikJlHEgSBvBysIvcTrsx70URSmufm+DwKJHr0ImgolnTdnP8GZLxowhrWY5mL8I1977rZjvJVY5xNqomQWgCdu5TtCwf+iDDllLurXxsm7ipozMVn9yZNaKZyEVa7F6RR23aCjhQzXUYXLU44GkteresH68I17nT3ZLX9UzBaCkBUyDfmUrKaYNZP2wjxn4Fj7KONjBnYAB70u24jSdVy154N22fBVD1+OKdiHv4uwK6opc2ORVZ3XymhemCCg== 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=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0pwTBH/opM7hgrHQCcepM6zQTI6bkYWk6ooxvwWrS2k=; b=i81NRM551kdEVIqwNg5k5DxvLY8TVLXj+OTvqhddEWk3GCmdIcTYq8yCrAYXH8qZprCU4eQFskqAO5CTnohPi+xlrHUsnYTzR8apRNju44CrrqYw+ezKxmHTB/lV/SYaPClXBDM79k+B5Va+fyr6FaMdWSD+mqGgSQHIDLzp/hc= Received: from DM6PR12MB4732.namprd12.prod.outlook.com (2603:10b6:5:32::25) by DM6PR12MB3708.namprd12.prod.outlook.com (2603:10b6:5:1c5::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.25; Tue, 4 May 2021 02:17:04 +0000 Received: from DM6PR12MB4732.namprd12.prod.outlook.com ([fe80::f40e:1245:84b6:e2a4]) by DM6PR12MB4732.namprd12.prod.outlook.com ([fe80::f40e:1245:84b6:e2a4%3]) with mapi id 15.20.4087.041; Tue, 4 May 2021 02:17:04 +0000 From: "Zeng, Oak" To: "Huang, JinHuiEric" , "amd-gfx@lists.freedesktop.org" Subject: Re: [PATCH] drm/amdkfd: add ACPI SRAT parsing for topology Thread-Topic: [PATCH] drm/amdkfd: add ACPI SRAT parsing for topology Thread-Index: AQHXPEDk0EMOhNrPE0mgayr+r/7JRqrR3LoAgABLmICAADNCgA== Date: Tue, 4 May 2021 02:17:04 +0000 Message-ID: References: <20210428151154.28317-1-jinhuieric.huang@amd.com> <8E4089F8-92B0-4C10-86C1-B0F350E9CEE8@amd.com> <18989d26-b02d-0935-f976-563ca40e5784@amd.com> In-Reply-To: <18989d26-b02d-0935-f976-563ca40e5784@amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/16.46.21021202 authentication-results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=amd.com; x-originating-ip: [165.204.54.211] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6402b3a9-ce9c-488b-6f0b-08d90ea2b589 x-ms-traffictypediagnostic: DM6PR12MB3708: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: czPaLl92993VRMSzn/zyWrL2O8Az0XvZRh6fxqUFV2Brug43ZPbC/uDv1e+qzGNC2D+IaNHw4lMZiTQ4fWxlljrInnBdmMI+iCgx8uFHARIti1gk+CgVGRkptcr8oOkTPn7ApJe30a9oKT33epZ8r0QC7Z/5tAJQ17EdnpZ75JZVD32lQ6oMj95jwiDnFpRg8pnk7eb7ZV32U9CWpkroNPcel6eySEbu4LNFHIGXCBJbhm/VgZcRfm44wJG6sRdLtkD67lY1XKzGZYs2SHoXadZX2cOWBcOzV2L2EWUsvd7ai6u2luaoGKHCe21KndLndu1YQFl0n/LC0wxsGbVjPHn00O6/zYUmUVXFbECuFw/4uFY65sxIhTKik6N9uam6OcaHYQC6ONuiMIoDoPYm7IvI2gEg5Zf1YRKiffEfXCvprmCQhqddJZfGQuDCeULCBB5sdZithRhqQ7Fi0mBJwO3TQO6fBCa3uo+zImR3xMvNJCH7TOWI4c0C+LC+iqL/waBFMhzCBWe/somG9tVLOVpfBJ0WCirX63ezNIAQM0qraVmOyvKYvzAl4erDE9ZcPVWNmPdgZMg3WBw6aOkP0axA83hapRI7YoPlng6OBZpCQ17bpJS7ct168DyzGjGoi9dMJDOcDZ9i4+OWfAYdP4uqCar3iyR4ezA7rWzBxwJPZ95yfxlw7mhzuU+wHb78KNNsRsosno5eyCs6mIe9Tw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB4732.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(346002)(39860400002)(376002)(366004)(136003)(186003)(45080400002)(66946007)(91956017)(86362001)(478600001)(66476007)(26005)(64756008)(66556008)(966005)(66446008)(5660300002)(83380400001)(110136005)(2616005)(316002)(6506007)(8936002)(6512007)(2906002)(76116006)(4326008)(33656002)(6486002)(8676002)(36756003)(71200400001)(122000001)(38100700002)(53546011)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?a09tSmtwaGt5TzJ2RU5ocU1FUzZZQ1l4RVlEelA4T3RWcWlxSy85OXRoUGpE?= =?utf-8?B?T2wwUm1WNFQ5aE56UnhNTHVPSnltUEtldm9ad1NSaXdZMWJ4Nys3c3ZnNWl1?= =?utf-8?B?aGVlSWhrSnV1b2Z2YTdjWCt6eEdVZTBRbVJtcllnMHlJN2hhYmZNKzhJNDE0?= =?utf-8?B?d2IwM0hGZzVXN0lHYU84cnpZVnFHbCtXS1dsTXVqclJTNTZtZlpUOGhWTzRV?= =?utf-8?B?OXgxTTVRRll1c3F2OHpLbkpTL2MwSXAxUTY5ZWJqajFzZzAzWFZ4d1BWWkZj?= =?utf-8?B?MzBTWGNEQVlUemFCM280RTVWRXVjK1hLVnRNcmY0dE42MlhyL09ud05sYW45?= =?utf-8?B?b04yaW5QdTgwLzhVOXdKUlhSZnJiZE5sdCttSkpCb081S21pcE9YaTh3b3pp?= =?utf-8?B?ZW1sa1FnS20renZicElnTlhKbDBKMk9qTC9uS0c0S3plVzZqMTJBWWNkOXdI?= =?utf-8?B?Z0NDNnc4a1FFQ1AwM2U0NGtQVkd4Z2xDZkI1VU51UmhXNVpOV01LQ2xLWmxX?= =?utf-8?B?dkZIWEJURWxkL09wZzl0RCsyNUd4MEhXRzgyYmNuL1R3RVF1TXlCNkxsd2or?= =?utf-8?B?SCt3Z1lEWmFsZlN1L2tETDRka3ViVDZhTnNRU0puZEw3UHFCaTkyN3dER2Zm?= =?utf-8?B?Q25leEE3MzF4STltRnFCQWRVOUpCU1VBVDVLQUd0dHpUWTlHYkZJeXNzRC9P?= =?utf-8?B?ZUtGY25FNzUyUFRSTXV4Nkg4TmRnczJlYmxyMGdPVzF2ZUZ6TzBTQU90RWZQ?= =?utf-8?B?dC95endITERzWEwzdm1FdmNOUDQzMnlPdU01RUpYKzhGV005bTQ5WFBRRzht?= =?utf-8?B?VXR4NG05N0FQM2ZnTU9oczVpTGFBNHFIUmFOTVlCT0YrcVVnQjl4a0dHUHpa?= =?utf-8?B?VE05OHl6Um1NTHVHSFhMK3BTY01PZldVeTdPc2w1UUtOU1c3QVJYZlEwQnVO?= =?utf-8?B?UENoZHR4aGxLbnhBQm1hNWZad0dWKzlHdFFUR1hxWmM3Y0EyeENGVnNrRk4w?= =?utf-8?B?dncwZU52dTZPL0ZaYXVoNzJ6OUFMKzlmRlNUclFtcnYxMkNucjJ2NkRPS0VC?= =?utf-8?B?NXlBNXczL0tTQUJFNmdabjl5K0puUVNRa1RWbzdMLys5NkpsWGJ6dEd2U2I4?= =?utf-8?B?SjZsME1scnc4WjcvT0ZsT0RQVENZeUgzWnFrL2pwRStKK25qbnNGa3dTMkEy?= =?utf-8?B?ZDMxb3JrWDJ5YjVqc2U0bEJEYnUyUUFEeTJPRE1ERkQ5RVU5SHA2ZlR4R1Q1?= =?utf-8?B?dGluTGZJeU5XV3NYYzhzaW1LU1ErS0xKZ0ZyYjQwc2lxdWVhRnBRWnFRdTMv?= =?utf-8?B?WXFCQURQTTZYZjQ4amJRMVNOdlZTNmNuN0VNcUlpaGt0MGdFVmdCbjZ0NXlU?= =?utf-8?B?N1BkdUQxbm14c2pDV0p2cXpUd0ZNT01TME96TElGL3lvM21kQ29ibXZVZ0Z5?= =?utf-8?B?cjJtZGNSSFM1blFDNzNHd0ZCUVM2ak1yVkRoOU04dGVPejZFNjNxdnFrdmUz?= =?utf-8?B?OEhhOFJvbm4ySWYyQk5wNkpJR0VYMVVCRzM4V1hjWWh6VDZRR1Uwemd6UjlU?= =?utf-8?B?Q01INkZiT1BsT0VRVnk2dE5nVW12anBEWnpRTlJ6WGhGcWZRZDhXR250LzNs?= =?utf-8?B?YWkzd21vY1ZTRk1JbmcySXJzZUN6N1NidXFWRGdJZzVLNGZYTWhRUkN2T0E0?= =?utf-8?B?aEpINjhpWEtsZHc0OWxQbTBTTkRpNERrUTJRRVFOWFhLdGpLajFwZElQbC9O?= =?utf-8?B?OWpNbS9UemY2NnVpQVVGL1FpZzJRMTNLbGhNNTN5LzZ0emxVdXZLaFlPU0JD?= =?utf-8?B?dGxTeHc2bmIrSlVBVjFNQT09?= Content-ID: <7F796A9359F031428DB0FA4CAA982AAD@namprd12.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB4732.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6402b3a9-ce9c-488b-6f0b-08d90ea2b589 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2021 02:17:04.1200 (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: b943M7XICJzaYaid1phPNopPF4cj8DulPhVNxJzgzpEttpejOJWZcdfG4AqYvky1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3708 X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Kuehling, Felix" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" T2ssIHRoYXQgbWFrZXMgc2Vuc2UuIFRoYW5rcyBmb3IgZXhwbGFpbmluZy4NCg0KUmVnYXJkcywN Ck9hayANCg0KIA0KDQrvu79PbiAyMDIxLTA1LTAzLCAzOjEzIFBNLCAiSHVhbmcsIEppbkh1aUVy aWMiIDxKaW5IdWlFcmljLkh1YW5nQGFtZC5jb20+IHdyb3RlOg0KDQogICAgSW4gZHJpdmVycy9h Y3BpL251bWEvc3JhdC5jLCB0aGUgZ2VuZXJpYyBDQ0QgcGFyc2luZyBpcyBmb3IgdGhlIG1hcHBp bmcgDQogICAgb2YgbnVtYSBub2RlIGFuZCBweG0gZG9tYWluIHRoYXQgY3JlYXRlcyBhcnJheXMg b2YgcHhtX3RvX25vZGVfbWFwIGFuZCANCiAgICBub2RlX3RvX3B4bV9tYXAuIFdlIGFyZSBjdXJy ZW50bHkgdXNpbmcgQVBJIHB4bV90b19ub2RlKCkgdG8gZ2V0IHRoZSANCiAgICBjb3JyZXNwb25k aW5nIGluZm9ybWF0aW9uLg0KDQogICAgRm9yIEdDRCBwYXJzaW5nLCB0aGUgcmVsYXRpb24gb2Yg R0NEIHRvIENDRCBpcyBkZWZpbmVkIGJ5IEFNRCwgZ2VuZXJpYyANCiAgICBwYXJzaW5nIGluIHNy YXQuYyBpcyBjb25zaWRlcmluZyBhIEdDRCBhcyBhIG5ldyBudW1hIG5vZGUgd2hpY2ggaXMgbm90 IA0KICAgIHN1aXRhYmxlIGZvciBvdXIgbmVlZC4NCg0KICAgIFJlZ2FyZHMsDQogICAgRXJpYw0K DQogICAgT24gMjAyMS0wNS0wMyAyOjQzIHAubS4sIFplbmcsIE9hayB3cm90ZToNCiAgICA+IEkg ZmVlbCBzdWNoIHBhcnNpbmcgd29yayBzaG91bGQgYmUgcGFydCBvZiB0aGUgQUNQSSBnZW5lcmlj IHdvcmsgc28gc2hvdWxkIGJlIGRvbmUgaW4gZHJpdmVycy9hY3BpL251bS9zcmF0LmMgKHNlZSBh Y3BpX3RhYmxlX3BhcnNlX3NyYXQpIGFuZCB0aGUgYWNwaSBzdWJzeXN0ZW0gc2hvdWxkIGV4cG9z ZSBBUElzIGZvciByZXN0IGRyaXZlcnMgdG8gcXVlcnkgc3VjaCBudW1hIGluZm9ybWF0aW9uLg0K ICAgID4NCiAgICA+IFJlZ2FyZHMsDQogICAgPiBPYWsNCiAgICA+DQogICAgPiAgIA0KICAgID4N CiAgICA+IE9uIDIwMjEtMDQtMjgsIDExOjEyIEFNLCAiYW1kLWdmeCBvbiBiZWhhbGYgb2YgRXJp YyBIdWFuZyIgPGFtZC1nZngtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmcgb24gYmVoYWxm IG9mIEppbkh1aUVyaWMuSHVhbmdAYW1kLmNvbT4gd3JvdGU6DQogICAgPg0KICAgID4gICAgICBJ biBOUFM0IEJJT1Mgd2UgbmVlZCB0byBmaW5kIHRoZSBjbG9zZXN0IG51bWEgbm9kZSB3aGVuIGNy ZWF0aW5nDQogICAgPiAgICAgIHRvcG9sb2d5IGlvIGxpbmsgYmV0d2VlbiBjcHUgYW5kIGdwdSwg aWYgUENJIGRyaXZlciBkb2Vzbid0IHNldA0KICAgID4gICAgICBpdC4NCiAgICA+DQogICAgPiAg ICAgIFNpZ25lZC1vZmYtYnk6IEVyaWMgSHVhbmcgPGppbmh1aWVyaWMuaHVhbmdAYW1kLmNvbT4N CiAgICA+ICAgICAgLS0tDQogICAgPiAgICAgICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9r ZmRfY3JhdC5jIHwgOTQgKysrKysrKysrKysrKysrKysrKysrKysrKystDQogICAgPiAgICAgICAx IGZpbGUgY2hhbmdlZCwgOTEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCiAgICA+DQog ICAgPiAgICAgIGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfY3Jh dC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2NyYXQuYw0KICAgID4gICAgICBp bmRleCAzOGQ0NTcxMTY3NWYuLjU3NTE4MTM2YzdkNyAxMDA2NDQNCiAgICA+ICAgICAgLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2NyYXQuYw0KICAgID4gICAgICArKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfY3JhdC5jDQogICAgPiAgICAgIEBAIC0xNzU5 LDYgKzE3NTksODcgQEAgc3RhdGljIGludCBrZmRfZmlsbF9ncHVfbWVtb3J5X2FmZmluaXR5KGlu dCAqYXZhaWxfc2l6ZSwNCiAgICA+ICAgICAgIAlyZXR1cm4gMDsNCiAgICA+ICAgICAgIH0NCiAg ICA+DQogICAgPiAgICAgICsjaWZkZWYgQ09ORklHX0FDUEkNCiAgICA+ICAgICAgK3N0YXRpYyB2 b2lkIGtmZF9maW5kX251bWFfbm9kZV9pbl9zcmF0KHN0cnVjdCBrZmRfZGV2ICprZGV2LA0KICAg ID4gICAgICArCQlpbnQgKm51bWFfbm9kZSkNCiAgICA+ICAgICAgK3sNCiAgICA+ICAgICAgKwlz dHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKnRhYmxlX2hlYWRlciA9IE5VTEw7DQogICAgPiAgICAg ICsJc3RydWN0IGFjcGlfc3VidGFibGVfaGVhZGVyICpzdWJfaGVhZGVyID0gTlVMTDsNCiAgICA+ ICAgICAgKwl1bnNpZ25lZCBsb25nIHRhYmxlX2VuZCwgc3VidGFibGVfbGVuOw0KICAgID4gICAg ICArCXUzMiBwY2lfaWQgPSBwY2lfZG9tYWluX25yKGtkZXYtPnBkZXYtPmJ1cykgPDwgMTYgfA0K ICAgID4gICAgICArCQkJcGNpX2Rldl9pZChrZGV2LT5wZGV2KTsNCiAgICA+ICAgICAgKwl1MzIg YmRmOw0KICAgID4gICAgICArCWFjcGlfc3RhdHVzIHN0YXR1czsNCiAgICA+ICAgICAgKwlzdHJ1 Y3QgYWNwaV9zcmF0X2NwdV9hZmZpbml0eSAqY3B1Ow0KICAgID4gICAgICArCXN0cnVjdCBhY3Bp X3NyYXRfZ2VuZXJpY19hZmZpbml0eSAqZ3B1Ow0KICAgID4gICAgICArCWludCBweG0gPSAwLCBt YXhfcHhtID0gMDsNCiAgICA+ICAgICAgKwlib29sIGZvdW5kID0gZmFsc2U7DQogICAgPiAgICAg ICsNCiAgICA+ICAgICAgKwkvKiBGZXRjaCB0aGUgU1JBVCB0YWJsZSBmcm9tIEFDUEkgKi8NCiAg ICA+ICAgICAgKwlzdGF0dXMgPSBhY3BpX2dldF90YWJsZShBQ1BJX1NJR19TUkFULCAwLCAmdGFi bGVfaGVhZGVyKTsNCiAgICA+ICAgICAgKwlpZiAoc3RhdHVzID09IEFFX05PVF9GT1VORCkgew0K ICAgID4gICAgICArCQlwcl93YXJuKCJTUkFUIHRhYmxlIG5vdCBmb3VuZFxuIik7DQogICAgPiAg ICAgICsJCXJldHVybjsNCiAgICA+ICAgICAgKwl9IGVsc2UgaWYgKEFDUElfRkFJTFVSRShzdGF0 dXMpKSB7DQogICAgPiAgICAgICsJCWNvbnN0IGNoYXIgKmVyciA9IGFjcGlfZm9ybWF0X2V4Y2Vw dGlvbihzdGF0dXMpOw0KICAgID4gICAgICArCQlwcl9lcnIoIlNSQVQgdGFibGUgZXJyb3I6ICVz XG4iLCBlcnIpOw0KICAgID4gICAgICArCQlyZXR1cm47DQogICAgPiAgICAgICsJfQ0KICAgID4g ICAgICArDQogICAgPiAgICAgICsJdGFibGVfZW5kID0gKHVuc2lnbmVkIGxvbmcpdGFibGVfaGVh ZGVyICsgdGFibGVfaGVhZGVyLT5sZW5ndGg7DQogICAgPiAgICAgICsNCiAgICA+ICAgICAgKwkv KiBQYXJzZSBhbGwgZW50cmllcyBsb29raW5nIGZvciBhIG1hdGNoLiAqLw0KICAgID4gICAgICAr DQogICAgPiAgICAgICsJc3ViX2hlYWRlciA9IChzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIg KikNCiAgICA+ICAgICAgKwkJCSgodW5zaWduZWQgbG9uZyl0YWJsZV9oZWFkZXIgKw0KICAgID4g ICAgICArCQkJc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX3NyYXQpKTsNCiAgICA+ICAgICAgKwlz dWJ0YWJsZV9sZW4gPSBzdWJfaGVhZGVyLT5sZW5ndGg7DQogICAgPiAgICAgICsNCiAgICA+ICAg ICAgKwl3aGlsZSAoKCh1bnNpZ25lZCBsb25nKXN1Yl9oZWFkZXIpICsgc3VidGFibGVfbGVuICA8 IHRhYmxlX2VuZCkgew0KICAgID4gICAgICArCQkvKg0KICAgID4gICAgICArCQkgKiBJZiBsZW5n dGggaXMgMCwgYnJlYWsgZnJvbSB0aGlzIGxvb3AgdG8gYXZvaWQNCiAgICA+ICAgICAgKwkJICog aW5maW5pdGUgbG9vcC4NCiAgICA+ICAgICAgKwkJICovDQogICAgPiAgICAgICsJCWlmIChzdWJ0 YWJsZV9sZW4gPT0gMCkgew0KICAgID4gICAgICArCQkJcHJfZXJyKCJTUkFUIGludmFsaWQgemVy byBsZW5ndGhcbiIpOw0KICAgID4gICAgICArCQkJYnJlYWs7DQogICAgPiAgICAgICsJCX0NCiAg ICA+ICAgICAgKw0KICAgID4gICAgICArCQlzd2l0Y2ggKHN1Yl9oZWFkZXItPnR5cGUpIHsNCiAg ICA+ICAgICAgKwkJY2FzZSBBQ1BJX1NSQVRfVFlQRV9DUFVfQUZGSU5JVFk6DQogICAgPiAgICAg ICsJCQljcHUgPSAoc3RydWN0IGFjcGlfc3JhdF9jcHVfYWZmaW5pdHkgKilzdWJfaGVhZGVyOw0K ICAgID4gICAgICArCQkJcHhtID0gKigodTMyICopY3B1LT5wcm94aW1pdHlfZG9tYWluX2hpKSA8 PCA4IHwNCiAgICA+ICAgICAgKwkJCQkJY3B1LT5wcm94aW1pdHlfZG9tYWluX2xvOw0KICAgID4g ICAgICArCQkJaWYgKHB4bSA+IG1heF9weG0pDQogICAgPiAgICAgICsJCQkJbWF4X3B4bSA9IHB4 bTsNCiAgICA+ICAgICAgKwkJCWJyZWFrOw0KICAgID4gICAgICArCQljYXNlIEFDUElfU1JBVF9U WVBFX0dFTkVSSUNfQUZGSU5JVFk6DQogICAgPiAgICAgICsJCQlncHUgPSAoc3RydWN0IGFjcGlf c3JhdF9nZW5lcmljX2FmZmluaXR5ICopc3ViX2hlYWRlcjsNCiAgICA+ICAgICAgKwkJCWJkZiA9 ICooKHUxNiAqKSgmZ3B1LT5kZXZpY2VfaGFuZGxlWzBdKSkgPDwgMTYgfA0KICAgID4gICAgICAr CQkJCQkqKCh1MTYgKikoJmdwdS0+ZGV2aWNlX2hhbmRsZVsyXSkpOw0KICAgID4gICAgICArCQkJ aWYgKGJkZiA9PSBwY2lfaWQpIHsNCiAgICA+ICAgICAgKwkJCQlmb3VuZCA9IHRydWU7DQogICAg PiAgICAgICsJCQkJKm51bWFfbm9kZSA9IHB4bV90b19ub2RlKGdwdS0+cHJveGltaXR5X2RvbWFp bik7DQogICAgPiAgICAgICsJCQl9DQogICAgPiAgICAgICsJCQlicmVhazsNCiAgICA+ICAgICAg KwkJZGVmYXVsdDoNCiAgICA+ICAgICAgKwkJCWJyZWFrOw0KICAgID4gICAgICArCQl9DQogICAg PiAgICAgICsNCiAgICA+ICAgICAgKwkJaWYgKGZvdW5kKQ0KICAgID4gICAgICArCQkJYnJlYWs7 DQogICAgPiAgICAgICsNCiAgICA+ICAgICAgKwkJc3ViX2hlYWRlciA9IChzdHJ1Y3QgYWNwaV9z dWJ0YWJsZV9oZWFkZXIgKikNCiAgICA+ICAgICAgKwkJCQkoKHVuc2lnbmVkIGxvbmcpc3ViX2hl YWRlciArIHN1YnRhYmxlX2xlbik7DQogICAgPiAgICAgICsJCXN1YnRhYmxlX2xlbiA9IHN1Yl9o ZWFkZXItPmxlbmd0aDsNCiAgICA+ICAgICAgKwl9DQogICAgPiAgICAgICsNCiAgICA+ICAgICAg KwkvKiB3b3JrYXJvdW5kIGJhZCBjcHUtZ3B1IGJpbmRpbmcgY2FzZSAqLw0KICAgID4gICAgICAr CWlmIChmb3VuZCAmJiAoKm51bWFfbm9kZSA8IDAgfHwgKm51bWFfbm9kZSA+IG1heF9weG0pKQ0K ICAgID4gICAgICArCQkqbnVtYV9ub2RlID0gMDsNCiAgICA+ICAgICAgK30NCiAgICA+ICAgICAg KyNlbmRpZg0KICAgID4gICAgICArDQogICAgPiAgICAgICAvKiBrZmRfZmlsbF9ncHVfZGlyZWN0 X2lvX2xpbmsgLSBGaWxsIGluIGRpcmVjdCBpbyBsaW5rIGZyb20gR1BVDQogICAgPiAgICAgICAg KiB0byBpdHMgTlVNQSBub2RlDQogICAgPiAgICAgICAgKglAYXZhaWxfc2l6ZTogQXZhaWxhYmxl IHNpemUgaW4gdGhlIG1lbW9yeQ0KICAgID4gICAgICBAQCAtMTc3NCw2ICsxODU1LDkgQEAgc3Rh dGljIGludCBrZmRfZmlsbF9ncHVfZGlyZWN0X2lvX2xpbmtfdG9fY3B1KGludCAqYXZhaWxfc2l6 ZSwNCiAgICA+ICAgICAgIAkJCXVpbnQzMl90IHByb3hpbWl0eV9kb21haW4pDQogICAgPiAgICAg ICB7DQogICAgPiAgICAgICAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFt ZGdwdV9kZXZpY2UgKilrZGV2LT5rZ2Q7DQogICAgPiAgICAgICsjaWZkZWYgQ09ORklHX05VTUEN CiAgICA+ICAgICAgKwlpbnQgbnVtYV9ub2RlID0gMDsNCiAgICA+ICAgICAgKyNlbmRpZg0KICAg ID4NCiAgICA+ICAgICAgIAkqYXZhaWxfc2l6ZSAtPSBzaXplb2Yoc3RydWN0IGNyYXRfc3VidHlw ZV9pb2xpbmspOw0KICAgID4gICAgICAgCWlmICgqYXZhaWxfc2l6ZSA8IDApDQogICAgPiAgICAg IEBAIC0xODA1LDkgKzE4ODksMTMgQEAgc3RhdGljIGludCBrZmRfZmlsbF9ncHVfZGlyZWN0X2lv X2xpbmtfdG9fY3B1KGludCAqYXZhaWxfc2l6ZSwNCiAgICA+DQogICAgPiAgICAgICAJc3ViX3R5 cGVfaGRyLT5wcm94aW1pdHlfZG9tYWluX2Zyb20gPSBwcm94aW1pdHlfZG9tYWluOw0KICAgID4g ICAgICAgI2lmZGVmIENPTkZJR19OVU1BDQogICAgPiAgICAgIC0JaWYgKGtkZXYtPnBkZXYtPmRl di5udW1hX25vZGUgPT0gTlVNQV9OT19OT0RFKQ0KICAgID4gICAgICAtCQlzdWJfdHlwZV9oZHIt PnByb3hpbWl0eV9kb21haW5fdG8gPSAwOw0KICAgID4gICAgICAtCWVsc2UNCiAgICA+ICAgICAg KwlpZiAoa2Rldi0+cGRldi0+ZGV2Lm51bWFfbm9kZSA9PSBOVU1BX05PX05PREUpIHsNCiAgICA+ ICAgICAgKyNpZmRlZiBDT05GSUdfQUNQSQ0KICAgID4gICAgICArCQlrZmRfZmluZF9udW1hX25v ZGVfaW5fc3JhdChrZGV2LCAmbnVtYV9ub2RlKTsNCiAgICA+ICAgICAgKyNlbmRpZg0KICAgID4g ICAgICArCQlzdWJfdHlwZV9oZHItPnByb3hpbWl0eV9kb21haW5fdG8gPSBudW1hX25vZGU7DQog ICAgPiAgICAgICsJCXNldF9kZXZfbm9kZSgma2Rldi0+cGRldi0+ZGV2LCBudW1hX25vZGUpOw0K ICAgID4gICAgICArCX0gZWxzZQ0KICAgID4gICAgICAgCQlzdWJfdHlwZV9oZHItPnByb3hpbWl0 eV9kb21haW5fdG8gPSBrZGV2LT5wZGV2LT5kZXYubnVtYV9ub2RlOw0KICAgID4gICAgICAgI2Vs c2UNCiAgICA+ICAgICAgIAlzdWJfdHlwZV9oZHItPnByb3hpbWl0eV9kb21haW5fdG8gPSAwOw0K ICAgID4gICAgICAtLQ0KICAgID4gICAgICAyLjE3LjENCiAgICA+DQogICAgPiAgICAgIF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQogICAgPiAgICAgIGFt ZC1nZnggbWFpbGluZyBsaXN0DQogICAgPiAgICAgIGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnDQogICAgPiAgICAgIGh0dHBzOi8vbmFtMTEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9v ay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmxpc3RzLmZyZWVkZXNrdG9wLm9yZyUyRm1haWxtYW4l MkZsaXN0aW5mbyUyRmFtZC1nZngmYW1wO2RhdGE9MDQlN0MwMSU3Q29hay56ZW5nJTQwYW1kLmNv bSU3Qzk2ODA4YTZhYWI3YjQwODYxZWViMDhkOTBhNTgwNTI0JTdDM2RkODk2MWZlNDg4NGU2MDhl MTFhODJkOTk0ZTE4M2QlN0MwJTdDMCU3QzYzNzU1MjE5NTQzNzEzOTI0OCU3Q1Vua25vd24lN0NU V0ZwYkdac2IzZDhleUpXSWpvaU1DNHdMakF3TURBaUxDSlFJam9pVjJsdU16SWlMQ0pCVGlJNklr MWhhV3dpTENKWFZDSTZNbjAlM0QlN0MxMDAwJmFtcDtzZGF0YT12eDl3cUFlaEs3elVKeTJtVkFw OUtPVjN1NFpOdkUlMkJtREdmR0dLJTJGOGNoVSUzRCZhbXA7cmVzZXJ2ZWQ9MA0KICAgID4NCg0K DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4 IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK