From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 8BTiLDKQjGhvhwEAWB0awg (envelope-from ) for ; Fri, 01 Aug 2025 06:00:18 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=F43bNOtb; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id B2D6B1E102; Fri, 1 Aug 2025 06:00:18 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-10.1 required=5.0 tests=ARC_SIGNED,ARC_VALID, BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED, RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE autolearn=ham autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 8DEAE1E089 for ; Fri, 1 Aug 2025 06:00:17 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 546A53858419 for ; Fri, 1 Aug 2025 10:00:17 +0000 (GMT) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14]) by sourceware.org (Postfix) with ESMTPS id 947593858C74 for ; Fri, 1 Aug 2025 09:39:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 947593858C74 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 947593858C74 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=192.198.163.14 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1754041155; cv=none; b=dLmoPG9LMj7B4iroPtvRz7udz2+dKl/iqgYnTDYXqFNwBtF+aUhT/GroThcrcOrBUjUQeDTUHM3q0Vkx38hs4Moszi28dXewjVwNvxbsuMDRV2V4AI5Jljz02/G52O6p1q6yPa2YgvCCEQQF/6tGcW7W3mZvhkBjzd7dsJDKISU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1754041155; c=relaxed/simple; bh=HhjtjqR9P3TbOBqe9lyyf4aZxzWPMFV1KEn2O1lKbtE=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=kphk0gkinX1yetCFDIQpbXExbXDmmZrYz4VHg8Sm0QDpDrDKKVqzdMTw7ZVe6sgJ1Ubz1dtFV+F8CELv0eSGCtEz/4a8kEilO9EXEGDxfuDTSQ/OSgEnNHXdEygiyj46YB/R0fptD3JLvlLSXes4nhVT/1TXc1gVmFOq6XyAhkI= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 947593858C74 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=F43bNOtb DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1754041155; x=1785577155; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=HhjtjqR9P3TbOBqe9lyyf4aZxzWPMFV1KEn2O1lKbtE=; b=F43bNOtb8VAaMdjguVGbGOECihyrpAFvSPe7ko8jzSznLAbmqcwpoqJb IhIoXXLq6z+cNxndVoGe6KuX8mPFQwiW9B95i1KkxViWKlRNEJlVPElrm Oigv3LlVSwmYq3/mgIB6iIDqjeriyu8hrQ89eH/zk2TqR5lLVVQQuXDo2 wCLWT+qSk3TpDcN/261Emh84ypvHHz6fDC/DiX57xl48PpdNxAA7BzTMk w4gOXaJkPtlWcC9HL9mrSHFkjdyz0G7UWCs2Tb2MQR2k1eCgLW6W+QUbm U/ye6X1yWtU+1c6eotuddkiZQQK8/xVrF6f2n1Z5ZsH4PBeandJhSZbFt g==; X-CSE-ConnectionGUID: QIyGya70TeO+vZHNX0YsgQ== X-CSE-MsgGUID: fuHD/PQMRVyDNYwKgW9awg== X-IronPort-AV: E=McAfee;i="6800,10657,11508"; a="56465218" X-IronPort-AV: E=Sophos;i="6.17,255,1747724400"; d="scan'208";a="56465218" Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Aug 2025 02:39:13 -0700 X-CSE-ConnectionGUID: xx4pKPVGQl+9I1I+AXME9A== X-CSE-MsgGUID: JZrFjLKXSYCs2Avfzum8ew== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.17,255,1747724400"; d="scan'208";a="187196764" Received: from gkldtt-dev-004.igk.intel.com (HELO localhost) ([10.123.221.202]) by fmviesa002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Aug 2025 02:39:12 -0700 From: Tankut Baris Aktemur To: gdb-patches@sourceware.org, Markus Metzger Subject: [PATCH v3 05/44] gdb, gdbserver, gdbsupport: add 'device' tag to XML target description Date: Fri, 1 Aug 2025 11:37:07 +0200 Message-Id: <20250801-upstream-intelgt-mvp-v3-5-59ce0f87075b@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250801-upstream-intelgt-mvp-v3-0-59ce0f87075b@intel.com> References: <20250801-upstream-intelgt-mvp-v3-0-59ce0f87075b@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.14.2 Content-Transfer-Encoding: base64 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org RnJvbTogTmlscy1DaHJpc3RpYW4gS2VtcGtlIDxuaWxzLWNocmlzdGlhbi5rZW1wa2VAaW50ZWwu Y29tPgoKQWRkIDxkZXZpY2U+IHRhZyB0byB0aGUgWE1MIHRhcmdldCBkZXNjcmlwdGlvbi4gIFRo ZSB0YWcgaXMgYSBsaXN0IG9mCmRldmljZSBhdHRyaWJ1dGVzLiAgVGhlIGV4dGVuc2lvbiBlbmFi bGVzIHBhc3NpbmcgZGV2aWNlIGluZm9ybWF0aW9uCndpdGhpbiB0aGUgdGFyZ2V0IGRlc2NyaXB0 aW9uIFhNTCBzZW50IGZyb20gZ2Ric2VydmVyIHRvIGdkYi4KCkNvLWF1dGhvcmVkLWJ5OiBUYW5r dXQgQmFyaXMgQWt0ZW11ciA8dGFua3V0LmJhcmlzLmFrdGVtdXJAaW50ZWwuY29tPgpSZXZpZXdl ZC1CeTogRWxpIFphcmV0c2tpaSA8ZWxpekBnbnUub3JnPgotLS0KIGdkYi9ORVdTICAgICAgICAg ICAgICAgICAgICB8ICA2ICsrKwogZ2RiL2RvYy9nZGIudGV4aW5mbyAgICAgICAgIHwgMjUgKysr KysrKysrKysrKwogZ2RiL2ZlYXR1cmVzL2dkYi10YXJnZXQuZHRkIHwgMTkgKysrKysrKysrLQog Z2RiL3RhcmdldC1kZXNjcmlwdGlvbnMuYyAgIHwgMTkgKysrKysrKysrKwogZ2RiL3htbC10ZGVz Yy5jICAgICAgICAgICAgIHwgNzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKIGdkYnNlcnZlci90ZGVzYy5jYyAgICAgICAgICB8IDE2ICsrKysrKysrCiBnZGJzZXJ2ZXIv dGRlc2MuaCAgICAgICAgICAgfCAgMyArKwogZ2Ric3VwcG9ydC90ZGVzYy5jYyAgICAgICAgIHwg NDggKysrKysrKysrKysrKysrKysrKysrKysrCiBnZGJzdXBwb3J0L3RkZXNjLmggICAgICAgICAg fCA5MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDkgZmls ZXMgY2hhbmdlZCwgMzAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS9nZGIvTkVXUyBiL2dkYi9ORVdTCmluZGV4IDRjOWFlZDQyMWJiMDVlOTc1MDVmYWEzNzc0OTk1 MmQ5M2JhMjBlOTkuLjU3MzY1NjVkNDc1OGEzMWFkNzkwMjkwNWQyODBjMmY2OGY3YThiMDggMTAw NjQ0Ci0tLSBhL2dkYi9ORVdTCisrKyBiL2dkYi9ORVdTCkBAIC0yMDksNiArMjA5LDEyIEBAIHZG aWxlOnN0YXQKICAgbHN0YXQgcmF0aGVyIHRoYW4gc3RhdC4gIFRoaXMgaGFzIG5vdyBiZWVuIGNv cnJlY3RlZC4gIFRoZQogICBkb2N1bWVudGF0aW9uIGhhcyBhbHNvIGJlZW4gY2xhcmlmaWVkLgog CitxWGZlcjpmZWF0dXJlczpyZWFkOnRhcmdldC54bWwKKworICBUaGUgWE1MIHRoYXQgaXMgc2Vu dCBhcyBhIHJlc3BvbnNlIGNhbiBub3cgaW5jbHVkZSBhICJkZXZpY2UiIGVsZW1lbnQKKyAgdGhh dCBjYW4gYmUgdXNlZCBmb3IgcGFzc2luZyBpbmZvcm1hdGlvbiB3aGVuIHRoZSByZW1vdGUgaW5m ZXJpb3IKKyAgcmVwcmVzZW50cyBhIGRldmljZSwgZS5nLiBhIEdQVS4KKwogKiBNSSBjaGFuZ2Vz CiAKICoqIFRoZSA9bGlicmFyeS11bmxvYWRlZCBldmVudCBub3cgaW5jbHVkZXMgdGhlICdyYW5n ZXMnIGZpZWxkLCB3aGljaApkaWZmIC0tZ2l0IGEvZ2RiL2RvYy9nZGIudGV4aW5mbyBiL2dkYi9k b2MvZ2RiLnRleGluZm8KaW5kZXggMmJiYWYxNGM1ODQ3MzEyNmZiMTE1NjE3MzA0MGZkOTkwNzI4 OTUzNi4uM2Q1YjQ0OTFmNzc1ODY2ZDgwNjc4MmE5MmUwYWE3NmMzNTM5ZmYyNSAxMDA2NDQKLS0t IGEvZ2RiL2RvYy9nZGIudGV4aW5mbworKysgYi9nZGIvZG9jL2dkYi50ZXhpbmZvCkBAIC00ODgx OSw2ICs0ODgxOSw3IEBAIGFyZSBleHBsYWluZWQgZnVydGhlciBiZWxvdy4KICAgQHJ7W31AdmFy e2FyY2hpdGVjdHVyZX1AcntdfQogICBAcntbfUB2YXJ7b3NhYml9QHJ7XX0KICAgQHJ7W31AdmFy e2NvbXBhdGlibGV9QHJ7XX0KKyAgQHJ7W31AdmFye2RldmljZX1AcntdfQogICBAcntbfUB2YXJ7 ZmVhdHVyZX1AZG90c3t9QHJ7XX0KIDwvdGFyZ2V0PgogQGVuZCBzbWFsbGV4YW1wbGUKQEAgLTQ4 OTE2LDYgKzQ4OTE3LDMwIEBAIGNhcGFiaWxpdHkgd2l0aCBAc2FtcHs8Y29tcGF0aWJsZT59IGlz IGFzIGZvbGxvd3M6CiAgIDxjb21wYXRpYmxlPnNwdTwvY29tcGF0aWJsZT4KIEBlbmQgc21hbGxl eGFtcGxlCiAKK0BzdWJzZWN0aW9uIERldmljZSBJbmZvcm1hdGlvbgorQGNpbmRleCA8ZGV2aWNl PgorCitBIEBzYW1wezxkZXZpY2U+fSBlbGVtZW50IGNhbiBiZSB1c2VkIGZvciBwYXNzaW5nIGRl dmljZSBpbmZvcm1hdGlvbgorZm9yIHdoZW4sIGUuZy5AOiB0aGUgcmVtb3RlIHRhcmdldCByZXBy ZXNlbnRzIGEgZGV2aWNlLCBzdWNoIGFzIGEgR1BVLgorQHZhbHVle0dEQk59IGNhbiB0aGVuIHVz ZSB0aGlzIGluZm9ybWF0aW9uIHRvIGRpc3BsYXkgaXQgdG8gdGhlIHVzZXIKK2ZvciBpbmZvcm1h dGl2ZSBwdXJwb3NlcyBvciB0byBleGVjdXRlIGRldmljZS1zcGVjaWZpYyBmdW5jdGlvbnMKK2Fw cHJvcHJpYXRlbHkuICBUaGUgZWxlbWVudCBjb250YWlucyBhIG51bWJlciBvZiBhdHRyaWJ1dGVz LCBiZXN0CitzaG93biB3aXRoIHRoZSBleGFtcGxlIGJlbG93LiAgQWxsIGF0dHJpYnV0ZXMgYXJl IG9wdGlvbmFsLgorCitAc21hbGxleGFtcGxlCisgIDxkZXZpY2UgdmVuZG9yLWlkPSIweDgwODYi CisgICAgICAgICAgdGFyZ2V0LWlkPSIweDU2YTEiCisgICAgICAgICAgZmFtaWx5PSJhYmMiCisg ICAgICAgICAgbW9kZWw9Inh5eiIKKyAgICAgICAgICBzdGVwcGluZz0iMyIKKyAgICAgICAgICBu YW1lPSJJbnRlbChSKSBBcmMoVE0pIEE3NTAgR3JhcGhpY3MiCisgICAgICAgICAgcGNpLXNsb3Q9 IjAzOjAwLjAiCisgICAgICAgICAgdXVpZD0iMDAwMzAwMDg1NmExODA4NiIKKyAgICAgICAgICB0 b3RhbC1jb3Jlcz0iNDQ4IgorICAgICAgICAgIHRvdGFsLXRocmVhZHM9IjM1ODQiCisgICAgICAg ICAgc3ViZGV2aWNlLWlkPSIxIi8+CitAZW5kIHNtYWxsZXhhbXBsZQorCiBAc3Vic2VjdGlvbiBG ZWF0dXJlcwogQGNpbmRleCA8ZmVhdHVyZT4KIApkaWZmIC0tZ2l0IGEvZ2RiL2ZlYXR1cmVzL2dk Yi10YXJnZXQuZHRkIGIvZ2RiL2ZlYXR1cmVzL2dkYi10YXJnZXQuZHRkCmluZGV4IDJlY2M0MWVi MWZhMjhjOTI4YTg5YWI2YjY5NTY3MjFjN2NmMzlkNjYuLjY0ZWMzODdmMThkMGMyZDI4N2NkNWI2 YTQ3OTQzMTkxOGRkNTI1OGUgMTAwNjQ0Ci0tLSBhL2dkYi9mZWF0dXJlcy9nZGItdGFyZ2V0LmR0 ZAorKysgYi9nZGIvZmVhdHVyZXMvZ2RiLXRhcmdldC5kdGQKQEAgLTksNyArOSw5IEBACiA8IS0t IFRoZSBvc2FiaSBhbmQgY29tcGF0aWJsZSBlbGVtZW50cyB3ZXJlIGFkZGVkIHBvc3QgR0RCIDYu OC4gIFRoZSB2ZXJzaW9uCiAgICAgIHdhc24ndCBidW1wZWQsIHNpbmNlIG9sZGVyIEdEQnMgc2ls ZW50bHkgaWdub3JlIHVua25vd24gZWxlbWVudHMuICAtLT4KIAotPCFFTEVNRU5UIHRhcmdldAko YXJjaGl0ZWN0dXJlPywgb3NhYmk/LCBjb21wYXRpYmxlKiwgZmVhdHVyZSopPgorPCFFTEVNRU5U IHRhcmdldAorCShhcmNoaXRlY3R1cmU/LCBvc2FiaT8sIGNvbXBhdGlibGUqLCBkZXZpY2U/LCBm ZWF0dXJlKik+CisKIDwhQVRUTElTVCB0YXJnZXQKIAl2ZXJzaW9uCQlDREFUQQkjRklYRUQgIjEu MCI+CiAKQEAgLTE5LDYgKzIxLDIxIEBACiAKIDwhRUxFTUVOVCBjb21wYXRpYmxlCSgjUENEQVRB KT4KIAorPCFFTEVNRU5UIGRldmljZQlFTVBUWT4KKzwhQVRUTElTVCBkZXZpY2UKKwl2ZW5kb3It aWQJQ0RBVEEJI0lNUExJRUQKKwl0YXJnZXQtaWQJQ0RBVEEJI0lNUExJRUQKKwlmYW1pbHkJCUNE QVRBCSNJTVBMSUVECisJbW9kZWwJCUNEQVRBCSNJTVBMSUVECisJc3RlcHBpbmcJQ0RBVEEJI0lN UExJRUQKKwluYW1lCQlDREFUQQkjSU1QTElFRAorCXBjaS1zbG90CUNEQVRBCSNJTVBMSUVECisJ dXVpZAkJQ0RBVEEJI0lNUExJRUQKKwl0b3RhbC1jb3JlcwlDREFUQQkjSU1QTElFRAorCXRvdGFs LXRocmVhZHMJQ0RBVEEJI0lNUExJRUQKKwlzdWJkZXZpY2UtaWQJQ0RBVEEJI0lNUExJRUQKKwk+ CisKIDwhRUxFTUVOVCBmZWF0dXJlCiAJKCh2ZWN0b3IgfCBmbGFncyB8IHN0cnVjdCB8IHVuaW9u ICkqLCByZWcqKT4KIDwhQVRUTElTVCBmZWF0dXJlCmRpZmYgLS1naXQgYS9nZGIvdGFyZ2V0LWRl c2NyaXB0aW9ucy5jIGIvZ2RiL3RhcmdldC1kZXNjcmlwdGlvbnMuYwppbmRleCBkYzVmYmFjZmVi ZDExYTRhNjUzY2NlOTAzN2UwZjUyNDU1MmE3NGRiLi4wNDZkNjQ4NGY3YmZmZmNlZjg4NjdlN2Fh NGI3ZTJhZDQ1YjIzZWQxIDEwMDY0NAotLS0gYS9nZGIvdGFyZ2V0LWRlc2NyaXB0aW9ucy5jCisr KyBiL2dkYi90YXJnZXQtZGVzY3JpcHRpb25zLmMKQEAgLTM1OSw2ICszNTksOSBAQCBzdHJ1Y3Qg dGFyZ2V0X2Rlc2MgOiB0ZGVzY19lbGVtZW50CiAgIC8qIFRoZSBsaXN0IG9mIGNvbXBhdGlibGUg YXJjaGl0ZWN0dXJlcyByZXBvcnRlZCBieSB0aGUgdGFyZ2V0LiAgKi8KICAgc3RkOjp2ZWN0b3I8 dGRlc2NfY29tcGF0aWJsZV9pbmZvX3VwPiBjb21wYXRpYmxlOwogCisgIC8qIFRoZSBkZXZpY2Ug cmVwb3J0ZWQgYnkgdGhlIHRhcmdldCwgaWYgYW55LiAgKi8KKyAgdGRlc2NfZGV2aWNlX3VwIGRl dmljZTsKKwogICAvKiBBbnkgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIHByb3BlcnRpZXMgc3BlY2lm aWVkIGJ5IHRoZSB0YXJnZXQuICAqLwogICBzdGQ6OnZlY3Rvcjxwcm9wZXJ0eT4gcHJvcGVydGll czsKIApAQCAtNjQ0LDYgKzY0NywyMiBAQCB0ZGVzY19vc2FiaV9uYW1lIChjb25zdCBzdHJ1Y3Qg dGFyZ2V0X2Rlc2MgKnRhcmdldF9kZXNjKQogICByZXR1cm4gbnVsbHB0cjsKIH0KIAorLyogU2Vl IGdkYnN1cHBvcnQvdGRlc2MuaC4gICovCisKK3ZvaWQKK3NldF90ZGVzY19kZXZpY2VfaW5mbyAo dGFyZ2V0X2Rlc2MgKnRhcmdldF9kZXNjLCB0ZGVzY19kZXZpY2UgKmRldmljZSkKK3sKKyAgdGFy Z2V0X2Rlc2MtPmRldmljZS5yZXNldCAoZGV2aWNlKTsKK30KKworLyogU2VlIGdkYnN1cHBvcnQv dGRlc2MuaC4gICovCisKK2NvbnN0IHRkZXNjX2RldmljZSAqCit0ZGVzY19kZXZpY2VfaW5mbyAo Y29uc3QgdGFyZ2V0X2Rlc2MgKnRhcmdldF9kZXNjKQoreworICByZXR1cm4gdGFyZ2V0X2Rlc2Mt PmRldmljZS5nZXQgKCk7Cit9CisKIC8qIFJldHVybiAxIGlmIHRoaXMgdGFyZ2V0IGRlc2NyaXB0 aW9uIGluY2x1ZGVzIGFueSByZWdpc3RlcnMuICAqLwogCiBpbnQKZGlmZiAtLWdpdCBhL2dkYi94 bWwtdGRlc2MuYyBiL2dkYi94bWwtdGRlc2MuYwppbmRleCAyZjIxM2RjOTczZDU3NTUwYmQ1Yzdh OWFkNWU5ZTliNmI2MjI2NzlkLi5mOGEzMjE4YzQxYWQ1NjM2NTVhNmVlYzEyYWNjNTA2ODU5YWE2 ZWU1IDEwMDY0NAotLS0gYS9nZGIveG1sLXRkZXNjLmMKKysrIGIvZ2RiL3htbC10ZGVzYy5jCkBA IC0xMzcsNiArMTM3LDY1IEBAIHRkZXNjX2VuZF9jb21wYXRpYmxlIChzdHJ1Y3QgZ2RiX3htbF9w YXJzZXIgKnBhcnNlciwKICAgdGRlc2NfYWRkX2NvbXBhdGlibGUgKGRhdGEtPnRkZXNjLCBhcmNo KTsKIH0KIAorLyogSGFuZGxlIHRoZSBzdGFydCBvZiBhIDxkZXZpY2U+IGVsZW1lbnQgYW5kIGl0 cyB2YWx1ZS4gICovCisKK3N0YXRpYyB2b2lkCit0ZGVzY19zdGFydF9kZXZpY2UgKHN0cnVjdCBn ZGJfeG1sX3BhcnNlciAqcGFyc2VyLAorCQkgICAgY29uc3QgZ2RiX3htbF9lbGVtZW50ICplbGVt ZW50LAorCQkgICAgdm9pZCAqdXNlcl9kYXRhLCBzdGQ6OnZlY3RvcjxnZGJfeG1sX3ZhbHVlPiAm YXR0cmlidXRlcykKK3sKKyAgdGRlc2NfcGFyc2luZ19kYXRhICpkYXRhID0gKHN0cnVjdCB0ZGVz Y19wYXJzaW5nX2RhdGEgKikgdXNlcl9kYXRhOworICB0ZGVzY19kZXZpY2UgKmRldmljZSA9IG5l dyB0ZGVzY19kZXZpY2UgKCk7CisKKyAgZ2RiX3htbF92YWx1ZSAqYXR0cjsKKworICBhdHRyID0g eG1sX2ZpbmRfYXR0cmlidXRlIChhdHRyaWJ1dGVzLCAidmVuZG9yLWlkIik7CisgIGlmIChhdHRy ICE9IG51bGxwdHIpCisgICAgZGV2aWNlLT52ZW5kb3JfaWQgPSAqIChVTE9OR0VTVCAqKSBhdHRy LT52YWx1ZS5nZXQgKCk7CisKKyAgYXR0ciA9IHhtbF9maW5kX2F0dHJpYnV0ZSAoYXR0cmlidXRl cywgInRhcmdldC1pZCIpOworICBpZiAoYXR0ciAhPSBudWxscHRyKQorICAgIGRldmljZS0+dGFy Z2V0X2lkID0gKiAoVUxPTkdFU1QgKikgYXR0ci0+dmFsdWUuZ2V0ICgpOworCisgIGF0dHIgPSB4 bWxfZmluZF9hdHRyaWJ1dGUgKGF0dHJpYnV0ZXMsICJmYW1pbHkiKTsKKyAgaWYgKGF0dHIgIT0g bnVsbHB0cikKKyAgICBkZXZpY2UtPmZhbWlseSA9IChjaGFyICopIGF0dHItPnZhbHVlLmdldCAo KTsKKworICBhdHRyID0geG1sX2ZpbmRfYXR0cmlidXRlIChhdHRyaWJ1dGVzLCAibW9kZWwiKTsK KyAgaWYgKGF0dHIgIT0gbnVsbHB0cikKKyAgICBkZXZpY2UtPm1vZGVsID0gKGNoYXIgKikgYXR0 ci0+dmFsdWUuZ2V0ICgpOworCisgIGF0dHIgPSB4bWxfZmluZF9hdHRyaWJ1dGUgKGF0dHJpYnV0 ZXMsICJzdGVwcGluZyIpOworICBpZiAoYXR0ciAhPSBudWxscHRyKQorICAgIGRldmljZS0+c3Rl cHBpbmcgPSAqIChVTE9OR0VTVCAqKSBhdHRyLT52YWx1ZS5nZXQgKCk7CisKKyAgYXR0ciA9IHht bF9maW5kX2F0dHJpYnV0ZSAoYXR0cmlidXRlcywgIm5hbWUiKTsKKyAgaWYgKGF0dHIgIT0gbnVs bHB0cikKKyAgICBkZXZpY2UtPm5hbWUgPSAoY2hhciAqKSBhdHRyLT52YWx1ZS5nZXQgKCk7CisK KyAgYXR0ciA9IHhtbF9maW5kX2F0dHJpYnV0ZSAoYXR0cmlidXRlcywgInBjaS1zbG90Iik7Cisg IGlmIChhdHRyICE9IG51bGxwdHIpCisgICAgZGV2aWNlLT5wY2lfc2xvdCA9IChjaGFyICopIGF0 dHItPnZhbHVlLmdldCAoKTsKKworICBhdHRyID0geG1sX2ZpbmRfYXR0cmlidXRlIChhdHRyaWJ1 dGVzLCAidXVpZCIpOworICBpZiAoYXR0ciAhPSBudWxscHRyKQorICAgIGRldmljZS0+dXVpZCA9 IChjaGFyICopIGF0dHItPnZhbHVlLmdldCAoKTsKKworICBhdHRyID0geG1sX2ZpbmRfYXR0cmli dXRlIChhdHRyaWJ1dGVzLCAidG90YWwtY29yZXMiKTsKKyAgaWYgKGF0dHIgIT0gbnVsbHB0cikK KyAgICBkZXZpY2UtPnRvdGFsX2NvcmVzID0gKiAoVUxPTkdFU1QgKikgYXR0ci0+dmFsdWUuZ2V0 ICgpOworCisgIGF0dHIgPSB4bWxfZmluZF9hdHRyaWJ1dGUgKGF0dHJpYnV0ZXMsICJ0b3RhbC10 aHJlYWRzIik7CisgIGlmIChhdHRyICE9IG51bGxwdHIpCisgICAgZGV2aWNlLT50b3RhbF90aHJl YWRzID0gKiAoVUxPTkdFU1QgKikgYXR0ci0+dmFsdWUuZ2V0ICgpOworCisgIGF0dHIgPSB4bWxf ZmluZF9hdHRyaWJ1dGUgKGF0dHJpYnV0ZXMsICJzdWJkZXZpY2UtaWQiKTsKKyAgaWYgKGF0dHIg IT0gbnVsbHB0cikKKyAgICBkZXZpY2UtPnN1YmRldmljZV9pZCA9ICogKFVMT05HRVNUICopIGF0 dHItPnZhbHVlLmdldCAoKTsKKworICBzZXRfdGRlc2NfZGV2aWNlX2luZm8gKGRhdGEtPnRkZXNj LCBkZXZpY2UpOworfQorCiAvKiBIYW5kbGUgdGhlIHN0YXJ0IG9mIGEgPHRhcmdldD4gZWxlbWVu dC4gICovCiAKIHN0YXRpYyB2b2lkCkBAIC01ODgsNiArNjQ3LDIxIEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZ2RiX3htbF9lbGVtZW50IGZlYXR1cmVfY2hpbGRyZW5bXSA9IHsKICAgeyBOVUxMLCBO VUxMLCBOVUxMLCBHREJfWE1MX0VGX05PTkUsIE5VTEwsIE5VTEwgfQogfTsKIAorc3RhdGljIGNv bnN0IHN0cnVjdCBnZGJfeG1sX2F0dHJpYnV0ZSBkZXZpY2VfYXR0cmlidXRlc1tdID0geworICB7 ICJ2ZW5kb3ItaWQiLCBHREJfWE1MX0FGX09QVElPTkFMLCBnZGJfeG1sX3BhcnNlX2F0dHJfdWxv bmdlc3QsIE5VTEwgfSwKKyAgeyAidGFyZ2V0LWlkIiwgR0RCX1hNTF9BRl9PUFRJT05BTCwgZ2Ri X3htbF9wYXJzZV9hdHRyX3Vsb25nZXN0LCBOVUxMIH0sCisgIHsgImZhbWlseSIsIEdEQl9YTUxf QUZfT1BUSU9OQUwsIE5VTEwsIE5VTEwgfSwKKyAgeyAibW9kZWwiLCBHREJfWE1MX0FGX09QVElP TkFMLCBOVUxMLCBOVUxMIH0sCisgIHsgInN0ZXBwaW5nIiwgR0RCX1hNTF9BRl9PUFRJT05BTCwg Z2RiX3htbF9wYXJzZV9hdHRyX3Vsb25nZXN0LCBOVUxMIH0sCisgIHsgIm5hbWUiLCBHREJfWE1M X0FGX09QVElPTkFMLCBOVUxMLCBOVUxMIH0sCisgIHsgInBjaS1zbG90IiwgR0RCX1hNTF9BRl9P UFRJT05BTCwgTlVMTCwgTlVMTCB9LAorICB7ICJ1dWlkIiwgR0RCX1hNTF9BRl9PUFRJT05BTCwg TlVMTCwgTlVMTCB9LAorICB7ICJ0b3RhbC1jb3JlcyIsIEdEQl9YTUxfQUZfT1BUSU9OQUwsIGdk Yl94bWxfcGFyc2VfYXR0cl91bG9uZ2VzdCwgTlVMTCB9LAorICB7ICJ0b3RhbC10aHJlYWRzIiwg R0RCX1hNTF9BRl9PUFRJT05BTCwgZ2RiX3htbF9wYXJzZV9hdHRyX3Vsb25nZXN0LCBOVUxMIH0s CisgIHsgInN1YmRldmljZS1pZCIsIEdEQl9YTUxfQUZfT1BUSU9OQUwsIGdkYl94bWxfcGFyc2Vf YXR0cl91bG9uZ2VzdCwgTlVMTH0sCisgIHsgTlVMTCwgR0RCX1hNTF9FRl9OT05FLCBOVUxMLCBO VUxMIH0KK307CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZ2RiX3htbF9hdHRyaWJ1dGUgdGFyZ2V0 X2F0dHJpYnV0ZXNbXSA9IHsKICAgeyAidmVyc2lvbiIsIEdEQl9YTUxfQUZfTk9ORSwgTlVMTCwg TlVMTCB9LAogICB7IE5VTEwsIEdEQl9YTUxfQUZfTk9ORSwgTlVMTCwgTlVMTCB9CkBAIC02MDAs NiArNjc0LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBnZGJfeG1sX2VsZW1lbnQgdGFyZ2V0X2No aWxkcmVuW10gPSB7CiAgICAgTlVMTCwgdGRlc2NfZW5kX29zYWJpIH0sCiAgIHsgImNvbXBhdGli bGUiLCBOVUxMLCBOVUxMLCBHREJfWE1MX0VGX09QVElPTkFMIHwgR0RCX1hNTF9FRl9SRVBFQVRB QkxFLAogICAgIE5VTEwsIHRkZXNjX2VuZF9jb21wYXRpYmxlIH0sCisgIHsgImRldmljZSIsIGRl dmljZV9hdHRyaWJ1dGVzLCBOVUxMLCBHREJfWE1MX0VGX09QVElPTkFMLAorICAgIHRkZXNjX3N0 YXJ0X2RldmljZSwgTlVMTCB9LAogICB7ICJmZWF0dXJlIiwgZmVhdHVyZV9hdHRyaWJ1dGVzLCBm ZWF0dXJlX2NoaWxkcmVuLAogICAgIEdEQl9YTUxfRUZfT1BUSU9OQUwgfCBHREJfWE1MX0VGX1JF UEVBVEFCTEUsCiAgICAgdGRlc2Nfc3RhcnRfZmVhdHVyZSwgTlVMTCB9LApkaWZmIC0tZ2l0IGEv Z2Ric2VydmVyL3RkZXNjLmNjIGIvZ2Ric2VydmVyL3RkZXNjLmNjCmluZGV4IDU0YzEwNWM1NGVj YTExYjVkZmQzMGE3NDI2MGVjOGFmNWRlMzQxN2UuLjM5NDI2M2NjNThlMDE2MTg3OTg4MjQ3ZGIx NjgyNmIwYmY2MmY1ZTkgMTAwNjQ0Ci0tLSBhL2dkYnNlcnZlci90ZGVzYy5jYworKysgYi9nZGJz ZXJ2ZXIvdGRlc2MuY2MKQEAgLTE5MCw2ICsxOTAsMjIgQEAgc2V0X3RkZXNjX29zYWJpIChzdHJ1 Y3QgdGFyZ2V0X2Rlc2MgKnRhcmdldF9kZXNjLCBlbnVtIGdkYl9vc2FiaSBvc2FiaSkKIAogLyog U2VlIGdkYnN1cHBvcnQvdGRlc2MuaC4gICovCiAKK3ZvaWQKK3NldF90ZGVzY19kZXZpY2VfaW5m byAodGFyZ2V0X2Rlc2MgKnRhcmdldF9kZXNjLCB0ZGVzY19kZXZpY2UgKmRldmljZSkKK3sKKyAg dGFyZ2V0X2Rlc2MtPmRldmljZS5yZXNldCAoZGV2aWNlKTsKK30KKworLyogU2VlIGdkYnN1cHBv cnQvdGRlc2MuaC4gICovCisKK2NvbnN0IHRkZXNjX2RldmljZSAqCit0ZGVzY19kZXZpY2VfaW5m byAoY29uc3QgdGFyZ2V0X2Rlc2MgKnRhcmdldF9kZXNjKQoreworICByZXR1cm4gdGFyZ2V0X2Rl c2MtPmRldmljZS5nZXQgKCk7Cit9CisKKy8qIFNlZSBnZGJzdXBwb3J0L3RkZXNjLmguICAqLwor CiBjb25zdCBjaGFyICoKIHRkZXNjX2dldF9mZWF0dXJlc194bWwgKGNvbnN0IHRhcmdldF9kZXNj ICp0ZGVzYykKIHsKZGlmZiAtLWdpdCBhL2dkYnNlcnZlci90ZGVzYy5oIGIvZ2Ric2VydmVyL3Rk ZXNjLmgKaW5kZXggNThiMjM5NWFhYTA3ZmU5NWIzOWVlMWQ1YmIxOWM5ZDE1NTY2MWI3OC4uYTMx Zjc0ZDU0ZDNiYjI5NjY0OWJiOGNmODIzMTc0ZTA2MzI3ZTYxYiAxMDA2NDQKLS0tIGEvZ2Ric2Vy dmVyL3RkZXNjLmgKKysrIGIvZ2Ric2VydmVyL3RkZXNjLmgKQEAgLTYwLDYgKzYwLDkgQEAgc3Ry dWN0IHRhcmdldF9kZXNjIGZpbmFsIDogdGRlc2NfZWxlbWVudAogICAvKiBUaGUgdmFsdWUgb2Yg PG9zYWJpPiBlbGVtZW50IGluIHRoZSBYTUwsIHJlcGx5aW5nIEdEQi4gICovCiAgIGdkYjo6dW5p cXVlX3htYWxsb2NfcHRyPGNoYXI+IG9zYWJpOwogCisgIC8qIFRoZSB2YWx1ZSBvZiB0aGUgPGRl dmljZT4gZWxlbWVudCBpbiB0aGUgWE1MLCByZXBseWluZyBHREIuICAqLworICB0ZGVzY19kZXZp Y2VfdXAgZGV2aWNlOworCiBwdWJsaWM6CiAgIHRhcmdldF9kZXNjICgpCiAgICAgOiByZWdpc3Rl cnNfc2l6ZSAoMCkKZGlmZiAtLWdpdCBhL2dkYnN1cHBvcnQvdGRlc2MuY2MgYi9nZGJzdXBwb3J0 L3RkZXNjLmNjCmluZGV4IGVkOTJjODY0NzMyZTYxZmExMmM0ZWJhZTg1NDU0YzI5ZTBiYTliM2Qu LjA4NDM4MTMxYjYyMWNlOWE1NWI5NWE1MGYyNTU5MmYwMzJiMmRlNGEgMTAwNjQ0Ci0tLSBhL2dk YnN1cHBvcnQvdGRlc2MuY2MKKysrIGIvZ2Ric3VwcG9ydC90ZGVzYy5jYwpAQCAtNDE3LDYgKzQx Nyw4IEBAIHZvaWQgcHJpbnRfeG1sX2ZlYXR1cmU6OnZpc2l0X3ByZSAoY29uc3QgdGFyZ2V0X2Rl c2MgKmUpCiAgIGZvciAoY29uc3QgYXV0byAmYyA6IGNvbXBhdGlibGVfbGlzdCkKICAgICBhZGRf bGluZSAoIjxjb21wYXRpYmxlPiVzPC9jb21wYXRpYmxlPiIsCiAJICAgICAgdGRlc2NfY29tcGF0 aWJsZV9pbmZvX2FyY2hfbmFtZSAoYykpOworCisgIHRoaXMtPnZpc2l0ICh0ZGVzY19kZXZpY2Vf aW5mbyAoZSkpOwogI2VuZGlmCiB9CiAKQEAgLTQyNiw2ICs0MjgsNTIgQEAgdm9pZCBwcmludF94 bWxfZmVhdHVyZTo6dmlzaXRfcG9zdCAoY29uc3QgdGFyZ2V0X2Rlc2MgKmUpCiAgIGFkZF9saW5l ICgiPC90YXJnZXQ+Iik7CiB9CiAKK3ZvaWQKK3ByaW50X3htbF9mZWF0dXJlOjp2aXNpdCAoY29u c3QgdGRlc2NfZGV2aWNlICpkZXZpY2UpCit7CisgIGlmIChkZXZpY2UgPT0gbnVsbHB0cikKKyAg ICByZXR1cm47CisKKyAgc3RkOjpzdHJpbmcgdG1wID0gIjxkZXZpY2UiOworICBpZiAoZGV2aWNl LT52ZW5kb3JfaWQuaGFzX3ZhbHVlICgpKQorICAgIHN0cmluZ19hcHBlbmRmICh0bXAsICIgdmVu ZG9yLWlkPVwiMHglMDQiIFBSSXgzMiAiXCIiLAorCQkgICAgKmRldmljZS0+dmVuZG9yX2lkKTsK KworICBpZiAoZGV2aWNlLT50YXJnZXRfaWQuaGFzX3ZhbHVlICgpKQorICAgIHN0cmluZ19hcHBl bmRmICh0bXAsICIgdGFyZ2V0LWlkPVwiMHglMDQiIFBSSXgzMiAiXCIiLAorCQkgICAgKmRldmlj ZS0+dGFyZ2V0X2lkKTsKKworICBpZiAoIWRldmljZS0+ZmFtaWx5LmVtcHR5ICgpKQorICAgIHN0 cmluZ19hcHBlbmRmICh0bXAsICIgZmFtaWx5PVwiJXNcIiIsIGRldmljZS0+ZmFtaWx5LmNfc3Ry ICgpKTsKKworICBpZiAoIWRldmljZS0+bW9kZWwuZW1wdHkgKCkpCisgICAgc3RyaW5nX2FwcGVu ZGYgKHRtcCwgIiBtb2RlbD1cIiVzXCIiLCBkZXZpY2UtPm1vZGVsLmNfc3RyICgpKTsKKworICBp ZiAoZGV2aWNlLT5zdGVwcGluZy5oYXNfdmFsdWUgKCkpCisgICAgc3RyaW5nX2FwcGVuZGYgKHRt cCwgIiBzdGVwcGluZz1cIiVkXCIiLCAqZGV2aWNlLT5zdGVwcGluZyk7CisKKyAgaWYgKCFkZXZp Y2UtPm5hbWUuZW1wdHkgKCkpCisgICAgc3RyaW5nX2FwcGVuZGYgKHRtcCwgIiBuYW1lPVwiJXNc IiIsIGRldmljZS0+bmFtZS5jX3N0ciAoKSk7CisKKyAgaWYgKCFkZXZpY2UtPnBjaV9zbG90LmVt cHR5ICgpKQorICAgIHN0cmluZ19hcHBlbmRmICh0bXAsICIgcGNpLXNsb3Q9XCIlc1wiIiwgZGV2 aWNlLT5wY2lfc2xvdC5jX3N0ciAoKSk7CisKKyAgaWYgKCFkZXZpY2UtPnV1aWQuZW1wdHkgKCkp CisgICAgc3RyaW5nX2FwcGVuZGYgKHRtcCwgIiB1dWlkPVwiJXNcIiIsIGRldmljZS0+dXVpZC5j X3N0ciAoKSk7CisKKyAgaWYgKGRldmljZS0+dG90YWxfY29yZXMuaGFzX3ZhbHVlICgpKQorICAg IHN0cmluZ19hcHBlbmRmICh0bXAsICIgdG90YWwtY29yZXM9XCIlbGRcIiIsICpkZXZpY2UtPnRv dGFsX2NvcmVzKTsKKworICBpZiAoZGV2aWNlLT50b3RhbF90aHJlYWRzLmhhc192YWx1ZSAoKSkK KyAgICBzdHJpbmdfYXBwZW5kZiAodG1wLCAiIHRvdGFsLXRocmVhZHM9XCIlbGRcIiIsICpkZXZp Y2UtPnRvdGFsX3RocmVhZHMpOworCisgIGlmIChkZXZpY2UtPnN1YmRldmljZV9pZC5oYXNfdmFs dWUgKCkpCisgICAgc3RyaW5nX2FwcGVuZGYgKHRtcCwgIiBzdWJkZXZpY2UtaWQ9XCIlZFwiIiwg KmRldmljZS0+c3ViZGV2aWNlX2lkKTsKKworICBzdHJpbmdfYXBwZW5kZiAodG1wLCAiLz4iKTsK KyAgYWRkX2xpbmUgKHRtcCk7Cit9CisKIC8qIFNlZSBnZGJzdXBwb3J0L3RkZXNjLmguICAqLwog CiB2b2lkCmRpZmYgLS1naXQgYS9nZGJzdXBwb3J0L3RkZXNjLmggYi9nZGJzdXBwb3J0L3RkZXNj LmgKaW5kZXggNmJmNjZhZDNkY2RjYjkxNDhmZGRmM2E0NjJiYWQyYzBjZTU0OWFiNy4uY2VjMDFk ZjkxZWQ0ZDQwYzM1Yzc5OWM4ZDg5MzJmNTJiZTkyMDdkZCAxMDA2NDQKLS0tIGEvZ2Ric3VwcG9y dC90ZGVzYy5oCisrKyBiL2dkYnN1cHBvcnQvdGRlc2MuaApAQCAtMjYsNiArMjYsNyBAQCBzdHJ1 Y3QgdGRlc2NfdHlwZV9idWlsdGluOwogc3RydWN0IHRkZXNjX3R5cGVfdmVjdG9yOwogc3RydWN0 IHRkZXNjX3R5cGVfd2l0aF9maWVsZHM7CiBzdHJ1Y3QgdGRlc2NfcmVnOworc3RydWN0IHRkZXNj X2RldmljZTsKIHN0cnVjdCB0YXJnZXRfZGVzYzsKIAogLyogVGhlIGludGVyZmFjZSB0byB2aXNp dCBkaWZmZXJlbnQgZWxlbWVudHMgb2YgdGFyZ2V0IGRlc2NyaXB0aW9uLiAgKi8KQEAgLTU2LDYg KzU3LDkgQEAgY2xhc3MgdGRlc2NfZWxlbWVudF92aXNpdG9yCiAKICAgdmlydHVhbCB2b2lkIHZp c2l0IChjb25zdCB0ZGVzY19yZWcgKmUpCiAgIHt9CisKKyAgdmlydHVhbCB2b2lkIHZpc2l0IChj b25zdCB0ZGVzY19kZXZpY2UgKmUpCisgIHt9CiB9OwogCiBjbGFzcyB0ZGVzY19lbGVtZW50CkBA IC0zMTUsNiArMzE5LDg0IEBAIHN0cnVjdCB0ZGVzY19mZWF0dXJlIDogdGRlc2NfZWxlbWVudAog CiB0eXBlZGVmIHN0ZDo6dW5pcXVlX3B0cjx0ZGVzY19mZWF0dXJlPiB0ZGVzY19mZWF0dXJlX3Vw OwogCisvKiBUaGUgZGV2aWNlIGluZm9ybWF0aW9uIGluIGEgdGFyZ2V0IGRlc2NyaXB0aW9uLiAg Ki8KKworc3RydWN0IHRkZXNjX2RldmljZSA6IHRkZXNjX2VsZW1lbnQKK3sKKyAgdGRlc2NfZGV2 aWNlICgpCisgIHsKKyAgICBmYW1pbHkgPSAiIjsKKyAgICBtb2RlbCA9ICIiOworICAgIG5hbWUg PSAiIjsKKyAgICBwY2lfc2xvdCA9ICIiOworICAgIHV1aWQgPSAiIjsKKyAgfQorCisgIHZpcnR1 YWwgfnRkZXNjX2RldmljZSAoKSA9IGRlZmF1bHQ7CisKKyAgRElTQUJMRV9DT1BZX0FORF9BU1NJ R04gKHRkZXNjX2RldmljZSk7CisKKyAgLyogVGhlIGlkIG9mIHRoZSBkZXZpY2UgdmVuZG9yLiAg Ki8KKyAgc3RkOjpvcHRpb25hbDx1aW50MzJfdD4gdmVuZG9yX2lkOworCisgIC8qIFRoZSBpZCBv ZiB0aGUgZGV2aWNlLCBnaXZlbiBieSBpdHMgdmVuZG9yLiAgKi8KKyAgc3RkOjpvcHRpb25hbDx1 aW50MzJfdD4gdGFyZ2V0X2lkOworCisgIC8qIFRoZSBmYW1pbHkgb2YgdGhlIGRldmljZS4gICov CisgIHN0ZDo6c3RyaW5nIGZhbWlseTsKKworICAvKiBUaGUgbW9kZWwgb2YgdGhlIGRldmljZS4g ICovCisgIHN0ZDo6c3RyaW5nIG1vZGVsOworCisgIC8qIFRoZSBzdGVwcGluZyBvZiB0aGUgZGV2 aWNlLiAgKi8KKyAgc3RkOjpvcHRpb25hbDx1aW50MzJfdD4gc3RlcHBpbmc7CisKKyAgLyogVGhl IG5hbWUgb2YgdGhlIGRldmljZS4gICovCisgIHN0ZDo6c3RyaW5nIG5hbWU7CisKKyAgLyogVGhl IGxvY2F0aW9uIHdoZXJlIHRoZSBkZXZpY2UgaXMgcG9zaXRpb25lZC4gICovCisgIHN0ZDo6c3Ry aW5nIHBjaV9zbG90OworCisgIC8qIFRoZSBVVUlEIG9mIHRoZSBkZXZpY2UuICAqLworICBzdGQ6 OnN0cmluZyB1dWlkOworCisgIC8qIFRoZSBudW1iZXIgb2YgY29yZXMgYXZhaWxhYmxlIGluIHRo ZSBkZXZpY2UuICAqLworICBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gdG90YWxfY29yZXM7CisKKyAg LyogVGhlIG51bWJlciBvZiB0aHJlYWRzIGF2YWlsYWJsZSBpbiB0aGUgZGV2aWNlLiAgKi8KKyAg c3RkOjpvcHRpb25hbDxzaXplX3Q+IHRvdGFsX3RocmVhZHM7CisKKyAgLyogVGhlIHN1YmRldmlj ZSBpZCwgaWYgdGhpcyBkZXZpY2UgaXMgYSBzdWJkZXZpY2UuICAqLworICBzdGQ6Om9wdGlvbmFs PHVpbnQzMl90PiBzdWJkZXZpY2VfaWQ7CisKKyAgdm9pZCBhY2NlcHQgKHRkZXNjX2VsZW1lbnRf dmlzaXRvciAmdikgY29uc3Qgb3ZlcnJpZGUKKyAgeworICAgIHYudmlzaXQgKHRoaXMpOworICB9 CisKKyAgYm9vbCBvcGVyYXRvcj09IChjb25zdCB0ZGVzY19kZXZpY2UgJm90aGVyKSBjb25zdAor ICB7CisgICAgcmV0dXJuICh2ZW5kb3JfaWQgPT0gb3RoZXIudmVuZG9yX2lkCisJICAgICYmIHRh cmdldF9pZCA9PSBvdGhlci50YXJnZXRfaWQKKwkgICAgJiYgZmFtaWx5ID09IG90aGVyLmZhbWls eQorCSAgICAmJiBtb2RlbCA9PSBvdGhlci5tb2RlbAorCSAgICAmJiBzdGVwcGluZyA9PSBvdGhl ci5zdGVwcGluZworCSAgICAmJiBuYW1lID09IG90aGVyLm5hbWUKKwkgICAgJiYgcGNpX3Nsb3Qg PT0gb3RoZXIucGNpX3Nsb3QKKwkgICAgJiYgdXVpZCA9PSBvdGhlci51dWlkCisJICAgICYmIHRv dGFsX2NvcmVzID09IG90aGVyLnRvdGFsX2NvcmVzCisJICAgICYmIHRvdGFsX3RocmVhZHMgPT0g b3RoZXIudG90YWxfdGhyZWFkcworCSAgICAmJiBzdWJkZXZpY2VfaWQgPT0gb3RoZXIuc3ViZGV2 aWNlX2lkKTsKKyAgfQorCisgIGJvb2wgb3BlcmF0b3IhPSAoY29uc3QgdGRlc2NfZGV2aWNlICZv dGhlcikgY29uc3QKKyAgeworICAgIHJldHVybiAhKCp0aGlzID09IG90aGVyKTsKKyAgfQorfTsK KwordHlwZWRlZiBzdGQ6OnVuaXF1ZV9wdHI8dGRlc2NfZGV2aWNlPiB0ZGVzY19kZXZpY2VfdXA7 CisKIC8qIEEgZGVsZXRlciBhZGFwdGVyIGZvciBhIHRhcmdldF9kZXNjLiAgVGhlcmUgYXJlIGRp ZmZlcmVudAogICAgaW1wbGVtZW50YXRpb25zIG9mIHRoaXMgZGVsZXRlciBjbGFzcyBpbiBnZGIg YW5kIGdkYnNlcnZlciBiZWNhdXNlIGV2ZW4KICAgIHRob3VnaCB0aGUgdGFyZ2V0X2Rlc2MgbmFt ZSBpcyBzaGFyZWQgYmV0d2VlbiB0aGUgdHdvIHByb2plY3RzLCB0aGUKQEAgLTM0Nyw2ICs0Mjks MTMgQEAgdm9pZCBzZXRfdGRlc2Nfb3NhYmkgKHRhcmdldF9kZXNjICp0YXJnZXRfZGVzYywgZW51 bSBnZGJfb3NhYmkgb3NhYmkpOwogICAgb3IgTlVMTCBpZiBubyBvc2FiaSB3YXMgc3BlY2lmaWVk LiAgKi8KIGNvbnN0IGNoYXIgKnRkZXNjX29zYWJpX25hbWUgKGNvbnN0IHN0cnVjdCB0YXJnZXRf ZGVzYyAqdGFyZ2V0X2Rlc2MpOwogCisvKiBTZXQgVEFSR0VUX0RFU0MncyBkZXZpY2UgaW5mb3Jt YXRpb24uICAqLwordm9pZCBzZXRfdGRlc2NfZGV2aWNlX2luZm8gKHRhcmdldF9kZXNjICp0YXJn ZXRfZGVzYywgdGRlc2NfZGV2aWNlICpkZXZpY2UpOworCisvKiBSZXR1cm4gdGhlIGRldmljZSBp bmZvcm1hdGlvbiBhc3NvY2lhdGVkIHdpdGggdGhpcyB0YXJnZXQKKyAgIGRlc2NyaXB0aW9uIG9y IE5VTEwgaWYgZGV2aWNlIGluZm8gZG9lcyBub3QgZXhpc3QuICAqLworY29uc3QgdGRlc2NfZGV2 aWNlICp0ZGVzY19kZXZpY2VfaW5mbyAoY29uc3QgdGFyZ2V0X2Rlc2MgKnRhcmdldF9kZXNjKTsK KwogLyogUmV0dXJuIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCBJRCBpbiB0aGUgY29udGV4dCBv ZiBGRUFUVVJFLCBvcgogICAgTlVMTCBpZiBub25lLiAgKi8KIHN0cnVjdCB0ZGVzY190eXBlICp0 ZGVzY19uYW1lZF90eXBlIChjb25zdCBzdHJ1Y3QgdGRlc2NfZmVhdHVyZSAqZmVhdHVyZSwKQEAg LTQzOSw2ICs1MjgsNyBAQCBjbGFzcyBwcmludF94bWxfZmVhdHVyZSA6IHB1YmxpYyB0ZGVzY19l bGVtZW50X3Zpc2l0b3IKICAgdm9pZCB2aXNpdCAoY29uc3QgdGRlc2NfdHlwZV92ZWN0b3IgKnR5 cGUpIG92ZXJyaWRlOwogICB2b2lkIHZpc2l0IChjb25zdCB0ZGVzY190eXBlX3dpdGhfZmllbGRz ICp0eXBlKSBvdmVycmlkZTsKICAgdm9pZCB2aXNpdCAoY29uc3QgdGRlc2NfcmVnICpyZWcpIG92 ZXJyaWRlOworICB2b2lkIHZpc2l0IChjb25zdCB0ZGVzY19kZXZpY2UgKmRldmljZSkgb3ZlcnJp ZGU7CiAKIHByaXZhdGU6CiAKCi0tIAoyLjM0LjEKCkludGVsIERldXRzY2hsYW5kIEdtYkgNClJl Z2lzdGVyZWQgQWRkcmVzczogQW0gQ2FtcGVvbiAxMCwgODU1NzkgTmV1YmliZXJnLCBHZXJtYW55 DQpUZWw6ICs0OSA4OSA5OSA4ODUzLTAsIHd3dy5pbnRlbC5kZQ0KTWFuYWdpbmcgRGlyZWN0b3Jz OiBTZWFuIEZlbm5lbGx5LCBKZWZmcmV5IFNjaG5laWRlcm1hbiwgVGlmZmFueSBEb29uIFNpbHZh DQpDaGFpcnBlcnNvbiBvZiB0aGUgU3VwZXJ2aXNvcnkgQm9hcmQ6IE5pY29sZSBMYXUNClJlZ2lz dGVyZWQgT2ZmaWNlOiBNdW5pY2gNCkNvbW1lcmNpYWwgUmVnaXN0ZXI6IEFtdHNnZXJpY2h0IE11 ZW5jaGVuIEhSQiAxODY5MjgK