From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH 4/9] libxl_internal: Create new lock for devices hotplug via QMP Date: Tue, 9 Apr 2019 17:45:37 +0100 Message-ID: <20190409164542.30274-5-anthony.perard@citrix.com> References: <20190409164542.30274-1-anthony.perard@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hDtsd-00088Z-1N for xen-devel@lists.xenproject.org; Tue, 09 Apr 2019 16:45:51 +0000 In-Reply-To: <20190409164542.30274-1-anthony.perard@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Anthony PERARD , Wei Liu , Ian Jackson List-Id: xen-devel@lists.xenproject.org VGhlIGN1cnJlbnQgbG9jayBgZG9tYWluX3VzZXJkYXRhX2xvY2snIGNhbid0IGJlIHVzZWQgd2hl biBtb2RpZmljYXRpb24KdG8gYSBndWVzdCBpcyBkb25lIGJ5IHNlbmRpbmcgY29tbWFuZCB0byBR RU1VLCB0aGlzIGlzIGEgc2xvdyBwcm9jZXNzCmFuZCByZXF1aXJlcyB0byBjYWxsIENUWF9VTkxP Q0ssIHdoaWNoIGlzIG5vdCBwb3NzaWJsZSB3aGlsZSBob2xkaW5nCnRoZSBgZG9tYWluX3VzZXJk YXRhX2xvY2snLgoKVG8gcmVzb2x2ZSB0aGlzIGlzc3VlLCB3ZSBjcmVhdGUgYSBuZXcgbG9jayB3 aGljaCBjYW4gdGFrZSBvdmVyIHBhcnQgb2YKdGhlIGpvYiBvZiB0aGUganNvbl9sb2NrLgoKU2ln bmVkLW9mZi1ieTogQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+Cgot LS0KClF1b3RlIGZyb20gSWFuOgo+IFRoZSBpbnZhcmlhbnQgdGhhdCB3ZSB3YW50IHRvIG1haW50 YWluIGlzOgo+Cj4gICAqIE5vdGhpbmcgbWF5IGV4aXN0IGluIHRoZSBwcmltYXJ5IGNvbmZpZyB3 aXRob3V0Cj4gICAgIGEgY29ycmVzcG9uZGluZyBlbnRyeSBpbiBsaWJ4bC1qc29uLgpbLi4uXQo+ IEhvdyBhYm91dCB0aGUgZm9sbG93aW5nIHNjaGVtZS4gIFdlIHNwbGl0IHRoZSBsaWJ4bC1qc29u IGxvY2sgaW50bwo+IHR3by4gIEknbSBnb2luZyB0byBjYWxsIHRoZW0gdGhlIGZhc3QgbG9jayBh bmQgdGhlIHNsb3cgbG9jay4KPgo+ICAgKiBUaGUgZmFzdCBsb2NrIGlzIHRoZSBleGlzdGluZyBs aWJ4bC1qc29uIGxvY2suCj4KPiAgICogVGhlIHNsb3cgbG9jayBpcyBvdXRzaWRlIHRoZSBsaWJ4 bC1qc29uIGxvY2sgaW4gdGhlIGxvY2sKPiAgICAgaGllcmFyY2h5LiAgSXQgaXMgYWxzbyBvdXRz aWRlIHRoZSBsaWJ4bF9jdHggbG9jay4gIEl0IGlzCj4gICAgIHRvIGJlIGFjcXVpcmVkIGJ5IGFu IGFvIGV2ZW50IGNhbGxiYWNrLgo+Cj4gICAqIE5vLW9uZSBtYXkgcmVhZCBvciBlZGl0IHRoZSBs aWJ4bC1qc29uIHdpdGhvdXQgaG9sZGluZyB0aGUgZmFzdAo+ICAgICBsb2NrIGFjcm9zcyB0aGVp ciByZWFkIG9wZXJhdGlvbiwgb3IgdGhlaXIgcmVhZC9tb2RpZnkvd3JpdGUKPiAgICAgY3ljbGUu Cj4KPiAgICogSG93ZXZlciwgdGhlcmUgYXJlIHNwZWNpYWwgcnVsZXMgZm9yIHRoaW5nIHJlbW92 YWwvYWRkaXRpb24sIGZvcgo+ICAgICB0aGluZ3MgYWRkZWQvcmVtb3ZlZCB2aWEgcW1wLiAgQ2Fs bCB0aGVzZSBgcW1wIHRoaW5ncycuICBJdCBpcwo+ICAgICBwZXJtaXNzaWJsZSB0byBhZGQgb3Ig cmVtb3ZlIGEgcW1wIHRoaW5nIGFjcm9zcyB0d28gc2VwYXJhdGUKPiAgICAgYWNxdWlzaXRpb25z IG9mIHRoZSBmYXN0IGxvY2ssIG9uZSB0byByZWFkIHRoZSBvbGQgc3RhdGUgb2YgdGhlCj4gICAg IHRoaW5nLCBhbmQgb25lIHRvIHJlYWQvbW9kaWZ5L3dyaXRlIHRvIHVwZGF0ZSAob25seSkgdGhl IG5ldyBzdGF0ZQo+ICAgICBvZiB0aGUgdGhpbmcuICBUaGlzIGlzIHN1YmplY3QgdG8gdGhlIHRo aW5nIGFkZC9yZW1vdmFsIHJ1bGUsIGZyb20KPiAgICAgYmVmb3JlLCB3aGljaCBiZWNvbWVzOgo+ Cj4gICAqIFlvdSBtYXkgbm90IGNhdXNlIGEgdGhpbmcgdG8gYmUgYWRkZWQgdG8gdGhlIHByaW1h cnkgY29uZmlnCj4gICAgIHVubGVzcyB5b3UgaGF2ZSBoZWxkIHRoZSByZWxldmFudCB0aGluZyBs b2NrIGNvbnRpbnVvdXNseQo+ICAgICBzaW5jZSBlbnN1cmluZyB0aGF0IHRoZSBsaWJ4bC1qc29u IGNvbmZpZyBkZXNjcmliZXMgaXQuCj4KPiAgICogQ29udmVyc2VseSB5b3UgbWF5IG5vdCBjYXVz ZSBhIHRoaW5nIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUKPiAgICAgbGlieGwtanNvbiB1bmxlc3Mg eW91IGhhdmUgaGVsZCB0aGUgcmVsZXZhbnQgdGhpbmcgbG9jawo+ICAgICBjb250aW51b3VzbHkg c2luY2UgZW5zdXJpbmcgdGhlIHRoaW5nIGlzIGFic2VudCBmcm9tIHRoZSBwcmltYXJ5Cj4gICAg IGNvbmZpZy4KPgo+ICAgKiBUaGUgYHJlbGV2YW50IHRoaW5nIGxvY2snIGlzIHRoZSBzbG93IGxv Y2sgZm9yIHFtcCB0aGluZ3MsIGFuZCB0aGUKPiAgICAgZmFzdCBsb2NrIGZvciBvdGhlciB0aGlu Z3MuCj4KPiAgICogQWNxdWlyaW5nIHRoZSBmYXN0IGxvY2sgZmFpbHMgZm9yIGEgZGVzdHJveWVk IGRvbWFpbiwgYXMgYXQKPiAgICAgcHJlc2VudC4KLS0tCiB0b29scy9saWJ4bC9saWJ4bF9pbnRl cm5hbC5jIHwgMjcgKysrKysrKysrKysrKysrKysrKysrKysrKwogdG9vbHMvbGlieGwvbGlieGxf aW50ZXJuYWwuaCB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogMiBm aWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmMgYi90b29scy9saWJ4bC9saWJ4bF9pbnRl cm5hbC5jCmluZGV4IGZhMGJiYzM5NjAuLmRiMjgxYWMyNTkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xp YnhsL2xpYnhsX2ludGVybmFsLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuYwpA QCAtNjA3LDYgKzYwNywzMyBAQCB2b2lkIGxpYnhsX191cGRhdGVfZG9tYWluX2NvbmZpZ3VyYXRp b24obGlieGxfX2djICpnYywKICAgICBkc3QtPmJfaW5mby52aWRlb19tZW1rYiA9IHNyYy0+Yl9p bmZvLnZpZGVvX21lbWtiOwogfQogCitzdHJ1Y3QgbGlieGxfX2RvbWFpbl9xbXBfbG9jayB7Cisg ICAgbGlieGxfX2dlbmVyaWNfbG9jayBsb2NrOworfTsKKworbGlieGxfX2RvbWFpbl9xbXBfbG9j ayAqbGlieGxfX2xvY2tfZG9tYWluX3FtcChsaWJ4bF9fZ2MgKmdjLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kb21pZCBkb21pZCkKK3sKKyAg ICBsaWJ4bF9fZG9tYWluX3FtcF9sb2NrICpsb2NrID0gTlVMTDsKKyAgICBpbnQgcmM7CisKKyAg ICBsb2NrID0gbGlieGxfX3phbGxvYyhOT0dDLCBzaXplb2YoKmxvY2spKTsKKyAgICByYyA9IGxp YnhsX19sb2NrX2dlbmVyaWMoZ2MsIGRvbWlkLCAmbG9jay0+bG9jaywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImxpYnhsLWRldmljZS1jaGFuZ2VzLWxvY2siKTsKKyAgICBpZiAocmMp IHsKKyAgICAgICAgbGlieGxfX3VubG9ja19kb21haW5fcW1wKGxvY2spOworICAgICAgICByZXR1 cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXR1cm4gbG9jazsKK30KKwordm9pZCBsaWJ4bF9fdW5s b2NrX2RvbWFpbl9xbXAobGlieGxfX2RvbWFpbl9xbXBfbG9jayAqbG9jaykKK3sKKyAgICBsaWJ4 bF9fdW5sb2NrX2dlbmVyaWMoJmxvY2stPmxvY2spOworICAgIGZyZWUobG9jayk7Cit9CisKIC8q CiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1naXQgYS90b29scy9saWJ4 bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAppbmRleCBm MWFlZmFmOThhLi40M2I0NGYyYzMwIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9pbnRl cm5hbC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKQEAgLTI1NjEsNiArMjU2 MSwyMSBAQCB0eXBlZGVmIHN0cnVjdCBsaWJ4bF9fYW9fZGV2aWNlIGxpYnhsX19hb19kZXZpY2U7 CiB0eXBlZGVmIHN0cnVjdCBsaWJ4bF9fbXVsdGlkZXYgbGlieGxfX211bHRpZGV2OwogdHlwZWRl ZiB2b2lkIGxpYnhsX19kZXZpY2VfY2FsbGJhY2sobGlieGxfX2VnYyosIGxpYnhsX19hb19kZXZp Y2UqKTsKIAorLyoKKyAqIExvY2sgZm9yIGRldmljZSBob3RwbHVnLCBxbXBfbG9jay4KKyAqCisg KiBUaGlzIGxvY2sgaXMgb3V0c2lkZSB0aGUganNvbl9sb2NrIGxvY2sgaW4gbG9jayBoaWVyYXJj aHkuCisgKiBJdCBpcyBhbHNvIG91dHNpZGUgdGhlIGxpYnhsX2N0eCBsb2NrLgorICogSXQgaXMg dG8gYmUgYWNxdWlyZWQgYnkgYW4gYW8gZXZlbnQgY2FsbGJhY2suCisgKgorICogSXQgaXMgdG8g YmUgYWNxdWlyZWQgd2hlbiBhZGRpbmcvcmVtb3ZpbmcgZGV2aWNlcyBvciBtYWtpbmcgY2hhbmdl cworICogdG8gdGhlbSB2aWEgUU1QLCB3aGVuIHRoaXMgaXMgYSBzbG93IG9wZXJhdGlvbi4KKyAq LwordHlwZWRlZiBzdHJ1Y3QgbGlieGxfX2RvbWFpbl9xbXBfbG9jayBsaWJ4bF9fZG9tYWluX3Ft cF9sb2NrOworX2hpZGRlbiBsaWJ4bF9fZG9tYWluX3FtcF9sb2NrICpsaWJ4bF9fbG9ja19kb21h aW5fcW1wKGxpYnhsX19nYyAqZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWlkIGRvbWlkKTsKK19oaWRkZW4gdm9p ZCBsaWJ4bF9fdW5sb2NrX2RvbWFpbl9xbXAobGlieGxfX2RvbWFpbl9xbXBfbG9jayAqbG9jayk7 CisKIC8qIFRoaXMgZnVuY3Rpb25zIHNldHMgdGhlIG5lY2Vzc2FyeSBsaWJ4bF9fYW9fZGV2aWNl IHN0cnVjdCB2YWx1ZXMgdG8gdXNlCiAgKiBzYWZlbHkgaW5zaWRlIGZ1bmN0aW9ucy4gSXQgbWFy a3MgdGhlIG9wZXJhdGlvbiBhcyAiYWN0aXZlIgogICogc2luY2Ugd2UgbmVlZCB0byBiZSBzdXJl IHRoYXQgYWxsIGRldmljZSBzdGF0dXMgc3RydWN0cyBhcmUgc2V0CkBAIC0yNzQ5LDExICsyNzY0 LDExIEBAIHN0cnVjdCBsaWJ4bF9fbXVsdGlkZXYgewogICogZGV2aWNlIGluZm9ybWF0aW9uLCBp biBKU09OIGZpbGVzLCBzbyB0aGF0IHdlIGNhbiB1c2UgdGhpcyBKU09OCiAgKiBmaWxlIGFzIGEg dGVtcGxhdGUgdG8gcmVjb25zdHJ1Y3QgZG9tYWluIGNvbmZpZ3VyYXRpb24uCiAgKgotICogSW4g ZXNzZW5zZSB0aGVyZSBhcmUgbm93IHR3byB2aWV3cyBvZiBkZXZpY2Ugc3RhdGUsIG9uZSBpcyB4 ZW5zdG9yZSwKLSAqIHRoZSBvdGhlciBpcyBKU09OIGZpbGUuIFdlIHVzZSB4ZW5zdG9yZSBhcyBw cmltYXJ5IHJlZmVyZW5jZS4KKyAqIEluIGVzc2Vuc2UgdGhlcmUgYXJlIG5vdyB0d28gdmlld3Mg b2YgZGV2aWNlIHN0YXRlLCBvbmUgaXMgdGhlCisgKiBwcmltYXJ5IGNvbmZpZyAoeGVuc3RvcmUg b3IgUUVNVSksIHRoZSBvdGhlciBpcyBKU09OIGZpbGUuCiAgKgotICogSGVyZSB3ZSBtYWludGFp biBvbmUgaW52YXJpYW50OiBldmVyeSBkZXZpY2UgaW4geGVuc3RvcmUgbXVzdCBoYXZlCi0gKiBh biBlbnRyeSBpbiBKU09OIGZpbGUuCisgKiBIZXJlIHdlIG1haW50YWluIG9uZSBpbnZhcmlhbnQ6 IGV2ZXJ5IGRldmljZSBpbiB0aGUgcHJpbWFyeSBjb25maWcKKyAqIG11c3QgaGF2ZSBhbiBlbnRy eSBpbiBKU09OIGZpbGUuCiAgKgogICogQWxsIGRldmljZSBob3RwbHVnIHJvdXRpbmVzIHNob3Vs ZCBjb21wbHkgdG8gZm9sbG93aW5nIHBhdHRlcm46CiAgKiAgIGxvY2sganNvbiBjb25maWcgKGpz b25fbG9jaykKQEAgLTI3NjgsNiArMjc4MywyMiBAQCBzdHJ1Y3QgbGlieGxfX211bHRpZGV2IHsK ICAqICAgICAgIGVuZCBmb3IgbG9vcAogICogICB1bmxvY2sganNvbiBjb25maWcKICAqCisgKiBP ciBpbiBjYXNlIFFFTVUgaXMgdGhlIHByaW1hcnkgY29uZmlnLCB0aGlzIHBhdHRlcm4gY2FuIGJl IHVzZToKKyAqICAgbG9jayBxbXAgKHFtcF9sb2NrKQorICogICAgICBsb2NrIGpzb24gY29uZmln IChqc29uX2xvY2spCisgKiAgICAgICAgICByZWFkIGpzb24gY29uZmlnCisgKiAgICAgICAgICB1 cGRhdGUgaW4tbWVtb3J5IGpzb24gY29uZmlnIHdpdGggbmV3IGVudHJ5LCByZXBsYWNpbmcKKyAq ICAgICAgICAgICAgIGFueSBzdGFsZSBlbnRyeQorICogICAgICB1bmxvY2sganNvbiBjb25maWcK KyAqICAgICAgYXBwbHkgbmV3IGNvbmZpZyB0byBwcmltYXJ5IGNvbmZpZworICogICAgICBsb2Nr IGpzb24gY29uZmlnIChqc29uX2xvY2spCisgKiAgICAgICAgICByZWFkIGpzb24gY29uZmlnCisg KiAgICAgICAgICB1cGRhdGUgaW4tbWVtb3J5IGpzb24gY29uZmlnIHdpdGggbmV3IGVudHJ5LCBy ZXBsYWNpbmcKKyAqICAgICAgICAgICAgIGFueSBzdGFsZSBlbnRyeQorICogICAgICAgICAgd3Jp dGUgaW4tbWVtb3J5IGpzb24gY29uZmlnIHRvIGRpc2sKKyAqICAgICAgdW5sb2NrIGpzb24gY29u ZmlnCisgKiAgIHVubG9jayBxbXAKKyAqCiAgKiBEZXZpY2UgcmVtb3ZhbCByb3V0aW5lcyBhcmUg bm90IHRvdWNoZWQuCiAgKgogICogSGVyZSBpcyB0aGUgcHJvb2YgdGhhdCB3ZSBhbHdheXMgbWFp bnRhaW4gdGhhdCBpbnZhcmlhbnQgYW5kIHdlCi0tIApBbnRob255IFBFUkFSRAoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw= 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=-9.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,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 34879C282CE for ; Tue, 9 Apr 2019 16:46:04 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 10D902133D for ; Tue, 9 Apr 2019 16:46:03 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 10D902133D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hDtse-00089M-Hq; Tue, 09 Apr 2019 16:45:52 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hDtsd-00088Z-1N for xen-devel@lists.xenproject.org; Tue, 09 Apr 2019 16:45:51 +0000 X-Inumbo-ID: ecc43376-5ae6-11e9-9b6d-2f6f6651b6ba Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id ecc43376-5ae6-11e9-9b6d-2f6f6651b6ba; Tue, 09 Apr 2019 16:45:47 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.60,330,1549929600"; d="scan'208";a="83137611" From: Anthony PERARD To: Date: Tue, 9 Apr 2019 17:45:37 +0100 Message-ID: <20190409164542.30274-5-anthony.perard@citrix.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190409164542.30274-1-anthony.perard@citrix.com> References: <20190409164542.30274-1-anthony.perard@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 4/9] libxl_internal: Create new lock for devices hotplug via QMP X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Anthony PERARD , Wei Liu , Ian Jackson Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190409164537.5MBrk5SJgHRlb4u76bI62Rb1UdOjb3obK2-NsD0M3tc@z> VGhlIGN1cnJlbnQgbG9jayBgZG9tYWluX3VzZXJkYXRhX2xvY2snIGNhbid0IGJlIHVzZWQgd2hl biBtb2RpZmljYXRpb24KdG8gYSBndWVzdCBpcyBkb25lIGJ5IHNlbmRpbmcgY29tbWFuZCB0byBR RU1VLCB0aGlzIGlzIGEgc2xvdyBwcm9jZXNzCmFuZCByZXF1aXJlcyB0byBjYWxsIENUWF9VTkxP Q0ssIHdoaWNoIGlzIG5vdCBwb3NzaWJsZSB3aGlsZSBob2xkaW5nCnRoZSBgZG9tYWluX3VzZXJk YXRhX2xvY2snLgoKVG8gcmVzb2x2ZSB0aGlzIGlzc3VlLCB3ZSBjcmVhdGUgYSBuZXcgbG9jayB3 aGljaCBjYW4gdGFrZSBvdmVyIHBhcnQgb2YKdGhlIGpvYiBvZiB0aGUganNvbl9sb2NrLgoKU2ln bmVkLW9mZi1ieTogQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+Cgot LS0KClF1b3RlIGZyb20gSWFuOgo+IFRoZSBpbnZhcmlhbnQgdGhhdCB3ZSB3YW50IHRvIG1haW50 YWluIGlzOgo+Cj4gICAqIE5vdGhpbmcgbWF5IGV4aXN0IGluIHRoZSBwcmltYXJ5IGNvbmZpZyB3 aXRob3V0Cj4gICAgIGEgY29ycmVzcG9uZGluZyBlbnRyeSBpbiBsaWJ4bC1qc29uLgpbLi4uXQo+ IEhvdyBhYm91dCB0aGUgZm9sbG93aW5nIHNjaGVtZS4gIFdlIHNwbGl0IHRoZSBsaWJ4bC1qc29u IGxvY2sgaW50bwo+IHR3by4gIEknbSBnb2luZyB0byBjYWxsIHRoZW0gdGhlIGZhc3QgbG9jayBh bmQgdGhlIHNsb3cgbG9jay4KPgo+ICAgKiBUaGUgZmFzdCBsb2NrIGlzIHRoZSBleGlzdGluZyBs aWJ4bC1qc29uIGxvY2suCj4KPiAgICogVGhlIHNsb3cgbG9jayBpcyBvdXRzaWRlIHRoZSBsaWJ4 bC1qc29uIGxvY2sgaW4gdGhlIGxvY2sKPiAgICAgaGllcmFyY2h5LiAgSXQgaXMgYWxzbyBvdXRz aWRlIHRoZSBsaWJ4bF9jdHggbG9jay4gIEl0IGlzCj4gICAgIHRvIGJlIGFjcXVpcmVkIGJ5IGFu IGFvIGV2ZW50IGNhbGxiYWNrLgo+Cj4gICAqIE5vLW9uZSBtYXkgcmVhZCBvciBlZGl0IHRoZSBs aWJ4bC1qc29uIHdpdGhvdXQgaG9sZGluZyB0aGUgZmFzdAo+ICAgICBsb2NrIGFjcm9zcyB0aGVp ciByZWFkIG9wZXJhdGlvbiwgb3IgdGhlaXIgcmVhZC9tb2RpZnkvd3JpdGUKPiAgICAgY3ljbGUu Cj4KPiAgICogSG93ZXZlciwgdGhlcmUgYXJlIHNwZWNpYWwgcnVsZXMgZm9yIHRoaW5nIHJlbW92 YWwvYWRkaXRpb24sIGZvcgo+ICAgICB0aGluZ3MgYWRkZWQvcmVtb3ZlZCB2aWEgcW1wLiAgQ2Fs bCB0aGVzZSBgcW1wIHRoaW5ncycuICBJdCBpcwo+ICAgICBwZXJtaXNzaWJsZSB0byBhZGQgb3Ig cmVtb3ZlIGEgcW1wIHRoaW5nIGFjcm9zcyB0d28gc2VwYXJhdGUKPiAgICAgYWNxdWlzaXRpb25z IG9mIHRoZSBmYXN0IGxvY2ssIG9uZSB0byByZWFkIHRoZSBvbGQgc3RhdGUgb2YgdGhlCj4gICAg IHRoaW5nLCBhbmQgb25lIHRvIHJlYWQvbW9kaWZ5L3dyaXRlIHRvIHVwZGF0ZSAob25seSkgdGhl IG5ldyBzdGF0ZQo+ICAgICBvZiB0aGUgdGhpbmcuICBUaGlzIGlzIHN1YmplY3QgdG8gdGhlIHRo aW5nIGFkZC9yZW1vdmFsIHJ1bGUsIGZyb20KPiAgICAgYmVmb3JlLCB3aGljaCBiZWNvbWVzOgo+ Cj4gICAqIFlvdSBtYXkgbm90IGNhdXNlIGEgdGhpbmcgdG8gYmUgYWRkZWQgdG8gdGhlIHByaW1h cnkgY29uZmlnCj4gICAgIHVubGVzcyB5b3UgaGF2ZSBoZWxkIHRoZSByZWxldmFudCB0aGluZyBs b2NrIGNvbnRpbnVvdXNseQo+ICAgICBzaW5jZSBlbnN1cmluZyB0aGF0IHRoZSBsaWJ4bC1qc29u IGNvbmZpZyBkZXNjcmliZXMgaXQuCj4KPiAgICogQ29udmVyc2VseSB5b3UgbWF5IG5vdCBjYXVz ZSBhIHRoaW5nIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUKPiAgICAgbGlieGwtanNvbiB1bmxlc3Mg eW91IGhhdmUgaGVsZCB0aGUgcmVsZXZhbnQgdGhpbmcgbG9jawo+ICAgICBjb250aW51b3VzbHkg c2luY2UgZW5zdXJpbmcgdGhlIHRoaW5nIGlzIGFic2VudCBmcm9tIHRoZSBwcmltYXJ5Cj4gICAg IGNvbmZpZy4KPgo+ICAgKiBUaGUgYHJlbGV2YW50IHRoaW5nIGxvY2snIGlzIHRoZSBzbG93IGxv Y2sgZm9yIHFtcCB0aGluZ3MsIGFuZCB0aGUKPiAgICAgZmFzdCBsb2NrIGZvciBvdGhlciB0aGlu Z3MuCj4KPiAgICogQWNxdWlyaW5nIHRoZSBmYXN0IGxvY2sgZmFpbHMgZm9yIGEgZGVzdHJveWVk IGRvbWFpbiwgYXMgYXQKPiAgICAgcHJlc2VudC4KLS0tCiB0b29scy9saWJ4bC9saWJ4bF9pbnRl cm5hbC5jIHwgMjcgKysrKysrKysrKysrKysrKysrKysrKysrKwogdG9vbHMvbGlieGwvbGlieGxf aW50ZXJuYWwuaCB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogMiBm aWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmMgYi90b29scy9saWJ4bC9saWJ4bF9pbnRl cm5hbC5jCmluZGV4IGZhMGJiYzM5NjAuLmRiMjgxYWMyNTkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xp YnhsL2xpYnhsX2ludGVybmFsLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuYwpA QCAtNjA3LDYgKzYwNywzMyBAQCB2b2lkIGxpYnhsX191cGRhdGVfZG9tYWluX2NvbmZpZ3VyYXRp b24obGlieGxfX2djICpnYywKICAgICBkc3QtPmJfaW5mby52aWRlb19tZW1rYiA9IHNyYy0+Yl9p bmZvLnZpZGVvX21lbWtiOwogfQogCitzdHJ1Y3QgbGlieGxfX2RvbWFpbl9xbXBfbG9jayB7Cisg ICAgbGlieGxfX2dlbmVyaWNfbG9jayBsb2NrOworfTsKKworbGlieGxfX2RvbWFpbl9xbXBfbG9j ayAqbGlieGxfX2xvY2tfZG9tYWluX3FtcChsaWJ4bF9fZ2MgKmdjLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kb21pZCBkb21pZCkKK3sKKyAg ICBsaWJ4bF9fZG9tYWluX3FtcF9sb2NrICpsb2NrID0gTlVMTDsKKyAgICBpbnQgcmM7CisKKyAg ICBsb2NrID0gbGlieGxfX3phbGxvYyhOT0dDLCBzaXplb2YoKmxvY2spKTsKKyAgICByYyA9IGxp YnhsX19sb2NrX2dlbmVyaWMoZ2MsIGRvbWlkLCAmbG9jay0+bG9jaywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImxpYnhsLWRldmljZS1jaGFuZ2VzLWxvY2siKTsKKyAgICBpZiAocmMp IHsKKyAgICAgICAgbGlieGxfX3VubG9ja19kb21haW5fcW1wKGxvY2spOworICAgICAgICByZXR1 cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXR1cm4gbG9jazsKK30KKwordm9pZCBsaWJ4bF9fdW5s b2NrX2RvbWFpbl9xbXAobGlieGxfX2RvbWFpbl9xbXBfbG9jayAqbG9jaykKK3sKKyAgICBsaWJ4 bF9fdW5sb2NrX2dlbmVyaWMoJmxvY2stPmxvY2spOworICAgIGZyZWUobG9jayk7Cit9CisKIC8q CiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1naXQgYS90b29scy9saWJ4 bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAppbmRleCBm MWFlZmFmOThhLi40M2I0NGYyYzMwIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9pbnRl cm5hbC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKQEAgLTI1NjEsNiArMjU2 MSwyMSBAQCB0eXBlZGVmIHN0cnVjdCBsaWJ4bF9fYW9fZGV2aWNlIGxpYnhsX19hb19kZXZpY2U7 CiB0eXBlZGVmIHN0cnVjdCBsaWJ4bF9fbXVsdGlkZXYgbGlieGxfX211bHRpZGV2OwogdHlwZWRl ZiB2b2lkIGxpYnhsX19kZXZpY2VfY2FsbGJhY2sobGlieGxfX2VnYyosIGxpYnhsX19hb19kZXZp Y2UqKTsKIAorLyoKKyAqIExvY2sgZm9yIGRldmljZSBob3RwbHVnLCBxbXBfbG9jay4KKyAqCisg KiBUaGlzIGxvY2sgaXMgb3V0c2lkZSB0aGUganNvbl9sb2NrIGxvY2sgaW4gbG9jayBoaWVyYXJj aHkuCisgKiBJdCBpcyBhbHNvIG91dHNpZGUgdGhlIGxpYnhsX2N0eCBsb2NrLgorICogSXQgaXMg dG8gYmUgYWNxdWlyZWQgYnkgYW4gYW8gZXZlbnQgY2FsbGJhY2suCisgKgorICogSXQgaXMgdG8g YmUgYWNxdWlyZWQgd2hlbiBhZGRpbmcvcmVtb3ZpbmcgZGV2aWNlcyBvciBtYWtpbmcgY2hhbmdl cworICogdG8gdGhlbSB2aWEgUU1QLCB3aGVuIHRoaXMgaXMgYSBzbG93IG9wZXJhdGlvbi4KKyAq LwordHlwZWRlZiBzdHJ1Y3QgbGlieGxfX2RvbWFpbl9xbXBfbG9jayBsaWJ4bF9fZG9tYWluX3Ft cF9sb2NrOworX2hpZGRlbiBsaWJ4bF9fZG9tYWluX3FtcF9sb2NrICpsaWJ4bF9fbG9ja19kb21h aW5fcW1wKGxpYnhsX19nYyAqZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWlkIGRvbWlkKTsKK19oaWRkZW4gdm9p ZCBsaWJ4bF9fdW5sb2NrX2RvbWFpbl9xbXAobGlieGxfX2RvbWFpbl9xbXBfbG9jayAqbG9jayk7 CisKIC8qIFRoaXMgZnVuY3Rpb25zIHNldHMgdGhlIG5lY2Vzc2FyeSBsaWJ4bF9fYW9fZGV2aWNl IHN0cnVjdCB2YWx1ZXMgdG8gdXNlCiAgKiBzYWZlbHkgaW5zaWRlIGZ1bmN0aW9ucy4gSXQgbWFy a3MgdGhlIG9wZXJhdGlvbiBhcyAiYWN0aXZlIgogICogc2luY2Ugd2UgbmVlZCB0byBiZSBzdXJl IHRoYXQgYWxsIGRldmljZSBzdGF0dXMgc3RydWN0cyBhcmUgc2V0CkBAIC0yNzQ5LDExICsyNzY0 LDExIEBAIHN0cnVjdCBsaWJ4bF9fbXVsdGlkZXYgewogICogZGV2aWNlIGluZm9ybWF0aW9uLCBp biBKU09OIGZpbGVzLCBzbyB0aGF0IHdlIGNhbiB1c2UgdGhpcyBKU09OCiAgKiBmaWxlIGFzIGEg dGVtcGxhdGUgdG8gcmVjb25zdHJ1Y3QgZG9tYWluIGNvbmZpZ3VyYXRpb24uCiAgKgotICogSW4g ZXNzZW5zZSB0aGVyZSBhcmUgbm93IHR3byB2aWV3cyBvZiBkZXZpY2Ugc3RhdGUsIG9uZSBpcyB4 ZW5zdG9yZSwKLSAqIHRoZSBvdGhlciBpcyBKU09OIGZpbGUuIFdlIHVzZSB4ZW5zdG9yZSBhcyBw cmltYXJ5IHJlZmVyZW5jZS4KKyAqIEluIGVzc2Vuc2UgdGhlcmUgYXJlIG5vdyB0d28gdmlld3Mg b2YgZGV2aWNlIHN0YXRlLCBvbmUgaXMgdGhlCisgKiBwcmltYXJ5IGNvbmZpZyAoeGVuc3RvcmUg b3IgUUVNVSksIHRoZSBvdGhlciBpcyBKU09OIGZpbGUuCiAgKgotICogSGVyZSB3ZSBtYWludGFp biBvbmUgaW52YXJpYW50OiBldmVyeSBkZXZpY2UgaW4geGVuc3RvcmUgbXVzdCBoYXZlCi0gKiBh biBlbnRyeSBpbiBKU09OIGZpbGUuCisgKiBIZXJlIHdlIG1haW50YWluIG9uZSBpbnZhcmlhbnQ6 IGV2ZXJ5IGRldmljZSBpbiB0aGUgcHJpbWFyeSBjb25maWcKKyAqIG11c3QgaGF2ZSBhbiBlbnRy eSBpbiBKU09OIGZpbGUuCiAgKgogICogQWxsIGRldmljZSBob3RwbHVnIHJvdXRpbmVzIHNob3Vs ZCBjb21wbHkgdG8gZm9sbG93aW5nIHBhdHRlcm46CiAgKiAgIGxvY2sganNvbiBjb25maWcgKGpz b25fbG9jaykKQEAgLTI3NjgsNiArMjc4MywyMiBAQCBzdHJ1Y3QgbGlieGxfX211bHRpZGV2IHsK ICAqICAgICAgIGVuZCBmb3IgbG9vcAogICogICB1bmxvY2sganNvbiBjb25maWcKICAqCisgKiBP ciBpbiBjYXNlIFFFTVUgaXMgdGhlIHByaW1hcnkgY29uZmlnLCB0aGlzIHBhdHRlcm4gY2FuIGJl IHVzZToKKyAqICAgbG9jayBxbXAgKHFtcF9sb2NrKQorICogICAgICBsb2NrIGpzb24gY29uZmln IChqc29uX2xvY2spCisgKiAgICAgICAgICByZWFkIGpzb24gY29uZmlnCisgKiAgICAgICAgICB1 cGRhdGUgaW4tbWVtb3J5IGpzb24gY29uZmlnIHdpdGggbmV3IGVudHJ5LCByZXBsYWNpbmcKKyAq ICAgICAgICAgICAgIGFueSBzdGFsZSBlbnRyeQorICogICAgICB1bmxvY2sganNvbiBjb25maWcK KyAqICAgICAgYXBwbHkgbmV3IGNvbmZpZyB0byBwcmltYXJ5IGNvbmZpZworICogICAgICBsb2Nr IGpzb24gY29uZmlnIChqc29uX2xvY2spCisgKiAgICAgICAgICByZWFkIGpzb24gY29uZmlnCisg KiAgICAgICAgICB1cGRhdGUgaW4tbWVtb3J5IGpzb24gY29uZmlnIHdpdGggbmV3IGVudHJ5LCBy ZXBsYWNpbmcKKyAqICAgICAgICAgICAgIGFueSBzdGFsZSBlbnRyeQorICogICAgICAgICAgd3Jp dGUgaW4tbWVtb3J5IGpzb24gY29uZmlnIHRvIGRpc2sKKyAqICAgICAgdW5sb2NrIGpzb24gY29u ZmlnCisgKiAgIHVubG9jayBxbXAKKyAqCiAgKiBEZXZpY2UgcmVtb3ZhbCByb3V0aW5lcyBhcmUg bm90IHRvdWNoZWQuCiAgKgogICogSGVyZSBpcyB0aGUgcHJvb2YgdGhhdCB3ZSBhbHdheXMgbWFp bnRhaW4gdGhhdCBpbnZhcmlhbnQgYW5kIHdlCi0tIApBbnRob255IFBFUkFSRAoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=