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=-16.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable 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 48DDBC433FE for ; Fri, 17 Sep 2021 15:15:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3325161244 for ; Fri, 17 Sep 2021 15:15:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344045AbhIQPRJ (ORCPT ); Fri, 17 Sep 2021 11:17:09 -0400 Received: from mail-dm6nam10on2053.outbound.protection.outlook.com ([40.107.93.53]:28225 "EHLO NAM10-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S244665AbhIQPQg (ORCPT ); Fri, 17 Sep 2021 11:16:36 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EhQYOUWEeiudWC74ZcHq3zvZ3APxCUKv/RerpZIvfCKjxnpYTykmZdm0k6kbQKXqP59c7u3Ji5ANTP/lx92JADHZ8BPqbmAmG+AG08ulFGENvzObVvoMV2tLIcWqr+UgOeqiVGI84e+d4il8m/SkKU2dc3QP6JQAe/hEJOW73XUUaDfBrVaMRcuhGT1oq8u25MNDoegfLDtUEwTpkoL7WA6TqsHcAJ9NnqkQimfGIDS/ySdXaC0KQoMwL8eHphW35HhK1DMomlE2GhdJDmD8C+QViw3I+nEVArssAGyATIYc89Z/0A7X2kdl5Fl4nMl0BOoe5N60dSVXMzVzBZXm+w== 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; bh=fZ2JaKzYlrdGaX+6E4MBhFuNexc43HZ2kCx0dbW2tZY=; b=TxmQ56zzcd0uljkMEwEJSz0j9fZ6F48SZf/CZrC8YbqCrlxbZu4VsHhHqbg9hLWF/yF1+EeLE4QJkz9Zp/hRRaZYIQROPcQZjBfoppnlJDB9gZaONftrkhJ/O/1KchqUkshGII48vX7H2qgY8CHbDvtWjD2o75kgdYkGIQL1VowxsIutkC7n0gtoFNfCIiqtdp9fKJeP1Mdsljc1HLULoYRjmM5ROuz4X5XDGzaPFnqqqxDRWnRyH3FU5zRtZLpesAYnDcnPw+Px2K/WM5Qi7htxWf1jAH+uSCFecTlngfuel4UvVkuYK1s5AJvyxyzUfomu3L3pxEG6Rut/PPv/Lg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fZ2JaKzYlrdGaX+6E4MBhFuNexc43HZ2kCx0dbW2tZY=; b=M56BWzcczpAGedrtmj8csBw1YOfakAbzR9AqXCvDcVTzmRCDuVb+A6eWpsir0JetHj4VONv6aPShUk78C8+U+Okkp+F6cGWEXgBhWgO6476Wzk3XTu/kX/Rg5269XBxRtgLp2rVJ0lJ5gUtdFVRIK92J4M3JudmSG+TUtQ7OGUc= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SN6PR11MB3360.namprd11.prod.outlook.com (2603:10b6:805:c8::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.14; Fri, 17 Sep 2021 15:15:12 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::7050:a0a:415:2ccd]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::7050:a0a:415:2ccd%7]) with mapi id 15.20.4500.017; Fri, 17 Sep 2021 15:15:12 +0000 From: Jerome Pouiller To: linux-wireless@vger.kernel.org, netdev@vger.kernel.org, Kalle Valo Cc: devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , "David S . Miller" , devicetree@vger.kernel.org, Rob Herring , linux-mmc@vger.kernel.org, =?UTF-8?q?Pali=20Roh=C3=A1r?= , Ulf Hansson , =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= Subject: [PATCH v6 21/24] wfx: add debug.c/debug.h Date: Fri, 17 Sep 2021 17:13:57 +0200 Message-Id: <20210917151401.2274772-22-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210917151401.2274772-1-Jerome.Pouiller@silabs.com> References: <20210917151401.2274772-1-Jerome.Pouiller@silabs.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 X-ClientProxiedBy: SA9PR03CA0029.namprd03.prod.outlook.com (2603:10b6:806:20::34) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 Received: from pc-42.silabs.com (2a01:e34:ecb5:66a0:9876:e1d7:65be:d294) by SA9PR03CA0029.namprd03.prod.outlook.com (2603:10b6:806:20::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.14 via Frontend Transport; Fri, 17 Sep 2021 15:15:10 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8c81efe7-0e41-4881-dec1-08d979edf1cf X-MS-TrafficTypeDiagnostic: SN6PR11MB3360: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:989; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JpttOG38sdhpFVpITCutIb6/8/h5tMHqNsSY/mcKlraa7cb2qUiNRQE+1TUOkX4uci6+4e1GA7u7GBC5r31WFQ0+DrU7ySwGyGGeXZIfn4zesv9KWmGueBpVVIf9DGib2jR/k9/rNGdSjWA0rSMGQdtwrBUo9BzM1AU+JNMAJI76iuaAzFnX8N2h8lJkNOaSrpWhTFmE5Cp/qwU7PBNcU2wqv05OQdRBINMAsqbejjoFyLFIbGImZbckuAv+MQlwQdoBspb2LNObuJctahDnyV7EH+ZWsIuUQQH3StkZLPyzsLwho8HHqBKtxvZ9y6lZb7P3ToaocuuGn7xeYZAHbGrLEPDMqEN4uRYpWJMQvXnKd9bbShC89e65MSr5M2c4yBNx1nTp5uCiiXzW6R89S4Jh7VuHKrt284yEELmr7YN/XQxanEoMdMZoqMmHa2PXlWJfquuL8jiTRPP2e17OiU6uG8NzBfEXLrz+uyP2dzZEGVguifV5T8yoINv0t29MUkPjwVhKVMjKaaks8KuAaCtuHRej9BSUPoVQpN/IRIsjTf8I5ATOXCsbnwDmnt84nzs/FO9djd2OOVpvmnfonXnLRTSbvJsFfRGfi5HtLL4tIxTVLnZd2gw7Y7TUj5/XwoPG+N34FRScfGgf0jcU4g== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(39850400004)(376002)(346002)(396003)(136003)(8936002)(5660300002)(36756003)(7696005)(86362001)(83380400001)(52116002)(54906003)(66476007)(107886003)(66556008)(30864003)(8676002)(66946007)(316002)(2616005)(7416002)(6916009)(4326008)(38100700002)(66574015)(6666004)(186003)(478600001)(6486002)(2906002)(1076003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YW9lU2c5TTRVWUVpamVwOUFTeEQwMGFCZWJYVDh5RDcyQ243cStRckVmS3Zi?= =?utf-8?B?QTZDRnNIZFN4V3JYMm5kVEovT2Vqdk1Fand0MTRsSXhDelBBMG9uTlB1RWc3?= =?utf-8?B?b1hYRFc2dzZwbmw2NENSRWJzMklnN1VERzNBTWxIZHBoa0lhbGozQndKY3dm?= =?utf-8?B?SHdhcDcrbCtyQWV5VjlpNjJiZVJVOVJ3aEhPTnFMdnFxdlluWEhsR0JXMUpa?= =?utf-8?B?bzhPK0o0bytoNXhkRnEvdG5oenhEcEZyK09MN25kYTdXMWV6dDFHdHFROG5w?= =?utf-8?B?L0dNRUZRd0ExOGR3UmxGS21oamVJYUNXcS9vMlJLTWJYOWYrY3E0QTFKSS9j?= =?utf-8?B?dk83MzNOT29VdENkVjhRZHRtWFBDOGttUmZYa2NUbk95b1lEMjRwQ09hcW94?= =?utf-8?B?bmcxbUFhbHRSYmw2RnI5MTVvVTEwSHEwMGw3QUt6eE93aDZRS0pGNGhVbFJ4?= =?utf-8?B?RTFRQU5mc0V0S2lGZ3dhY0NCall6UkFKUGRMSmtBblV6TTB3TS9DbFdqa2xB?= =?utf-8?B?Y09CM0FDa2hkS1dYdUdUOGQ2cHhKaWxJVUcvUGFVMXdXQXZkd1RGS0RSMTVp?= =?utf-8?B?WmU4SUs0V3ducGVxdEwzTTFvNTJtNmdiSEhxTGI4RWRpT1hiYitTRldXQXFK?= =?utf-8?B?MEc5K1VOSldUNzNaQlBrVUl6cjZvZC85QkRaK1BHcjBzNmwra04xdHNQYkpK?= =?utf-8?B?TXlCWC9pY0ZucnNwUk82M2UrMVNkc1ZrMVhTZDdQbkhLdm9QTHFIVHIzeGZo?= =?utf-8?B?Tk15elVJT1p4UGg0aWJWSytZdVhIaWFSaVhZUE1Ud2lBLzB1ZFhqOCtFeE9S?= =?utf-8?B?UXAxbDUzem1IeG9pR2NSUC81YVBxV0lLcU53VFZKWC96L3lPUjRCQ0tRSEs3?= =?utf-8?B?L2crbERtRWJOeUFKaGpmRXg4ODVTdWllZW5md1pXRmVYcFJvQ3lBS3h4ZkMz?= =?utf-8?B?ZURhYTlHY0JtRlNwblJNa1ZMMUdmQVl5ckVnOTh3UW5QWXVIVnJCQllWSnBE?= =?utf-8?B?bW5rczlpMGs2TUpwczRMY2tVZ1pqTnNVVGpXYjlWSGtXdTlQa3doOHFFZFdD?= =?utf-8?B?YzNaclJHMEN2UGhRTHhrZk5ZZ05qRGZCZHo4L2JaaXliNWJVM1NYTGsvdjNr?= =?utf-8?B?Y3kzZTlNem1iOE1VQytzZGR0UGZHRTNCVk01a1FpSTdJaHFDa3JmVS9YM3lH?= =?utf-8?B?WTZRMHhOTHplaU9ER2M0Y0Y3cXljOWR2MVZvaG9Jd0ZzQzN6dm11YWQvdEVG?= =?utf-8?B?NjNFcy9VaHFmWFF1dHZRSVpiRVZvLzJkYmJ0VUR0aHRlU3gvcno1ek80SkRo?= =?utf-8?B?NjQ4WXJKM2RQbHdJbEdzT2MwdVdwUnY0L3FONi9EYjRWMWpYTVg4dlBMTWNl?= =?utf-8?B?bmJsMFJpdnNWV1BHTFlTellGQW5Oa3kvVFVod2VXdXVXTHJNS09DVWFUWGkz?= =?utf-8?B?am1MTVBwdjR6U3RwbEdmY0dZaVlkb0F1UnBHTDBsa1dwYjFlMVRVL3NuRVZY?= =?utf-8?B?enI2K1JMT1FFMFZxSGpzNnlhc2pPdzhBOFNyMDRwcUxKc1k1S3B6U3RyT2ND?= =?utf-8?B?NklMMklSeEd6enFIaXFvVEtBS1d4dXBrTkdRSDdUMVp0eHBHL1ZVSW94V1hR?= =?utf-8?B?eUxNc2N0Y2xYTDZIc2lQRWxoZmtTanNqOUpqbTJQbzBDbU56U0hwSndwRG90?= =?utf-8?B?cHVNbWVwNFNhRGlEWjZpK3lCa21nUFhSa3ZCbm13dkhFUUdwOEZGR2FzSldm?= =?utf-8?B?bVJwcUZTVGRTNGNsbVdRb2ZKUDFTQ2szNmRYSmFDTmVLNFBGTFQ5WUhPOG10?= =?utf-8?B?Y2FPVkpCOGU5SlpCclQ4eXFiTDd1TFNvNG5hYU5xTlY1ak00d1ZIQk02Rzls?= =?utf-8?Q?RqVG5DGj+Qv86?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8c81efe7-0e41-4881-dec1-08d979edf1cf X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Sep 2021 15:15:12.3006 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: tQdg/Z4lxVdyNnA3b8QuQqL8HTglT+VD2ZUhLn0RLjQ72H6qxWgfPG3WKY5e72q8Ch17fxu/jDkZnSD3uFew3Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3360 Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org RnJvbTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29tPgoKU2ln bmVkLW9mZi1ieTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29t PgotLS0KIGRyaXZlcnMvbmV0L3dpcmVsZXNzL3NpbGFicy93ZngvZGVidWcuYyB8IDM2NSArKysr KysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvbmV0L3dpcmVsZXNzL3NpbGFicy93ZngvZGVi dWcuaCB8ICAxOSArKwogMiBmaWxlcyBjaGFuZ2VkLCAzODQgaW5zZXJ0aW9ucygrKQogY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L3dpcmVsZXNzL3NpbGFicy93ZngvZGVidWcuYwogY3Jl YXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L3dpcmVsZXNzL3NpbGFicy93ZngvZGVidWcuaAoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3NpbGFicy93ZngvZGVidWcuYyBiL2Ry aXZlcnMvbmV0L3dpcmVsZXNzL3NpbGFicy93ZngvZGVidWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLjlmOTMyNjhhMzIwMgotLS0gL2Rldi9udWxsCisrKyBiL2Ry aXZlcnMvbmV0L3dpcmVsZXNzL3NpbGFicy93ZngvZGVidWcuYwpAQCAtMCwwICsxLDM2NSBAQAor Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLyoKKyAqIERlYnVnZnMg aW50ZXJmYWNlLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAxNy0yMDIwLCBTaWxpY29uIExhYm9y YXRvcmllcywgSW5jLgorICogQ29weXJpZ2h0IChjKSAyMDEwLCBTVC1Fcmljc3NvbgorICovCisj aW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+Cisj aW5jbHVkZSA8bGludXgvY3JjMzIuaD4KKworI2luY2x1ZGUgImRlYnVnLmgiCisjaW5jbHVkZSAi d2Z4LmgiCisjaW5jbHVkZSAic3RhLmgiCisjaW5jbHVkZSAibWFpbi5oIgorI2luY2x1ZGUgImhp Zl90eC5oIgorI2luY2x1ZGUgImhpZl90eF9taWIuaCIKKworI2RlZmluZSBDUkVBVEVfVFJBQ0Vf UE9JTlRTCisjaW5jbHVkZSAidHJhY2VzLmgiCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdHJhY2Vf cHJpbnRfZmxhZ3MgaGlmX21zZ19wcmludF9tYXBbXSA9IHsKKwloaWZfbXNnX2xpc3QsCit9Owor CitzdGF0aWMgY29uc3Qgc3RydWN0IHRyYWNlX3ByaW50X2ZsYWdzIGhpZl9taWJfcHJpbnRfbWFw W10gPSB7CisJaGlmX21pYl9saXN0LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB0cmFjZV9w cmludF9mbGFncyB3ZnhfcmVnX3ByaW50X21hcFtdID0geworCXdmeF9yZWdfbGlzdCwKK307CisK K3N0YXRpYyBjb25zdCBjaGFyICpnZXRfc3ltYm9sKHVuc2lnbmVkIGxvbmcgdmFsLAorCQkJICAg ICAgY29uc3Qgc3RydWN0IHRyYWNlX3ByaW50X2ZsYWdzICpzeW1ib2xfYXJyYXkpCit7CisJaW50 IGk7CisKKwlmb3IgKGkgPSAwOyBzeW1ib2xfYXJyYXlbaV0ubWFzayAhPSAtMTsgaSsrKSB7CisJ CWlmICh2YWwgPT0gc3ltYm9sX2FycmF5W2ldLm1hc2spCisJCQlyZXR1cm4gc3ltYm9sX2FycmF5 W2ldLm5hbWU7CisJfQorCisJcmV0dXJuICJ1bmtub3duIjsKK30KKworY29uc3QgY2hhciAqZ2V0 X2hpZl9uYW1lKHVuc2lnbmVkIGxvbmcgaWQpCit7CisJcmV0dXJuIGdldF9zeW1ib2woaWQsIGhp Zl9tc2dfcHJpbnRfbWFwKTsKK30KKworY29uc3QgY2hhciAqZ2V0X21pYl9uYW1lKHVuc2lnbmVk IGxvbmcgaWQpCit7CisJcmV0dXJuIGdldF9zeW1ib2woaWQsIGhpZl9taWJfcHJpbnRfbWFwKTsK K30KKworY29uc3QgY2hhciAqZ2V0X3JlZ19uYW1lKHVuc2lnbmVkIGxvbmcgaWQpCit7CisJcmV0 dXJuIGdldF9zeW1ib2woaWQsIHdmeF9yZWdfcHJpbnRfbWFwKTsKK30KKworc3RhdGljIGludCB3 ZnhfY291bnRlcnNfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgdm9pZCAqdikKK3sKKwlpbnQg cmV0LCBpOworCXN0cnVjdCB3ZnhfZGV2ICp3ZGV2ID0gc2VxLT5wcml2YXRlOworCXN0cnVjdCBo aWZfbWliX2V4dGVuZGVkX2NvdW50X3RhYmxlIGNvdW50ZXJzWzNdOworCisJZm9yIChpID0gMDsg aSA8IEFSUkFZX1NJWkUoY291bnRlcnMpOyBpKyspIHsKKwkJcmV0ID0gaGlmX2dldF9jb3VudGVy c190YWJsZSh3ZGV2LCBpLCBjb3VudGVycyArIGkpOworCQlpZiAocmV0IDwgMCkKKwkJCXJldHVy biByZXQ7CisJCWlmIChyZXQgPiAwKQorCQkJcmV0dXJuIC1FSU87CisJfQorCisJc2VxX3ByaW50 ZihzZXEsICIlLTI0cyAlMTJzICUxMnMgJTEyc1xuIiwKKwkJICAgIiIsICJnbG9iYWwiLCAiaWZh Y2UgMCIsICJpZmFjZSAxIik7CisKKyNkZWZpbmUgUFVUX0NPVU5URVIobmFtZSkgXAorCXNlcV9w cmludGYoc2VxLCAiJS0yNHMgJTEyZCAlMTJkICUxMmRcbiIsICNuYW1lLCBcCisJCSAgIGxlMzJf dG9fY3B1KGNvdW50ZXJzWzJdLmNvdW50XyMjbmFtZSksIFwKKwkJICAgbGUzMl90b19jcHUoY291 bnRlcnNbMF0uY291bnRfIyNuYW1lKSwgXAorCQkgICBsZTMyX3RvX2NwdShjb3VudGVyc1sxXS5j b3VudF8jI25hbWUpKQorCisJUFVUX0NPVU5URVIodHhfZnJhbWVzKTsKKwlQVVRfQ09VTlRFUih0 eF9mcmFtZXNfbXVsdGljYXN0KTsKKwlQVVRfQ09VTlRFUih0eF9mcmFtZXNfc3VjY2Vzcyk7CisJ UFVUX0NPVU5URVIodHhfZnJhbWVzX3JldHJpZWQpOworCVBVVF9DT1VOVEVSKHR4X2ZyYW1lc19t dWx0aV9yZXRyaWVkKTsKKwlQVVRfQ09VTlRFUih0eF9mcmFtZXNfZmFpbGVkKTsKKworCVBVVF9D T1VOVEVSKGFja19mYWlsZWQpOworCVBVVF9DT1VOVEVSKHJ0c19zdWNjZXNzKTsKKwlQVVRfQ09V TlRFUihydHNfZmFpbGVkKTsKKworCVBVVF9DT1VOVEVSKHJ4X2ZyYW1lcyk7CisJUFVUX0NPVU5U RVIocnhfZnJhbWVzX211bHRpY2FzdCk7CisJUFVUX0NPVU5URVIocnhfZnJhbWVzX3N1Y2Nlc3Mp OworCVBVVF9DT1VOVEVSKHJ4X2ZyYW1lc19mYWlsZWQpOworCVBVVF9DT1VOVEVSKGRyb3BfcGxj cCk7CisJUFVUX0NPVU5URVIoZHJvcF9mY3MpOworCVBVVF9DT1VOVEVSKGRyb3Bfbm9fa2V5KTsK KwlQVVRfQ09VTlRFUihkcm9wX2RlY3J5cHRpb24pOworCVBVVF9DT1VOVEVSKGRyb3BfdGtpcF9t aWMpOworCVBVVF9DT1VOVEVSKGRyb3BfYmlwX21pYyk7CisJUFVUX0NPVU5URVIoZHJvcF9jbWFj X2ljdik7CisJUFVUX0NPVU5URVIoZHJvcF9jbWFjX3JlcGxheSk7CisJUFVUX0NPVU5URVIoZHJv cF9jY21wX3JlcGxheSk7CisJUFVUX0NPVU5URVIoZHJvcF9kdXBsaWNhdGUpOworCisJUFVUX0NP VU5URVIocnhfYmNuX21pc3MpOworCVBVVF9DT1VOVEVSKHJ4X2Jjbl9zdWNjZXNzKTsKKwlQVVRf Q09VTlRFUihyeF9iY25fZHRpbSk7CisJUFVUX0NPVU5URVIocnhfYmNuX2R0aW1fYWlkMF9jbHIp OworCVBVVF9DT1VOVEVSKHJ4X2Jjbl9kdGltX2FpZDBfc2V0KTsKKworI3VuZGVmIFBVVF9DT1VO VEVSCisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShjb3VudGVyc1swXS5yZXNlcnZlZCk7 IGkrKykKKwkJc2VxX3ByaW50ZihzZXEsICJyZXNlcnZlZFslMDJkXSUxMnMgJTEyZCAlMTJkICUx MmRcbiIsIGksICIiLAorCQkJICAgbGUzMl90b19jcHUoY291bnRlcnNbMl0ucmVzZXJ2ZWRbaV0p LAorCQkJICAgbGUzMl90b19jcHUoY291bnRlcnNbMF0ucmVzZXJ2ZWRbaV0pLAorCQkJICAgbGUz Ml90b19jcHUoY291bnRlcnNbMV0ucmVzZXJ2ZWRbaV0pKTsKKworCXJldHVybiAwOworfQorREVG SU5FX1NIT1dfQVRUUklCVVRFKHdmeF9jb3VudGVycyk7CisKK3N0YXRpYyBjb25zdCBjaGFyICog Y29uc3QgY2hhbm5lbF9uYW1lc1tdID0geworCVswXSA9ICIxTSIsCisJWzFdID0gIjJNIiwKKwlb Ml0gPSAiNS41TSIsCisJWzNdID0gIjExTSIsCisJLyogRW50cmllcyA0IGFuZCA1IGRvZXMgbm90 IGV4aXN0ICovCisJWzZdID0gIjZNIiwKKwlbN10gPSAiOU0iLAorCVs4XSA9ICIxMk0iLAorCVs5 XSA9ICIxOE0iLAorCVsxMF0gPSAiMjRNIiwKKwlbMTFdID0gIjM2TSIsCisJWzEyXSA9ICI0OE0i LAorCVsxM10gPSAiNTRNIiwKKwlbMTRdID0gIk1DUzAiLAorCVsxNV0gPSAiTUNTMSIsCisJWzE2 XSA9ICJNQ1MyIiwKKwlbMTddID0gIk1DUzMiLAorCVsxOF0gPSAiTUNTNCIsCisJWzE5XSA9ICJN Q1M1IiwKKwlbMjBdID0gIk1DUzYiLAorCVsyMV0gPSAiTUNTNyIsCit9OworCitzdGF0aWMgaW50 IHdmeF9yeF9zdGF0c19zaG93KHN0cnVjdCBzZXFfZmlsZSAqc2VxLCB2b2lkICp2KQoreworCXN0 cnVjdCB3ZnhfZGV2ICp3ZGV2ID0gc2VxLT5wcml2YXRlOworCXN0cnVjdCBoaWZfcnhfc3RhdHMg KnN0ID0gJndkZXYtPnJ4X3N0YXRzOworCWludCBpOworCisJbXV0ZXhfbG9jaygmd2Rldi0+cnhf c3RhdHNfbG9jayk7CisJc2VxX3ByaW50ZihzZXEsICJUaW1lc3RhbXA6ICVkdXNcbiIsIHN0LT5k YXRlKTsKKwlzZXFfcHJpbnRmKHNlcSwgIkxvdyBwb3dlciBjbG9jazogZnJlcXVlbmN5ICV1SHos IGV4dGVybmFsICVzXG4iLAorCQkgICBsZTMyX3RvX2NwdShzdC0+cHdyX2Nsa19mcmVxKSwKKwkJ ICAgc3QtPmlzX2V4dF9wd3JfY2xrID8gInllcyIgOiAibm8iKTsKKwlzZXFfcHJpbnRmKHNlcSwK KwkJICAgIk51bS4gb2YgZnJhbWVzOiAlZCwgUEVSICh4MTBlNCk6ICVkLCBUaHJvdWdocHV0OiAl ZEticHMvc1xuIiwKKwkJICAgc3QtPm5iX3J4X2ZyYW1lLCBzdC0+cGVyX3RvdGFsLCBzdC0+dGhy b3VnaHB1dCk7CisJc2VxX3B1dHMoc2VxLCAiICAgICAgIE51bS4gb2YgICAgICBQRVIgICAgIFJT U0kgICAgICBTTlIgICAgICBDRk9cbiIpOworCXNlcV9wdXRzKHNlcSwgIiAgICAgICAgZnJhbWVz ICAoeDEwZTQpICAgIChkQm0pICAgICAoZEIpICAgIChrSHopXG4iKTsKKwlmb3IgKGkgPSAwOyBp IDwgQVJSQVlfU0laRShjaGFubmVsX25hbWVzKTsgaSsrKSB7CisJCWlmIChjaGFubmVsX25hbWVz W2ldKQorCQkJc2VxX3ByaW50ZihzZXEsICIlNXMgJThkICU4ZCAlOGQgJThkICU4ZFxuIiwKKwkJ CQkgICBjaGFubmVsX25hbWVzW2ldLAorCQkJCSAgIGxlMzJfdG9fY3B1KHN0LT5uYl9yeF9ieV9y YXRlW2ldKSwKKwkJCQkgICBsZTE2X3RvX2NwdShzdC0+cGVyW2ldKSwKKwkJCQkgICAoczE2KWxl MTZfdG9fY3B1KHN0LT5yc3NpW2ldKSAvIDEwMCwKKwkJCQkgICAoczE2KWxlMTZfdG9fY3B1KHN0 LT5zbnJbaV0pIC8gMTAwLAorCQkJCSAgIChzMTYpbGUxNl90b19jcHUoc3QtPmNmb1tpXSkpOwor CX0KKwltdXRleF91bmxvY2soJndkZXYtPnJ4X3N0YXRzX2xvY2spOworCisJcmV0dXJuIDA7Cit9 CitERUZJTkVfU0hPV19BVFRSSUJVVEUod2Z4X3J4X3N0YXRzKTsKKworc3RhdGljIGludCB3Znhf dHhfcG93ZXJfbG9vcF9zaG93KHN0cnVjdCBzZXFfZmlsZSAqc2VxLCB2b2lkICp2KQoreworCXN0 cnVjdCB3ZnhfZGV2ICp3ZGV2ID0gc2VxLT5wcml2YXRlOworCXN0cnVjdCBoaWZfdHhfcG93ZXJf bG9vcF9pbmZvICpzdCA9ICZ3ZGV2LT50eF9wb3dlcl9sb29wX2luZm87CisJaW50IHRtcDsKKwor CW11dGV4X2xvY2soJndkZXYtPnR4X3Bvd2VyX2xvb3BfaW5mb19sb2NrKTsKKwl0bXAgPSBsZTE2 X3RvX2NwdShzdC0+dHhfZ2Fpbl9kaWcpOworCXNlcV9wcmludGYoc2VxLCAiVHggZ2FpbiBkaWdp dGFsOiAlZFxuIiwgdG1wKTsKKwl0bXAgPSBsZTE2X3RvX2NwdShzdC0+dHhfZ2Fpbl9wYSk7CisJ c2VxX3ByaW50ZihzZXEsICJUeCBnYWluIFBBOiAlZFxuIiwgdG1wKTsKKwl0bXAgPSAoczE2KWxl MTZfdG9fY3B1KHN0LT50YXJnZXRfcG91dCk7CisJc2VxX3ByaW50ZihzZXEsICJUYXJnZXQgUG91 dDogJWQuJTAyZCBkQm1cbiIsIHRtcCAvIDQsICh0bXAgJSA0KSAqIDI1KTsKKwl0bXAgPSAoczE2 KWxlMTZfdG9fY3B1KHN0LT5wX2VzdGltYXRpb24pOworCXNlcV9wcmludGYoc2VxLCAiRkVNIFBv dXQ6ICVkLiUwMmQgZEJtXG4iLCB0bXAgLyA0LCAodG1wICUgNCkgKiAyNSk7CisJdG1wID0gbGUx Nl90b19jcHUoc3QtPnZwZGV0KTsKKwlzZXFfcHJpbnRmKHNlcSwgIlZwZGV0OiAlZCBtVlxuIiwg dG1wKTsKKwlzZXFfcHJpbnRmKHNlcSwgIk1lYXN1cmUgaW5kZXg6ICVkXG4iLCBzdC0+bWVhc3Vy ZW1lbnRfaW5kZXgpOworCW11dGV4X3VubG9jaygmd2Rldi0+dHhfcG93ZXJfbG9vcF9pbmZvX2xv Y2spOworCisJcmV0dXJuIDA7Cit9CitERUZJTkVfU0hPV19BVFRSSUJVVEUod2Z4X3R4X3Bvd2Vy X2xvb3ApOworCitzdGF0aWMgc3NpemVfdCB3Znhfc2VuZF9wZHNfd3JpdGUoc3RydWN0IGZpbGUg KmZpbGUsCisJCQkJICBjb25zdCBjaGFyIF9fdXNlciAqdXNlcl9idWYsCisJCQkJICBzaXplX3Qg Y291bnQsIGxvZmZfdCAqcHBvcykKK3sKKwlzdHJ1Y3Qgd2Z4X2RldiAqd2RldiA9IGZpbGUtPnBy aXZhdGVfZGF0YTsKKwljaGFyICpidWY7CisJaW50IHJldDsKKworCWlmICgqcHBvcyAhPSAwKSB7 CisJCWRldl9kYmcod2Rldi0+ZGV2LCAiUERTIGRhdGEgbXVzdCBiZSB3cml0dGVuIGluIG9uZSB0 cmFuc2FjdGlvbiIpOworCQlyZXR1cm4gLUVCVVNZOworCX0KKwlidWYgPSBtZW1kdXBfdXNlcih1 c2VyX2J1ZiwgY291bnQpOworCWlmIChJU19FUlIoYnVmKSkKKwkJcmV0dXJuIFBUUl9FUlIoYnVm KTsKKwkqcHBvcyA9ICpwcG9zICsgY291bnQ7CisJcmV0ID0gd2Z4X3NlbmRfcGRzKHdkZXYsIGJ1 ZiwgY291bnQpOworCWtmcmVlKGJ1Zik7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisJ cmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB3 Znhfc2VuZF9wZHNfZm9wcyA9IHsKKwkub3BlbiA9IHNpbXBsZV9vcGVuLAorCS53cml0ZSA9IHdm eF9zZW5kX3Bkc193cml0ZSwKK307CisKK3N0cnVjdCBkYmdmc19oaWZfbXNnIHsKKwlzdHJ1Y3Qg d2Z4X2RldiAqd2RldjsKKwlzdHJ1Y3QgY29tcGxldGlvbiBjb21wbGV0ZTsKKwl1OCByZXBseVsx MDI0XTsKKwlpbnQgcmV0OworfTsKKworc3RhdGljIHNzaXplX3Qgd2Z4X3NlbmRfaGlmX21zZ193 cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwKKwkJCQkgICAgICBjb25zdCBjaGFyIF9fdXNlciAqdXNl cl9idWYsCisJCQkJICAgICAgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpCit7CisJc3RydWN0 IGRiZ2ZzX2hpZl9tc2cgKmNvbnRleHQgPSBmaWxlLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHdm eF9kZXYgKndkZXYgPSBjb250ZXh0LT53ZGV2OworCXN0cnVjdCBoaWZfbXNnICpyZXF1ZXN0Owor CisJaWYgKGNvbXBsZXRpb25fZG9uZSgmY29udGV4dC0+Y29tcGxldGUpKSB7CisJCWRldl9kYmco d2Rldi0+ZGV2LCAicmVhZCBwcmV2aW91cyByZXN1bHQgYmVmb3JlIHN0YXJ0IGEgbmV3IG9uZVxu Iik7CisJCXJldHVybiAtRUJVU1k7CisJfQorCWlmIChjb3VudCA8IHNpemVvZihzdHJ1Y3QgaGlm X21zZykpCisJCXJldHVybiAtRUlOVkFMOworCisJLyogd2Z4X2NtZF9zZW5kKCkgY2hlY2tzIHRo YXQgcmVwbHkgYnVmZmVyIGlzIHdpZGUgZW5vdWdoLCBidXQgZG9lcyBub3QKKwkgKiByZXR1cm4g cHJlY2lzZSBsZW5ndGggcmVhZC4gVXNlciBoYXZlIHRvIGtub3cgaG93IG1hbnkgYnl0ZXMgc2hv dWxkCisJICogYmUgcmVhZC4gRmlsbGluZyByZXBseSBidWZmZXIgd2l0aCBhIG1lbW9yeSBwYXR0 ZXJuIG1heSBoZWxwIHVzZXIuCisJICovCisJbWVtc2V0KGNvbnRleHQtPnJlcGx5LCAweEZGLCBz aXplb2YoY29udGV4dC0+cmVwbHkpKTsKKwlyZXF1ZXN0ID0gbWVtZHVwX3VzZXIodXNlcl9idWYs IGNvdW50KTsKKwlpZiAoSVNfRVJSKHJlcXVlc3QpKQorCQlyZXR1cm4gUFRSX0VSUihyZXF1ZXN0 KTsKKwlpZiAobGUxNl90b19jcHUocmVxdWVzdC0+bGVuKSAhPSBjb3VudCkgeworCQlrZnJlZShy ZXF1ZXN0KTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCWNvbnRleHQtPnJldCA9IHdmeF9jbWRf c2VuZCh3ZGV2LCByZXF1ZXN0LCBjb250ZXh0LT5yZXBseSwKKwkJCQkgICAgc2l6ZW9mKGNvbnRl eHQtPnJlcGx5KSwgZmFsc2UpOworCisJa2ZyZWUocmVxdWVzdCk7CisJY29tcGxldGUoJmNvbnRl eHQtPmNvbXBsZXRlKTsKKwlyZXR1cm4gY291bnQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHdmeF9z ZW5kX2hpZl9tc2dfcmVhZChzdHJ1Y3QgZmlsZSAqZmlsZSwgY2hhciBfX3VzZXIgKnVzZXJfYnVm LAorCQkJCSAgICAgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpCit7CisJc3RydWN0IGRiZ2Zz X2hpZl9tc2cgKmNvbnRleHQgPSBmaWxlLT5wcml2YXRlX2RhdGE7CisJaW50IHJldDsKKworCWlm IChjb3VudCA+IHNpemVvZihjb250ZXh0LT5yZXBseSkpCisJCXJldHVybiAtRUlOVkFMOworCXJl dCA9IHdhaXRfZm9yX2NvbXBsZXRpb25faW50ZXJydXB0aWJsZSgmY29udGV4dC0+Y29tcGxldGUp OworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisJaWYgKGNvbnRleHQtPnJldCA8IDApCisJCXJl dHVybiBjb250ZXh0LT5yZXQ7CisJLyogQmUgY2FyZWZ1bCwgd3JpdGUoKSBpcyB3YWl0aW5nIGZv ciBhIGZ1bGwgbWVzc2FnZSB3aGlsZSByZWFkKCkKKwkgKiBvbmx5IHJldHVybnMgYSBwYXlsb2Fk CisJICovCisJaWYgKGNvcHlfdG9fdXNlcih1c2VyX2J1ZiwgY29udGV4dC0+cmVwbHksIGNvdW50 KSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlyZXR1cm4gY291bnQ7Cit9CisKK3N0YXRpYyBpbnQg d2Z4X3NlbmRfaGlmX21zZ19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpm aWxlKQoreworCXN0cnVjdCBkYmdmc19oaWZfbXNnICpjb250ZXh0ID0ga3phbGxvYyhzaXplb2Yo KmNvbnRleHQpLCBHRlBfS0VSTkVMKTsKKworCWlmICghY29udGV4dCkKKwkJcmV0dXJuIC1FTk9N RU07CisJY29udGV4dC0+d2RldiA9IGlub2RlLT5pX3ByaXZhdGU7CisJaW5pdF9jb21wbGV0aW9u KCZjb250ZXh0LT5jb21wbGV0ZSk7CisJZmlsZS0+cHJpdmF0ZV9kYXRhID0gY29udGV4dDsKKwly ZXR1cm4gMDsKK30KKworc3RhdGljIGludCB3Znhfc2VuZF9oaWZfbXNnX3JlbGVhc2Uoc3RydWN0 IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJc3RydWN0IGRiZ2ZzX2hpZl9t c2cgKmNvbnRleHQgPSBmaWxlLT5wcml2YXRlX2RhdGE7CisKKwlrZnJlZShjb250ZXh0KTsKKwly ZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgd2Z4X3Nl bmRfaGlmX21zZ19mb3BzID0geworCS5vcGVuID0gd2Z4X3NlbmRfaGlmX21zZ19vcGVuLAorCS5y ZWxlYXNlID0gd2Z4X3NlbmRfaGlmX21zZ19yZWxlYXNlLAorCS53cml0ZSA9IHdmeF9zZW5kX2hp Zl9tc2dfd3JpdGUsCisJLnJlYWQgPSB3Znhfc2VuZF9oaWZfbXNnX3JlYWQsCit9OworCitzdGF0 aWMgaW50IHdmeF9wc190aW1lb3V0X3NldCh2b2lkICpkYXRhLCB1NjQgdmFsKQoreworCXN0cnVj dCB3ZnhfZGV2ICp3ZGV2ID0gKHN0cnVjdCB3ZnhfZGV2ICopZGF0YTsKKwlzdHJ1Y3Qgd2Z4X3Zp ZiAqd3ZpZjsKKworCXdkZXYtPmZvcmNlX3BzX3RpbWVvdXQgPSB2YWw7CisJd3ZpZiA9IE5VTEw7 CisJd2hpbGUgKCh3dmlmID0gd3ZpZl9pdGVyYXRlKHdkZXYsIHd2aWYpKSAhPSBOVUxMKQorCQl3 ZnhfdXBkYXRlX3BtKHd2aWYpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHdmeF9wc190 aW1lb3V0X2dldCh2b2lkICpkYXRhLCB1NjQgKnZhbCkKK3sKKwlzdHJ1Y3Qgd2Z4X2RldiAqd2Rl diA9IChzdHJ1Y3Qgd2Z4X2RldiAqKWRhdGE7CisKKwkqdmFsID0gd2Rldi0+Zm9yY2VfcHNfdGlt ZW91dDsKKwlyZXR1cm4gMDsKK30KKworREVGSU5FX0RFQlVHRlNfQVRUUklCVVRFKHdmeF9wc190 aW1lb3V0X2ZvcHMsIHdmeF9wc190aW1lb3V0X2dldCwgd2Z4X3BzX3RpbWVvdXRfc2V0LCAiJWxs ZFxuIik7CisKK2ludCB3ZnhfZGVidWdfaW5pdChzdHJ1Y3Qgd2Z4X2RldiAqd2RldikKK3sKKwlz dHJ1Y3QgZGVudHJ5ICpkOworCisJZCA9IGRlYnVnZnNfY3JlYXRlX2Rpcigid2Z4Iiwgd2Rldi0+ aHctPndpcGh5LT5kZWJ1Z2ZzZGlyKTsKKwlkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJjb3VudGVycyIs IDA0NDQsIGQsIHdkZXYsICZ3ZnhfY291bnRlcnNfZm9wcyk7CisJZGVidWdmc19jcmVhdGVfZmls ZSgicnhfc3RhdHMiLCAwNDQ0LCBkLCB3ZGV2LCAmd2Z4X3J4X3N0YXRzX2ZvcHMpOworCWRlYnVn ZnNfY3JlYXRlX2ZpbGUoInR4X3Bvd2VyX2xvb3AiLCAwNDQ0LCBkLCB3ZGV2LAorCQkJICAgICZ3 ZnhfdHhfcG93ZXJfbG9vcF9mb3BzKTsKKwlkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJzZW5kX3BkcyIs IDAyMDAsIGQsIHdkZXYsICZ3Znhfc2VuZF9wZHNfZm9wcyk7CisJZGVidWdmc19jcmVhdGVfZmls ZSgic2VuZF9oaWZfbXNnIiwgMDYwMCwgZCwgd2RldiwKKwkJCSAgICAmd2Z4X3NlbmRfaGlmX21z Z19mb3BzKTsKKwlkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJwc190aW1lb3V0IiwgMDYwMCwgZCwgd2Rl diwgJndmeF9wc190aW1lb3V0X2ZvcHMpOworCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC93aXJlbGVzcy9zaWxhYnMvd2Z4L2RlYnVnLmggYi9kcml2ZXJzL25ldC93aXJl bGVzcy9zaWxhYnMvd2Z4L2RlYnVnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi40YjljNDlhOWZmZmIKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL25ldC93aXJl bGVzcy9zaWxhYnMvd2Z4L2RlYnVnLmgKQEAgLTAsMCArMSwxOSBAQAorLyogU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAqLworLyoKKyAqIERlYnVnZnMgaW50ZXJmYWNlLgor ICoKKyAqIENvcHlyaWdodCAoYykgMjAxNy0yMDE5LCBTaWxpY29uIExhYm9yYXRvcmllcywgSW5j LgorICogQ29weXJpZ2h0IChjKSAyMDExLCBTVC1Fcmljc3NvbgorICovCisjaWZuZGVmIFdGWF9E RUJVR19ICisjZGVmaW5lIFdGWF9ERUJVR19ICisKK3N0cnVjdCB3ZnhfZGV2OworCitpbnQgd2Z4 X2RlYnVnX2luaXQoc3RydWN0IHdmeF9kZXYgKndkZXYpOworCitjb25zdCBjaGFyICpnZXRfaGlm X25hbWUodW5zaWduZWQgbG9uZyBpZCk7Citjb25zdCBjaGFyICpnZXRfbWliX25hbWUodW5zaWdu ZWQgbG9uZyBpZCk7Citjb25zdCBjaGFyICpnZXRfcmVnX25hbWUodW5zaWduZWQgbG9uZyBpZCk7 CisKKyNlbmRpZgotLSAKMi4zMy4wCgo=