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.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,URIBL_BLOCKED,USER_AGENT_GIT 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 8BA43C433ED for ; Mon, 17 May 2021 12:08:16 +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 3C1BF61242 for ; Mon, 17 May 2021 12:08:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3C1BF61242 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 9147C88E45; Mon, 17 May 2021 12:08:14 +0000 (UTC) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1anam02on2062.outbound.protection.outlook.com [40.107.96.62]) by gabe.freedesktop.org (Postfix) with ESMTPS id 828786E935 for ; Mon, 17 May 2021 12:08:13 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=USjjBRkUd4Q25xOzYEv87UzdczrHu/2fBhrxCO0vJV/p4mZZlqxAdRB8XwozDRqQougtzaOCyHx7CTDKPU4vasoBcEVeILFuRwPUBXBqAvPRwpFApi+gH56PPEUwqIl6DvB2fT4kssGSEcJY4aILCxXh/DjogR2kFyW+hHvFDQS6DaI1omz++j6fKbbff+CAgW5xlqF8jn/7KXSrhBuOHKnxEf9IJvucYNBR5PxwSLadhdJ9DVH/KhExw6qIRQpwL0SAj+p70TNaoouwNKiSgxJ3eg1tS6lZsNQkBd3FA5JYNlop1PgMNkYtyxOE02pk/GZvGefN+Nfmw+eePlVu3A== 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=fSmUeZ3PAIycWx1zjyUKNPbHy8mz+BatEbmQUxSXDmE=; b=WJK+pyAYxbbKFiaw/gzpmhgzwhLBdXSBpbb8nhCyt56Zzb6WQfpL2zTeGRTFbc5Wa3j7OiODFEUUpovjPJwaMUlIeQZgcRE/zq9sSe45bfP6MNymAqt2TBhh7v3c0Cuj/GsyT8tkojTasCdfTNHqDNz8oo+CL39LdDZ7DqWTfF9rHqFY1DM3Wl38rfcAoKdDVA5P7+Gjtlq/GbCInZfrKWdXMHzX/oivf0Y6Nerzn8Qf+KlMyv+Z6+pcc/z0r86w7J6MoFkuV/8BFnFks9vR8Yv0DaMUxBfjrsNx0mYcdA5fwyxt+vDqBP1u0MvTQ3tIhKMR2X8xMufir02ohw70Ow== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.freedesktop.org smtp.mailfrom=amd.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=amd.com; dkim=none (message not signed); 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=fSmUeZ3PAIycWx1zjyUKNPbHy8mz+BatEbmQUxSXDmE=; b=J6fhpV50+LSsDLiP9uAyevcPmDQUuPfVKIGy13/WJRCjYO18jeW2uMrnCBEgP60ltz+MMqUHv4/iT2QCEAvTIGdzTFpsLs8RvUl5or9zFZ5m5eALOVh9yzNdgHp5d2ho+f/iUjuc7hm0SJ4hK00pp4R+idYgL06Nk82jRUL+v28= Received: from MW4PR03CA0068.namprd03.prod.outlook.com (2603:10b6:303:b6::13) by DM4PR12MB5135.namprd12.prod.outlook.com (2603:10b6:5:392::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.25; Mon, 17 May 2021 12:08:10 +0000 Received: from CO1NAM11FT041.eop-nam11.prod.protection.outlook.com (2603:10b6:303:b6:cafe::e5) by MW4PR03CA0068.outlook.office365.com (2603:10b6:303:b6::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend Transport; Mon, 17 May 2021 12:08:10 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; lists.freedesktop.org; dkim=none (message not signed) header.d=none;lists.freedesktop.org; dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; Received: from SATLEXMB04.amd.com (165.204.84.17) by CO1NAM11FT041.mail.protection.outlook.com (10.13.174.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4129.25 via Frontend Transport; Mon, 17 May 2021 12:08:10 +0000 Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Mon, 17 May 2021 07:08:09 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Mon, 17 May 2021 07:08:09 -0500 Received: from willgu.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2242.4 via Frontend Transport; Mon, 17 May 2021 07:08:07 -0500 From: Jiawei Gu To: , , , , Subject: [PATCH] drm/amdgpu: Add vbios info ioctl interface Date: Mon, 17 May 2021 20:08:04 +0800 Message-ID: <20210517120804.27052-1-Jiawei.Gu@amd.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 19798973-9f33-4c2b-a4f1-08d9192c7071 X-MS-TrafficTypeDiagnostic: DM4PR12MB5135: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /7n1GbFZwUAdN6N4BRo+SF22WlYc2pbbPqDLvkdq0mvAlbv07CS2IlN2nh1YAJMit3PJMLEXpR3WWWi670kH7Mn78yhPwe/fpV/vEqZ8/bjNHzdApgy2mCnyAyAeB3TMhoBEi4zzkC/ZTfZGlyvzw3QZA9IHpLZUHCUWjUIVzMLf9obSuD6ApSKgPZl2zJDMCUhaNzH3K19ufavULODXuAGpFFLz1c5VzcBX9wLwF/q2XdY7A9BzdNuN/bMQtGWkr1ElhKsmE3wSyxYuww07HzNeguYMf9EKW2yeeN66r0sLaPP0o4XVpHV2fFLvFDGy4gCIIMbtJTPsvtFwkEEAXYCR6/6P2dO7ijlsEXIP8MlDlitxdzcEEE50CsvjRgwz7438l0ocUhki22uANfPJ1qyglXe75SVKWvv3cMlQ9PBjiPhqizbw1K9VXnq/U/4eT9dEz8P2xv1DtDVI+JeZ9SEdNcaRiubKXQ/brz1gjDQyHHwe5goRhzlRnWRLErim1BkjVP2ET1m8+qk3T8kiC5kOBBoSkSsIcKPl1tOadIuertmkt4no0ms80z+mOlP9fkJ06bljzNvmrJOUrHoVsyA3S6ktg3//tGv0ieM2QHbhjeH1o6xLQPew5HaQt+JsS88uiTcTXq71M/3sTBtljlnnAh6vDaFNppvrTRhcJesLs33FFfp9ikKuRhn5Ni/m X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(4636009)(39860400002)(136003)(346002)(396003)(376002)(36840700001)(46966006)(4326008)(6666004)(86362001)(36860700001)(2906002)(30864003)(70206006)(70586007)(478600001)(2616005)(26005)(8936002)(8676002)(5660300002)(6636002)(82310400003)(66574015)(316002)(36756003)(81166007)(356005)(110136005)(186003)(426003)(336012)(7696005)(82740400003)(47076005)(1076003)(54906003)(83380400001)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 May 2021 12:08:10.3698 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 19798973-9f33-4c2b-a4f1-08d9192c7071 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT041.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5135 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: emily.deng@amd.com, Jiawei Gu Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" QWRkIEFNREdQVV9JTkZPX1ZCSU9TX0lORk8gc3VicXVlcnkgaWQgZm9yIGRldGFpbGVkIHZiaW9z IGluZm8uCgpQcm92aWRlcyBhIHdheSBmb3IgdGhlIHVzZXIgYXBwbGljYXRpb24gdG8gZ2V0IHRo ZSBWQklPUwppbmZvcm1hdGlvbiB3aXRob3V0IGhhdmluZyB0byBwYXJzZSB0aGUgYmluYXJ5LgpJ dCBpcyB1c2VmdWwgZm9yIHRoZSB1c2VyIHRvIGJlIGFibGUgdG8gZGlzcGxheSBpbiBhIHNpbXBs ZSB3YXkgdGhlIFZCSU9TCnZlcnNpb24gaW4gdGhlaXIgc3lzdGVtIGlmIHRoZXkgaGFwcGVuIHRv IGVuY291bnRlciBhbiBpc3N1ZS4KClYyOgpVc2UgbnVtZXJpYyBzZXJpYWwuClBhcnNlIGFuZCBl eHBvc2UgdmJpb3MgdmVyc2lvbiBzdHJpbmcuCgpTaWduZWQtb2ZmLWJ5OiBKaWF3ZWkgR3UgPEpp YXdlaS5HdUBhbWQuY29tPgpBY2tlZC1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtv ZW5pZ0BhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMu YyAgICB8ICAyMSArKysKIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2F0b20uYyAgICAgICAg ICB8IDE3NCArKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2F0b20uaCAgICAgICAgICB8ICAxMiArKwogZHJpdmVycy9ncHUvZHJtL2FtZC9pbmNsdWRlL2F0 b21maXJtd2FyZS5oIHwgICA1ICsKIGluY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oICAgICAg ICAgICAgICB8ICAxNiArKwogNSBmaWxlcyBjaGFuZ2VkLCAyMjggaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYwppbmRleCA4ZDEyZTQ3NDc0NWEuLjMw ZTRmZWQzZGUyMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2ttcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYwpAQCAt ODYxLDYgKzg2MSwyNyBAQCBpbnQgYW1kZ3B1X2luZm9faW9jdGwoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxwKQogCQkJCQkgICAgbWluKChz aXplX3Qpc2l6ZSwgKHNpemVfdCkoYmlvc19zaXplIC0gYmlvc19vZmZzZXQpKSkKIAkJCQkJPyAt RUZBVUxUIDogMDsKIAkJfQorCQljYXNlIEFNREdQVV9JTkZPX1ZCSU9TX0lORk86IHsKKwkJCXN0 cnVjdCBkcm1fYW1kZ3B1X2luZm9fdmJpb3MgdmJpb3NfaW5mbyA9IHt9OworCQkJc3RydWN0IGF0 b21fY29udGV4dCAqYXRvbV9jb250ZXh0OworCisJCQlhdG9tX2NvbnRleHQgPSBhZGV2LT5tb2Rl X2luZm8uYXRvbV9jb250ZXh0OworCQkJbWVtY3B5KHZiaW9zX2luZm8ubmFtZSwgYXRvbV9jb250 ZXh0LT5uYW1lLCBzaXplb2YoYXRvbV9jb250ZXh0LT5uYW1lKSk7CisJCQl2Ymlvc19pbmZvLmRi ZGYgPSBQQ0lfREVWSUQoYWRldi0+cGRldi0+YnVzLT5udW1iZXIsIGFkZXYtPnBkZXYtPmRldmZu KTsKKwkJCW1lbWNweSh2Ymlvc19pbmZvLnZiaW9zX3BuLCBhdG9tX2NvbnRleHQtPnZiaW9zX3Bu LCBzaXplb2YoYXRvbV9jb250ZXh0LT52Ymlvc19wbikpOworCQkJdmJpb3NfaW5mby52ZXJzaW9u ID0gYXRvbV9jb250ZXh0LT52ZXJzaW9uOworCQkJbWVtY3B5KHZiaW9zX2luZm8udmJpb3NfdmVy X3N0ciwgYXRvbV9jb250ZXh0LT52Ymlvc192ZXJfc3RyLAorCQkJCQkJc2l6ZW9mKGF0b21fY29u dGV4dC0+dmJpb3NfdmVyX3N0cikpOworCQkJbWVtY3B5KHZiaW9zX2luZm8uZGF0ZSwgYXRvbV9j b250ZXh0LT5kYXRlLCBzaXplb2YoYXRvbV9jb250ZXh0LT5kYXRlKSk7CisJCQl2Ymlvc19pbmZv LnNlcmlhbCA9IGFkZXYtPnVuaXF1ZV9pZDsKKwkJCXZiaW9zX2luZm8uZGV2X2lkID0gYWRldi0+ cGRldi0+ZGV2aWNlOworCQkJdmJpb3NfaW5mby5yZXZfaWQgPSBhZGV2LT5wZGV2LT5yZXZpc2lv bjsKKwkJCXZiaW9zX2luZm8uc3ViX2Rldl9pZCA9IGF0b21fY29udGV4dC0+c3ViX2Rldl9pZDsK KwkJCXZiaW9zX2luZm8uc3ViX3ZlZF9pZCA9IGF0b21fY29udGV4dC0+c3ViX3ZlZF9pZDsKKwor CQkJcmV0dXJuIGNvcHlfdG9fdXNlcihvdXQsICZ2Ymlvc19pbmZvLAorCQkJCQkJbWluKChzaXpl X3Qpc2l6ZSwgc2l6ZW9mKHZiaW9zX2luZm8pKSkgPyAtRUZBVUxUIDogMDsKKwkJfQogCQlkZWZh dWx0OgogCQkJRFJNX0RFQlVHX0tNUygiSW52YWxpZCByZXF1ZXN0ICVkXG4iLAogCQkJCQlpbmZv LT52Ymlvc19pbmZvLnR5cGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYXRvbS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYXRvbS5jCmluZGV4IDNkY2I4 YjMyZjQ4Yi4uNTQyYjJjMjQxNGU0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hdG9tLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYXRvbS5jCkBAIC0z MSw2ICszMSw3IEBACiAKICNkZWZpbmUgQVRPTV9ERUJVRwogCisjaW5jbHVkZSAiYXRvbWZpcm13 YXJlLmgiCiAjaW5jbHVkZSAiYXRvbS5oIgogI2luY2x1ZGUgImF0b20tbmFtZXMuaCIKICNpbmNs dWRlICJhdG9tLWJpdHMuaCIKQEAgLTEyOTksMTIgKzEzMDAsMTY4IEBAIHN0YXRpYyB2b2lkIGF0 b21faW5kZXhfaWlvKHN0cnVjdCBhdG9tX2NvbnRleHQgKmN0eCwgaW50IGJhc2UpCiAJfQogfQog CitzdGF0aWMgdm9pZCBhdG9tX2dldF92Ymlvc19uYW1lKHN0cnVjdCBhdG9tX2NvbnRleHQgKmN0 eCkKK3sKKwl1bnNpZ25lZCBjaGFyICpwX3JvbTsKKwl1bnNpZ25lZCBjaGFyIHN0cl9udW07CisJ dW5zaWduZWQgc2hvcnQgb2ZmX3RvX3ZiaW9zX3N0cjsKKwl1bnNpZ25lZCBjaGFyICpjX3B0cjsK KwlpbnQgbmFtZV9zaXplOworCWludCBpOworCisJY29uc3QgY2hhciAqbmEgPSAiLS1OL0EtLSI7 CisJY2hhciAqYmFjazsKKworCXBfcm9tID0gY3R4LT5iaW9zOworCisJc3RyX251bSA9ICoocF9y b20gKyBPRkZTRVRfVE9fR0VUX0FUT01CSU9TX05VTUJFUl9PRl9TVFJJTkdTKTsKKwlpZiAoc3Ry X251bSAhPSAwKSB7CisJCW9mZl90b192Ymlvc19zdHIgPQorCQkJKih1bnNpZ25lZCBzaG9ydCAq KShwX3JvbSArIE9GRlNFVF9UT19HRVRfQVRPTUJJT1NfU1RSSU5HX1NUQVJUKTsKKworCQljX3B0 ciA9ICh1bnNpZ25lZCBjaGFyICopKHBfcm9tICsgb2ZmX3RvX3ZiaW9zX3N0cik7CisJfSBlbHNl IHsKKwkJLyogZG8gbm90IGtub3cgd2hlcmUgdG8gZmluZCBuYW1lICovCisJCW1lbWNweShjdHgt Pm5hbWUsIG5hLCA3KTsKKwkJY3R4LT5uYW1lWzddID0gMDsKKwkJcmV0dXJuOworCX0KKworCS8q CisJICogc2tpcCB0aGUgYXRvbWJpb3Mgc3RyaW5ncywgdXN1YWxseSA0CisJICogMXN0IGlzIFAv TiwgMm5kIGlzIEFTSUMsIDNyZCBpcyBQQ0kgdHlwZSwgNHRoIGlzIE1lbW9yeSB0eXBlCisJICov CisJZm9yIChpID0gMDsgaSA8IHN0cl9udW07IGkrKykgeworCQl3aGlsZSAoKmNfcHRyICE9IDAp CisJCQljX3B0cisrOworCQljX3B0cisrOworCX0KKworCS8qIHNraXAgdGhlIGZvbGxvd2luZyAy IGNoYXJzOiAweDBEIDB4MEEgKi8KKwljX3B0ciArPSAyOworCisJbmFtZV9zaXplID0gc3Rybmxl bihjX3B0ciwgU1RSTEVOX0xPTkcgLSAxKTsKKwltZW1jcHkoY3R4LT5uYW1lLCBjX3B0ciwgbmFt ZV9zaXplKTsKKwliYWNrID0gY3R4LT5uYW1lICsgbmFtZV9zaXplOworCXdoaWxlICgoKi0tYmFj aykgPT0gJyAnKQorCQk7CisJKihiYWNrICsgMSkgPSAnXDAnOworfQorCitzdGF0aWMgdm9pZCBh dG9tX2dldF92Ymlvc19kYXRlKHN0cnVjdCBhdG9tX2NvbnRleHQgKmN0eCkKK3sKKwl1bnNpZ25l ZCBjaGFyICpwX3JvbTsKKwl1bnNpZ25lZCBjaGFyICpkYXRlX2luX3JvbTsKKworCXBfcm9tID0g Y3R4LT5iaW9zOworCisJZGF0ZV9pbl9yb20gPSBwX3JvbSArIE9GRlNFVF9UT19WQklPU19EQVRF OworCisJY3R4LT5kYXRlWzBdID0gJzInOworCWN0eC0+ZGF0ZVsxXSA9ICcwJzsKKwljdHgtPmRh dGVbMl0gPSBkYXRlX2luX3JvbVs2XTsKKwljdHgtPmRhdGVbM10gPSBkYXRlX2luX3JvbVs3XTsK KwljdHgtPmRhdGVbNF0gPSAnLyc7CisJY3R4LT5kYXRlWzVdID0gZGF0ZV9pbl9yb21bMF07CisJ Y3R4LT5kYXRlWzZdID0gZGF0ZV9pbl9yb21bMV07CisJY3R4LT5kYXRlWzddID0gJy8nOworCWN0 eC0+ZGF0ZVs4XSA9IGRhdGVfaW5fcm9tWzNdOworCWN0eC0+ZGF0ZVs5XSA9IGRhdGVfaW5fcm9t WzRdOworCWN0eC0+ZGF0ZVsxMF0gPSAnICc7CisJY3R4LT5kYXRlWzExXSA9IGRhdGVfaW5fcm9t WzldOworCWN0eC0+ZGF0ZVsxMl0gPSBkYXRlX2luX3JvbVsxMF07CisJY3R4LT5kYXRlWzEzXSA9 IGRhdGVfaW5fcm9tWzExXTsKKwljdHgtPmRhdGVbMTRdID0gZGF0ZV9pbl9yb21bMTJdOworCWN0 eC0+ZGF0ZVsxNV0gPSBkYXRlX2luX3JvbVsxM107CisJY3R4LT5kYXRlWzE2XSA9ICdcMCc7Cit9 CisKK3N0YXRpYyB1bnNpZ25lZCBjaGFyICphdG9tX2ZpbmRfc3RyX2luX3JvbShzdHJ1Y3QgYXRv bV9jb250ZXh0ICpjdHgsIGNoYXIgKnN0ciwgaW50IHN0YXJ0LAorCQkJCQkgICBpbnQgZW5kLCBp bnQgbWF4bGVuKQoreworCXVuc2lnbmVkIGxvbmcgc3RyX29mZjsKKwl1bnNpZ25lZCBjaGFyICpw X3JvbTsKKwl1bnNpZ25lZCBzaG9ydCBzdHJfbGVuOworCisJc3RyX29mZiA9IDA7CisJc3RyX2xl biA9IHN0cm5sZW4oc3RyLCBtYXhsZW4pOworCXBfcm9tID0gY3R4LT5iaW9zOworCisJZm9yICg7 IHN0YXJ0IDw9IGVuZDsgKytzdGFydCkgeworCQlmb3IgKHN0cl9vZmYgPSAwOyBzdHJfb2ZmIDwg c3RyX2xlbjsgKytzdHJfb2ZmKSB7CisJCQlpZiAoc3RyW3N0cl9vZmZdICE9ICoocF9yb20gKyBz dGFydCArIHN0cl9vZmYpKQorCQkJCWJyZWFrOworCQl9CisKKwkJaWYgKHN0cl9vZmYgPT0gc3Ry X2xlbiB8fCBzdHJbc3RyX29mZl0gPT0gMCkKKwkJCXJldHVybiBwX3JvbSArIHN0YXJ0OworCX0K KwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHZvaWQgYXRvbV9nZXRfdmJpb3NfcG4oc3RydWN0 IGF0b21fY29udGV4dCAqY3R4KQoreworCXVuc2lnbmVkIGNoYXIgKnBfcm9tOworCXVuc2lnbmVk IHNob3J0IG9mZl90b192Ymlvc19zdHI7CisJdW5zaWduZWQgY2hhciAqdmJpb3Nfc3RyOworCWlu dCBjb3VudDsKKworCW9mZl90b192Ymlvc19zdHIgPSAwOworCXBfcm9tID0gY3R4LT5iaW9zOwor CisJaWYgKCoocF9yb20gKyBPRkZTRVRfVE9fR0VUX0FUT01CSU9TX05VTUJFUl9PRl9TVFJJTkdT KSAhPSAwKSB7CisJCW9mZl90b192Ymlvc19zdHIgPQorCQkJKih1bnNpZ25lZCBzaG9ydCAqKShw X3JvbSArIE9GRlNFVF9UT19HRVRfQVRPTUJJT1NfU1RSSU5HX1NUQVJUKTsKKworCQl2Ymlvc19z dHIgPSAodW5zaWduZWQgY2hhciAqKShwX3JvbSArIG9mZl90b192Ymlvc19zdHIpOworCX0gZWxz ZSB7CisJCXZiaW9zX3N0ciA9IHBfcm9tICsgT0ZGU0VUX1RPX1ZCSU9TX1BBUlRfTlVNQkVSOwor CX0KKworCWlmICgqdmJpb3Nfc3RyID09IDApIHsKKwkJdmJpb3Nfc3RyID0gYXRvbV9maW5kX3N0 cl9pbl9yb20oY3R4LCBCSU9TX0FUT01fUFJFRklYLCAzLCAxMDI0LCA2NCk7CisJCWlmICh2Ymlv c19zdHIgPT0gTlVMTCkKKwkJCXZiaW9zX3N0ciArPSBzaXplb2YoQklPU19BVE9NX1BSRUZJWCkg LSAxOworCX0KKwlpZiAodmJpb3Nfc3RyICE9IE5VTEwgJiYgKnZiaW9zX3N0ciA9PSAwKQorCQl2 Ymlvc19zdHIrKzsKKworCWlmICh2Ymlvc19zdHIgIT0gTlVMTCkgeworCQljb3VudCA9IDA7CisJ CXdoaWxlICgoY291bnQgPCBCSU9TX1NUUklOR19MRU5HVEgpICYmIHZiaW9zX3N0cltjb3VudF0g Pj0gJyAnICYmCisJCSAgICAgICB2Ymlvc19zdHJbY291bnRdIDw9ICd6JykgeworCQkJY3R4LT52 Ymlvc19wbltjb3VudF0gPSB2Ymlvc19zdHJbY291bnRdOworCQkJY291bnQrKzsKKwkJfQorCisJ CWN0eC0+dmJpb3NfcG5bY291bnRdID0gMDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGF0b21fZ2V0 X3ZiaW9zX3ZlcnNpb24oc3RydWN0IGF0b21fY29udGV4dCAqY3R4KQoreworCXVuc2lnbmVkIGNo YXIgKnZiaW9zX3ZlcjsKKworCS8qIGZpbmQgYW5jaG9yIEFUT01CSU9TQkstQU1EICovCisJdmJp b3NfdmVyID0gYXRvbV9maW5kX3N0cl9pbl9yb20oY3R4LCBCSU9TX1ZFUlNJT05fUFJFRklYLCAz LCAxMDI0LCA2NCk7CisJaWYgKHZiaW9zX3ZlciAhPSBOVUxMKSB7CisJCS8qIHNraXAgQVRPTUJJ T1NCSy1BTUQgVkVSICovCisJCXZiaW9zX3ZlciArPSAxODsKKwkJbWVtY3B5KGN0eC0+dmJpb3Nf dmVyX3N0ciwgdmJpb3NfdmVyLCBTVFJMRU5fTk9STUFMKTsKKwl9IGVsc2UgeworCQljdHgtPnZi aW9zX3Zlcl9zdHJbMF0gPSAnXDAnOworCX0KK30KKwogc3RydWN0IGF0b21fY29udGV4dCAqYW1k Z3B1X2F0b21fcGFyc2Uoc3RydWN0IGNhcmRfaW5mbyAqY2FyZCwgdm9pZCAqYmlvcykKIHsKIAlp bnQgYmFzZTsKIAlzdHJ1Y3QgYXRvbV9jb250ZXh0ICpjdHggPQogCSAgICBremFsbG9jKHNpemVv ZihzdHJ1Y3QgYXRvbV9jb250ZXh0KSwgR0ZQX0tFUk5FTCk7CiAJY2hhciAqc3RyOworCXN0cnVj dCBfQVRPTV9ST01fSEVBREVSICphdG9tX3JvbV9oZWFkZXI7CisJc3RydWN0IF9BVE9NX01BU1RF Ul9EQVRBX1RBQkxFICptYXN0ZXJfdGFibGU7CisJc3RydWN0IF9BVE9NX0ZJUk1XQVJFX0lORk8g KmF0b21fZndfaW5mbzsKIAl1MTYgaWR4OwogCiAJaWYgKCFjdHgpCkBAIC0xMzUzLDYgKzE1MTAs MjMgQEAgc3RydWN0IGF0b21fY29udGV4dCAqYW1kZ3B1X2F0b21fcGFyc2Uoc3RydWN0IGNhcmRf aW5mbyAqY2FyZCwgdm9pZCAqYmlvcykKIAkJc3RybGNweShjdHgtPnZiaW9zX3ZlcnNpb24sIHN0 ciwgc2l6ZW9mKGN0eC0+dmJpb3NfdmVyc2lvbikpOwogCX0KIAorCWF0b21fcm9tX2hlYWRlciA9 IChzdHJ1Y3QgX0FUT01fUk9NX0hFQURFUiAqKUNTVFIoYmFzZSk7CisJY3R4LT5zdWJfZGV2X2lk ID0gYXRvbV9yb21faGVhZGVyLT51c1N1YnN5c3RlbVZlbmRvcklEOworCWN0eC0+c3ViX3ZlZF9p ZCA9IGF0b21fcm9tX2hlYWRlci0+dXNTdWJzeXN0ZW1JRDsKKwlpZiAoYXRvbV9yb21faGVhZGVy LT51c01hc3RlckRhdGFUYWJsZU9mZnNldCAhPSAwKSB7CisJCW1hc3Rlcl90YWJsZSA9IChzdHJ1 Y3QgX0FUT01fTUFTVEVSX0RBVEFfVEFCTEUgKikKKwkJCQlDU1RSKGF0b21fcm9tX2hlYWRlci0+ dXNNYXN0ZXJEYXRhVGFibGVPZmZzZXQpOworCQlpZiAobWFzdGVyX3RhYmxlLT5MaXN0T2ZEYXRh VGFibGVzLkZpcm13YXJlSW5mbyAhPSAwKSB7CisJCQlhdG9tX2Z3X2luZm8gPSAoc3RydWN0IF9B VE9NX0ZJUk1XQVJFX0lORk8gKikKKwkJCQkJQ1NUUihtYXN0ZXJfdGFibGUtPkxpc3RPZkRhdGFU YWJsZXMuRmlybXdhcmVJbmZvKTsKKwkJCWN0eC0+dmVyc2lvbiA9IGF0b21fZndfaW5mby0+dWxG aXJtd2FyZVJldmlzaW9uOworCQl9CisJfQorCisJYXRvbV9nZXRfdmJpb3NfbmFtZShjdHgpOwor CWF0b21fZ2V0X3ZiaW9zX3BuKGN0eCk7CisJYXRvbV9nZXRfdmJpb3NfZGF0ZShjdHgpOworCWF0 b21fZ2V0X3ZiaW9zX3ZlcnNpb24oY3R4KTsKIAogCXJldHVybiBjdHg7CiB9CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hdG9tLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hdG9tLmgKaW5kZXggZDI3OTc1OWNhYjQ3Li42NDYzY2U2ZTc1NmQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2F0b20uaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hdG9tLmgKQEAgLTExMiw2ICsxMTIsMTAgQEAgc3RydWN0IGRybV9kZXZp Y2U7CiAjZGVmaW5lIEFUT01fSU9fU1lTSU8JCTIKICNkZWZpbmUgQVRPTV9JT19JSU8JCTB4ODAK IAorI2RlZmluZSBTVFJMRU5fTk9STUFMCQkzMgorI2RlZmluZSBTVFJMRU5fTE9ORwkJNjQKKyNk ZWZpbmUgU1RSTEVOX1ZFUllMT05HCQkyNTQKKwogc3RydWN0IGNhcmRfaW5mbyB7CiAJc3RydWN0 IGRybV9kZXZpY2UgKmRldjsKIAl2b2lkICgqIHJlZ193cml0ZSkoc3RydWN0IGNhcmRfaW5mbyAq LCB1aW50MzJfdCwgdWludDMyX3QpOyAgIC8qICBmaWxsZWQgYnkgZHJpdmVyICovCkBAIC0xNDAs NiArMTQ0LDE0IEBAIHN0cnVjdCBhdG9tX2NvbnRleHQgewogCXVpbnQzMl90ICpzY3JhdGNoOwog CWludCBzY3JhdGNoX3NpemVfYnl0ZXM7CiAJY2hhciB2Ymlvc192ZXJzaW9uWzIwXTsKKworCXVp bnQ4X3QgbmFtZVtTVFJMRU5fTE9OR107CisJdWludDhfdCB2Ymlvc19wbltTVFJMRU5fTE9OR107 CisJdWludDMyX3QgdmVyc2lvbjsKKwl1aW50OF90IHZiaW9zX3Zlcl9zdHJbU1RSTEVOX05PUk1B TF07CisJdWludDhfdCBkYXRlW1NUUkxFTl9OT1JNQUxdOworCXVpbnQzMl90IHN1Yl9kZXZfaWQ7 CisJdWludDMyX3Qgc3ViX3ZlZF9pZDsKIH07CiAKIGV4dGVybiBpbnQgYW1kZ3B1X2F0b21fZGVi dWc7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2luY2x1ZGUvYXRvbWZpcm13YXJl LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2luY2x1ZGUvYXRvbWZpcm13YXJlLmgKaW5kZXggMjc1 NDY4ZTRiZTYwLi4yOGRlZWNjMmY5OTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv aW5jbHVkZS9hdG9tZmlybXdhcmUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2luY2x1ZGUv YXRvbWZpcm13YXJlLmgKQEAgLTE5Nyw2ICsxOTcsOSBAQCBlbnVtIGF0b21fZHBfdnNfcHJlZW1w aF9kZWZ7CiAgIERQX1ZTX0xFVkVMMF9QUkVFTVBIX0xFVkVMMyA9IDB4MTgsCiB9OwogCisjZGVm aW5lIEJJT1NfQVRPTV9QUkVGSVggICAiQVRPTUJJT1MiCisjZGVmaW5lIEJJT1NfVkVSU0lPTl9Q UkVGSVggICJBVE9NQklPU0JLLUFNRCIKKyNkZWZpbmUgQklPU19TVFJJTkdfTEVOR1RIIDQzCiAK IC8qCiBlbnVtIGF0b21fc3RyaW5nX2RlZnsKQEAgLTIxNSw2ICsyMTgsOCBAQCBlbnVtIGF0b21i aW9zX2ltYWdlX29mZnNldHsKICAgTUFYU0laRV9PRl9BVE9NQklPU19BU0lDX0JVU19NRU1fVFlQ RSAgICAgID0gMjAsICAvKmluY2x1ZGluZyB0aGUgdGVybWluYXRvciAweDAhKi8KICAgT0ZGU0VU X1RPX0dFVF9BVE9NQklPU19OVU1CRVJfT0ZfU1RSSU5HUyAgID0gMHgyZiwKICAgT0ZGU0VUX1RP X0dFVF9BVE9NQklPU19TVFJJTkdfU1RBUlQgICAgICAgID0gMHg2ZSwKKyAgT0ZGU0VUX1RPX1ZC SU9TX1BBUlRfTlVNQkVSICAgICAgICAgICAgICAgID0gMHg4MCwKKyAgT0ZGU0VUX1RPX1ZCSU9T X0RBVEUgICAgICAgICAgICAgICAgICAgICAgID0gMHg1MCwKIH07CiAKIC8qKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqICAgCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaCBiL2lu Y2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oCmluZGV4IDkxNjlkZjdmYWRlZS4uZTBmOThjYTlh NzU1IDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaAorKysgYi9pbmNs dWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaApAQCAtNzU2LDYgKzc1Niw4IEBAIHN0cnVjdCBkcm1f YW1kZ3B1X2NzX2NodW5rX2RhdGEgewogCSNkZWZpbmUgQU1ER1BVX0lORk9fVkJJT1NfU0laRQkJ MHgxCiAJLyogU3VicXVlcnkgaWQ6IFF1ZXJ5IHZiaW9zIGltYWdlICovCiAJI2RlZmluZSBBTURH UFVfSU5GT19WQklPU19JTUFHRQkJMHgyCisJLyogU3VicXVlcnkgaWQ6IFF1ZXJ5IHZiaW9zIGlu Zm8gKi8KKwkjZGVmaW5lIEFNREdQVV9JTkZPX1ZCSU9TX0lORk8JCTB4MwogLyogUXVlcnkgVVZE IGhhbmRsZXMgKi8KICNkZWZpbmUgQU1ER1BVX0lORk9fTlVNX0hBTkRMRVMJCQkweDFDCiAvKiBR dWVyeSBzZW5zb3IgcmVsYXRlZCBpbmZvcm1hdGlvbiAqLwpAQCAtOTQ5LDYgKzk1MSwyMCBAQCBz dHJ1Y3QgZHJtX2FtZGdwdV9pbmZvX2Zpcm13YXJlIHsKIAlfX3UzMiBmZWF0dXJlOwogfTsKIAor c3RydWN0IGRybV9hbWRncHVfaW5mb192YmlvcyB7CisJX191OCBuYW1lWzY0XTsKKwlfX3UzMiBk YmRmOworCV9fdTggdmJpb3NfcG5bNjRdOworCV9fdTMyIHZlcnNpb247CisJX191OCB2Ymlvc192 ZXJfc3RyWzMyXTsKKwlfX3U4IGRhdGVbMzJdOworCV9fdTY0IHNlcmlhbDsKKwlfX3UzMiBkZXZf aWQ7CisJX191MzIgcmV2X2lkOworCV9fdTMyIHN1Yl9kZXZfaWQ7CisJX191MzIgc3ViX3ZlZF9p ZDsKK307CisKICNkZWZpbmUgQU1ER1BVX1ZSQU1fVFlQRV9VTktOT1dOIDAKICNkZWZpbmUgQU1E R1BVX1ZSQU1fVFlQRV9HRERSMSAxCiAjZGVmaW5lIEFNREdQVV9WUkFNX1RZUEVfRERSMiAgMgot LSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK