Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp12072pxk; Tue, 15 Sep 2020 18:30:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxfymArO+7eIxVNuP2LXXVE6b3nnhzo9aQ+Rg7jybmWo6FKClqlyECC7rP6UHRusPayeIEc X-Received: by 2002:a17:906:a101:: with SMTP id t1mr22459516ejy.203.1600219857689; Tue, 15 Sep 2020 18:30:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600219857; cv=none; d=google.com; s=arc-20160816; b=QDe7sC87BYskslPqVehZEaPJ1TNqpoibaWcrAAs3bpVgKyqKRni8OzL7+PxYmjvukX ooMQLr1mDzuAnelyfpJuye05WmKbl5V2ZdOCWuRkD8P8zfKoZzAeFA83jawYUu9j1RFZ UTONJnXRalAWbjGZm6+hnNgGQHbNYUjBuOCNMHIjUsj5xHcwdrkko8fbhEdKTQrtRQS6 TqO9WYuyUSfvs/qRRYczCKRSBLQ12z3KW0Hf3X0r1bq0l7iv0gFRdIXFZ9nGbLMy3YJx H2gyijPS4GcR5MMnWZkvhe36Cf9tUtDg0t3x2Q0Ly49Mv+cKB+xroa+NUV/ysaUCTtsY 2IZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:in-reply-to :references:mime-version:subject:message-id:reply-to:cc:to:from:date; bh=dD5CXpdPgqGwPhqebNd3lKqN4kk1Ely6i6Am8Gy58vQ=; b=aBQYQQuCez8WmnUkITKTIg9feiluFtYYQyWD0Osvdn18nH5qH7/4v3Jq33de27LssW PfcXjTmulLn0rvvdI57VfRDqgyJlBwxKSdnCIsDPNhE1P0XwVSZpgoVIsNztJyyP9Y2p JEmTyK2w4npuQr/Vo+95EteBmtl9NDtjCue+L+iK3thGAwYopCuGM/NbaMEefC3rq4l5 2alNItlYbwuDn3XQUElC8sXblQn5yw8PCitQlZoroqBZEPo3SI/hQnmY9jHe6rI3oFd+ DqVlNmbZBpZL4IobKC6skHxJCT7JbUtSbc1Ri2uIjodz4D8gP+qb88KoeAxG1VHq8al+ PPew== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f4si10714278ejt.278.2020.09.15.18.30.34; Tue, 15 Sep 2020 18:30:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726235AbgIPB1q (ORCPT + 99 others); Tue, 15 Sep 2020 21:27:46 -0400 Received: from smtp2207-205.mail.aliyun.com ([121.197.207.205]:44225 "EHLO smtp2207-205.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726023AbgIPB1q (ORCPT ); Tue, 15 Sep 2020 21:27:46 -0400 X-Alimail-AntiSpam: AC=CONTINUE;BC=0.07386801|-1;CH=green;DM=|CONTINUE|false|;DS=CONTINUE|ham_system_inform|0.0709241-0.000172201-0.928904;FP=11851636359211976435|3|2|12|0|-1|-1|-1;HT=e02c03307;MF=liush@allwinnertech.com;NM=1;PH=DW;RN=14;RT=14;SR=0;TI=W4_5948689_DEFAULT_0AC264F1_1600219605038_o7001c9512; Received: from WS-web (liush@allwinnertech.com[W4_5948689_DEFAULT_0AC264F1_1600219605038_o7001c9512]) by ay29a011140100200.et135 at Wed, 16 Sep 2020 09:27:40 +0800 Date: Wed, 16 Sep 2020 09:27:40 +0800 From: "liush" To: "Palmer Dabbelt" Cc: "Paul Walmsley" , "aou" , "rjw" , "daniel.lezcano" , "Anup Patel" , "Atish Patra" , "Damien Le Moal" , "wangkefeng.wang" , "kernel" , "zong.li" , "linux-riscv" , "linux-kernel" , "linux-pm" Reply-To: "liush" Message-ID: Subject: =?UTF-8?B?5Zue5aSN77yaW1BBVENIXSBjcHVpZGxlOiBhZGQgcmlzY3YgY3B1aWRsZSBkcml2ZXI=?= X-Mailer: [Alimail-Mailagent][W4_5948689][DEFAULT][Chrome] MIME-Version: 1.0 References: <1600048323-2964-1-git-send-email-liush@allwinnertech.com>, In-Reply-To: x-aliyun-mail-creator: W4_5948689_DEFAULT_MzYTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgNi4xOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvODUuMC40MTgzLjEwMiBTYWZhcmkvNTM3LjM2zc Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgUGFsbWVyLAoKPiA+IFRoaXMgcGF0Y2ggYWRkcyBhIGNwdWlkbGUgZHJpdmVyIGZvciBzeXN0 ZW1zIGJhc2VkIFJJU0NWIGFyY2hpdGVjdHVyZS4KPiA+IFRoaXMgcGF0Y2ggc3VwcG9ydHMgc3Rh dGUgV0ZJLiBPdGhlciBzdGF0ZXMgd2lsbCBiZSBzdXBwb3J0ZWQgaW4gdGhlCj4gPiBmdXR1cmUu Cj4gPgo+ID4gU2lnbmVkLW9mZi1ieTogbGl1c2ggPGxpdXNoQGFsbHdpbm5lcnRlY2guY29tPgo+ ID4gLS0tCj4gPiAgYXJjaC9yaXNjdi9LY29uZmlnICAgICAgICAgICAgICAgfCAgNyArKysrKwo+ ID4gIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20vY3B1aWRsZS5oIHwgIDcgKysrKysKPiA+ICBhcmNo L3Jpc2N2L2tlcm5lbC9NYWtlZmlsZSAgICAgICB8ICAxICsKPiA+ICBhcmNoL3Jpc2N2L2tlcm5l bC9jcHVpZGxlLmMgICAgICB8ICA4ICsrKysrKwo+ID4gIGRyaXZlcnMvY3B1aWRsZS9LY29uZmln ICAgICAgICAgIHwgIDUgKysrKwo+ID4gIGRyaXZlcnMvY3B1aWRsZS9LY29uZmlnLnJpc2N2ICAg IHwgMTEgKysrKysrKysKPiA+ICBkcml2ZXJzL2NwdWlkbGUvTWFrZWZpbGUgICAgICAgICB8ICA0 ICsrKwo+ID4gIGRyaXZlcnMvY3B1aWRsZS9jcHVpZGxlLXJpc2N2LmMgIHwgNTUgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gIDggZmlsZXMgY2hhbmdlZCwgOTgg aW5zZXJ0aW9ucygrKQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL3Jpc2N2L2luY2x1ZGUv YXNtL2NwdWlkbGUuaAo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL3Jpc2N2L2tlcm5lbC9j cHVpZGxlLmMKPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jcHVpZGxlL0tjb25maWcu cmlzY3YKPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jcHVpZGxlL2NwdWlkbGUtcmlz Y3YuYwo+ID4KPiA+IGRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L0tjb25maWcgYi9hcmNoL3Jpc2N2 L0tjb25maWcKPiA+IGluZGV4IGRmMTgzNzIuLmM3ZGRiOWQgMTAwNjQ0Cj4gPiAtLS0gYS9hcmNo L3Jpc2N2L0tjb25maWcKPiA+ICsrKyBiL2FyY2gvcmlzY3YvS2NvbmZpZwo+ID4gQEAgLTg2LDYg Kzg2LDcgQEAgY29uZmlnIFJJU0NWCj4gPiAgIHNlbGVjdCBTUEFSU0VfSVJRCj4gPiAgIHNlbGVj dCBTWVNDVExfRVhDRVBUSU9OX1RSQUNFCj4gPiAgIHNlbGVjdCBUSFJFQURfSU5GT19JTl9UQVNL Cj4gPiArIHNlbGVjdCBDUFVfSURMRQo+ID4KPiA+ICBjb25maWcgQVJDSF9NTUFQX1JORF9CSVRT X01JTgo+ID4gICBkZWZhdWx0IDE4IGlmIDY0QklUCj4gPiBAQCAtNDA3LDYgKzQwOCwxMiBAQCBj b25maWcgQlVJTFRJTl9EVEIKPiA+ICAgZGVwZW5kcyBvbiBSSVNDVl9NX01PREUKPiA+ICAgZGVw ZW5kcyBvbiBPRgo+ID4KPiA+ICttZW51ICJDUFUgUG93ZXIgTWFuYWdlbWVudCIKPiA+ICsKPiA+ ICtzb3VyY2UgImRyaXZlcnMvY3B1aWRsZS9LY29uZmlnIgo+ID4gKwo+ID4gK2VuZG1lbnUKPiA+ ICsKPiA+ICBtZW51ICJQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMiCj4gPgo+ID4gIHNvdXJjZSAi a2VybmVsL3Bvd2VyL0tjb25maWciCj4gPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9pbmNsdWRl L2FzbS9jcHVpZGxlLmggYi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2NwdWlkbGUuaAo+ID4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDAwMDAwMDAwLi4yNTk5ZDJmCj4gPiAtLS0gL2Rl di9udWxsCj4gPiArKysgYi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2NwdWlkbGUuaAo+ID4gQEAg LTAsMCArMSw3IEBACj4gPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi8K PiA+ICsjaWZuZGVmIF9fUklTQ1ZfQ1BVSURMRV9ICj4gPiArI2RlZmluZSBfX1JJU0NWX0NQVUlE TEVfSAo+ID4gKwo+ICtleHRlcm4gdm9pZCBjcHVfZG9faWRsZSh2b2lkKTsKPiA+ICsKPiA+ICsj ZW5kaWYKPiA+IGRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2tlcm5lbC9NYWtlZmlsZSBiL2FyY2gv cmlzY3Yva2VybmVsL01ha2VmaWxlCj4gPiBpbmRleCBkYzkzNzEwLi4zOTZiYTljIDEwMDY0NAo+ ID4gLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvTWFrZWZpbGUKPiA+ICsrKyBiL2FyY2gvcmlzY3Yv a2VybmVsL01ha2VmaWxlCj4gPiBAQCAtMjksNiArMjksNyBAQCBvYmoteSArPSByaXNjdl9rc3lt cy5vCj4gPiAgb2JqLXkgKz0gc3RhY2t0cmFjZS5vCj4gPiAgb2JqLXkgKz0gY2FjaGVpbmZvLm8K PiA+ICBvYmoteSArPSBwYXRjaC5vCj4gPiArb2JqLXkgKz0gY3B1aWRsZS5vCgo+IFByZXN1bWFi bHkgd2Ugd2FudCB0aGlzIHRvIGJlIGEgS2NvbmZpZyBvcHRpb24sIGlmIG9ubHkgdG8gYXZvaWQg ZXhjZXNzIHNpemUgb24KPiB0aGUgc21hbGxlciBzeXN0ZW1zPwoKVGhhbmsgeW91IGZvciB5b3Vy IHN1Z2dlc3Rpb25zLgpJIGFtIGNvbnNpZGVyaW5nIGZvbGxvd2luZyBBbnVwJ3Mgc3VnZ2VzdGlv biAtIGRlbGV0ZSBjcHVpZGxlLmMgYW5kIGltcGxlbWVudCAKY3B1X2RvX2lkbGUgaW4gY3B1aWRs ZS5oLgoKPiA+ICBvYmotJChDT05GSUdfTU1VKSArPSB2ZHNvLm8gdmRzby8KPiA+Cj4gPiAgb2Jq LSQoQ09ORklHX1JJU0NWX01fTU9ERSkgKz0gdHJhcHNfbWlzYWxpZ25lZC5vCj4gPiBkaWZmIC0t Z2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvY3B1aWRsZS5jIGIvYXJjaC9yaXNjdi9rZXJuZWwvY3B1 aWRsZS5jCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4gaW5kZXggMDAwMDAwMDAuLmEzMjg5 ZTcKPiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL2FyY2gvcmlzY3Yva2VybmVsL2NwdWlkbGUu Ywo+ID4gQEAgLTAsMCArMSw4IEBACj4gPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAKPiA+ICsjaW5jbHVkZSA8YXNtL2NwdWlkbGUuaD4KPiA+ICsKPiA+ICt2b2lkIGNwdV9k b19pZGxlKHZvaWQpCj4gPiArewo+ID4gKyBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoIndmaSIpOwo+ ID4gKwoKPiBXZSBoYXZlIHdhaXRfZm9yX2ludGVycnVwdCgpIHRoYXQgZG9lcyB0aGlzIGFscmVh ZHksIGJ1dCBpdCdzIG9uZSBsaW5lIHNvIGl0Cj4gZG9lc24ndCByZWFsbHkgbWF0dGVyLiAgRWl0 aGVyIHdheSwgdGhlcmUncyBhbiBleHRyYSBuZXdsaW5lIGhlcmUuCgpUaGFua3MsIGknbGwgbW9k aWZ5IGl0Cgo+IEFkZGl0aW9uYWxseSwgd2UgaGF2ZSBhcmNoX2NwdV9pZGxlKCkgd2hpY2ggaXMg Y2FsbGluZyBjcHVfZG9faWRsZSgpIG9uIG90aGVyCj4gcGxhdGZvcm1zLiAgUHJlc3VtYWJseSB3 ZSBzaG91bGQgYmUgZG9pbmcgc29tZXRoaW5nIHNpbWlsYXIsIHVuZGVyIHRoZQo+IGFzc3VtcHRp b24gdGhhdCB3ZSB3aWxsIGV2ZW50dWFsbHkgaGF2ZSBjcHVfZG9faWRsZSgpIGhvb2sgaW50byBD UFUgaWRsZQo+IGRyaXZlcnMgaGVyZT8KCkJhc2VkIG9uIHlvdXIgY29tbWVudHMsIEkgcnVuIGEg dGVzdCBhbmQgZm91bmQgdGhhdCBhcmNoX2NwdV9pZGxlIGNvdWxkIGJlIGV4ZWN1dGVkIApub3Jt YWxseSB3aXRob3V0IGVuYWJsaW5nIHRoZSBpZGxlIGRyaXZlci5QYXJ0IG9mIHRoZSBjb2RlIG9m IHRoZSBleHBlcmltZW50OgogCitzdGF0aWMgaW5saW5lIHZvaWQgY3B1X2RvX2lkbGUodm9pZCkK K3sKKyAgICAgICBtYigpOworICAgICAgIHdhaXRfZm9yX2ludGVycnVwdCgpOworfQogCiB2b2lk IGFyY2hfY3B1X2lkbGUodm9pZCkKIHsKLSAgICAgICB3YWl0X2Zvcl9pbnRlcnJ1cHQoKTsKKyAg ICAgICBjcHVfZG9faWRsZSgpOwogICAgICAgIGxvY2FsX2lycV9lbmFibGUoKTsKIH0gCiAKPiA+ ICt9Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcHVpZGxlL0tjb25maWcgYi9kcml2ZXJzL2Nw dWlkbGUvS2NvbmZpZwo+ID4gaW5kZXggYzBhZWVkZC4uZjZiZTBmZCAxMDA2NDQKPiA+IC0tLSBh L2RyaXZlcnMvY3B1aWRsZS9LY29uZmlnCj4gPiArKysgYi9kcml2ZXJzL2NwdWlkbGUvS2NvbmZp Zwo+ID4gQEAgLTYyLDYgKzYyLDExIEBAIGRlcGVuZHMgb24gUFBDCj4gPiAgc291cmNlICJkcml2 ZXJzL2NwdWlkbGUvS2NvbmZpZy5wb3dlcnBjIgo+ID4gIGVuZG1lbnUKPiA+Cj4gPiArbWVudSAi UklTQ1YgQ1BVIElkbGUgRHJpdmVycyIKPiA+ICtkZXBlbmRzIG9uIFJJU0NWCj4gPiArc291cmNl ICJkcml2ZXJzL2NwdWlkbGUvS2NvbmZpZy5yaXNjdiIKPiA+ICtlbmRtZW51Cj4gPiArCj4gPiAg Y29uZmlnIEhBTFRQT0xMX0NQVUlETEUKPiA+ICAgdHJpc3RhdGUgIkhhbHQgcG9sbCBjcHVpZGxl IGRyaXZlciIKPiA+ICAgZGVwZW5kcyBvbiBYODYgJiYgS1ZNX0dVRVNUCj4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9jcHVpZGxlL0tjb25maWcucmlzY3YgYi9kcml2ZXJzL2NwdWlkbGUvS2NvbmZp Zy5yaXNjdgo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDAwMDAwMDAwLi5lODZk MzZiCj4gPiAtLS0gL2Rldi9udWxsCj4gPiArKysgYi9kcml2ZXJzL2NwdWlkbGUvS2NvbmZpZy5y aXNjdgo+ID4gQEAgLTAsMCArMSwxMSBAQAo+ID4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAtb25seQo+ID4gKyMKPiA+ICsjIFJJU0NWIENQVSBJZGxlIGRyaXZlcnMKPiA+ICsj Cj4gPiArY29uZmlnIFJJU0NWX0NQVUlETEUKPiA+ICsgICAgICAgIGJvb2wgIkdlbmVyaWMgUklT Q1YgQ1BVIGlkbGUgRHJpdmVyIgo+ID4gKyAgICAgICAgc2VsZWN0IERUX0lETEVfU1RBVEVTCj4g PiArIHNlbGVjdCBDUFVfSURMRV9NVUxUSVBMRV9EUklWRVJTCgo+IExvb2tzIGxpa2UgdGhlcmUn cyBzb21lIHNwYWNlL3RhYiBpc3N1ZXMgaGVyZS4gIElJUkMgY2hlY2twYXRjaCB3aWxsIGNhdGNo IHRoaXMKPiBzb3J0IG9mIHRoaW5nLgoKeWVzLCBpJ2xsIG1vZGlmeSBpdAoKPiA+ICsgICAgICAg IGhlbHAKPiA+ICsgICAgICAgICAgU2VsZWN0IHRoaXMgb3B0aW9uIHRvIGVuYWJsZSBnZW5lcmlj IGNwdWlkbGUgZHJpdmVyIGZvciBSSVNDVi4KPiA+ICsgICBOb3cgb25seSBzdXBwb3J0IEMwIFN0 YXRlLgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3B1aWRsZS9NYWtlZmlsZSBiL2RyaXZlcnMv Y3B1aWRsZS9NYWtlZmlsZQo+ID4gaW5kZXggMjZiYmM1ZS4uNGM4M2M0ZSAxMDA2NDQKPiA+IC0t LSBhL2RyaXZlcnMvY3B1aWRsZS9NYWtlZmlsZQo+ID4gKysrIGIvZHJpdmVycy9jcHVpZGxlL01h a2VmaWxlCj4gPiBAQCAtMzQsMyArMzQsNyBAQCBvYmotJChDT05GSUdfTUlQU19DUFNfQ1BVSURM RSkgICs9IGNwdWlkbGUtY3BzLm8KPiA+ICAjIFBPV0VSUEMgZHJpdmVycwo+ID4gIG9iai0kKENP TkZJR19QU0VSSUVTX0NQVUlETEUpICArPSBjcHVpZGxlLXBzZXJpZXMubwo+ID4gIG9iai0kKENP TkZJR19QT1dFUk5WX0NQVUlETEUpICArPSBjcHVpZGxlLXBvd2VybnYubwo+ID4gKwo+ID4gKyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKPiA+ICsjIFJJU0NWIGRyaXZlcnMKPiA+ICtvYmotJChDT05G SUdfUklTQ1ZfQ1BVSURMRSkgICs9IGNwdWlkbGUtcmlzY3Yubwo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvY3B1aWRsZS9jcHVpZGxlLXJpc2N2LmMgYi9kcml2ZXJzL2NwdWlkbGUvY3B1aWRsZS1y aXNjdi5jCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4gaW5kZXggMDAwMDAwMDAuLjVkZGRj ZmEKPiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL2RyaXZlcnMvY3B1aWRsZS9jcHVpZGxlLXJp c2N2LmMKPiA+IEBAIC0wLDAgKzEsNTUgQEAKPiA+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMAo+ID4gKy8qCj4gPiArICogUklTQy1WIENQVSBpZGxlIGRyaXZlci4KPiA+ICsg Kgo+ID4gKyAqIENvcHlyaWdodCAoQykgMjAyMC0yMDIyIEFsbHdpbm5lciBMdGQKPiA+ICsgKgo+ ID4gKyAqIEJhc2VkIG9uIGNvZGUgLSBkcml2ZXIvY3B1aWRsZS9jcHVpZGxlLWF0OTEuYwo+ID4g KyAqCj4gPiArICovCj4gPiArI2luY2x1ZGUgPGxpbnV4L2NwdWlkbGUuaD4KPiA+ICsjaW5jbHVk ZSA8bGludXgvY3B1bWFzay5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9jcHVfcG0uaD4KPiA+ICsj aW5jbHVkZSA8bGludXgva2VybmVsLmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+ ID4gKyNpbmNsdWRlIDxsaW51eC9vZi5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Cj4g PiArI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgo+ID4gKyNpbmNsdWRlIDxhc20v Y3B1aWRsZS5oPgo+ID4gKwo+ID4gKyNkZWZpbmUgTUFYX0lETEVfU1RBVEVTIDEKPiA+ICsKPiA+ ICsvKiBUT0RPOiBJbXBsZW1lbnQgZGVlcGVyIGlkbGUgc3RhdGVzICovCj4gPiArc3RhdGljIGlu dCByaXNjdl9sb3dfbGV2ZWxfc3VzcGVuZF9lbnRlcihpbnQgc3RhdGUpCj4gPiArewo+ID4gKyBy ZXR1cm4gMDsKCj4gQXMgZmFyIGFzIEkgY2FuIHRlbGwsIHRoaXMgZHJpdmVyIGp1c3QgZG9lc24n dCBkbyBhbnl0aGluZz8gIEFzc3VtaW5nIHRoYXQncwo+IHRoZSBjYXNlLCBpdCdzIHByb2JhYmx5 IGJlc3QgdG8ganVzdCBkcm9wIGV2ZXJ5dGhpbmcgYnV0IGNwdV9kb19pZGxlKCkgdW50aWwgd2UK PiBoYXZlIHNvbWV0aGluZyB0byBleGVyY2lzZSB0aGlzLgoKQWx0aG91Z2gsIHRoZSBkcml2ZXIg aW4gdGhpcyBjYXNlIGlzIG5vdCBuZWNlc3NhcnksIGl0IGlzIGVzc2VudGlhbCB3aGVuIHdvcmsg CmluIHRoZSBtYWNybyBDUFVfUE1fQ1BVX0lETEVfRU5URVJfUEFSQU0uQW5kIGl0IGNvdWxkIGFs c28gYmUgdXNlZCBmb3Igc3VwcG9ydGluZyAKb3RoZXIgZGVlcGVyIHN0YXRlcyBpbiB0aGUgZnV0 dXJlLiBTbyBJIHRoaW5rIGl0IHdvdWxkIGJlIGJldHRlciB0byBrZWVwIApyaXNjdl9sb3dfbGV2 ZWxfc3VzcGVuZF9lbnRlciBidXQgY2hhbmdlIGl0IHRvIF9fd2VhayBmdW5jdGlvbi4KCj4gPiAr fQo+ID4gKwo+ID4gKy8qIEFjdHVhbCBjb2RlIHRoYXQgcHV0cyB0aGUgU29DIGluIGRpZmZlcmVu dCBpZGxlIHN0YXRlcyAqLwo+ID4gK3N0YXRpYyBpbnQgcmlzY3ZfZW50ZXJfaWRsZShzdHJ1Y3Qg Y3B1aWRsZV9kZXZpY2UgKmRldiwKPiA+ICsgICBzdHJ1Y3QgY3B1aWRsZV9kcml2ZXIgKmRydiwK PiA+ICsgICAgICAgICAgaW50IGluZGV4KQo+ID4gK3sKPiA+ICsgcmV0dXJuIENQVV9QTV9DUFVf SURMRV9FTlRFUl9QQVJBTShyaXNjdl9sb3dfbGV2ZWxfc3VzcGVuZF9lbnRlciwKPiA+ICsgICAg ICAgIGluZGV4LCAwKTsKPiA+ICt9Cj4gPiArCj4gPiArc3RhdGljIHN0cnVjdCBjcHVpZGxlX2Ry aXZlciByaXNjdl9pZGxlX2RyaXZlciA9IHsKPiA+ICsgLm5hbWUgICA9ICJyaXNjdl9pZGxlIiwK PiA+ICsgLm93bmVyICAgPSBUSElTX01PRFVMRSwKPiA+ICsgLnN0YXRlc1swXSAgPSB7Cj4gPiAr ICAuZW50ZXIgICA9IHJpc2N2X2VudGVyX2lkbGUsCj4gPiArICAuZXhpdF9sYXRlbmN5ICA9IDEs Cj4gPiArICAudGFyZ2V0X3Jlc2lkZW5jeSA9IDEsCj4gPiArICAubmFtZSAgID0gIldGSSIsCj4g PiArICAuZGVzYyAgID0gIlJJU0NWIFdGSSIsCj4gPiArIH0sCj4gPiArIC5zdGF0ZV9jb3VudCA9 IE1BWF9JRExFX1NUQVRFUywKPiA+ICt9Owo+ID4gKwo+ID4gK3N0YXRpYyBpbnQgX19pbml0IHJp c2N2X2NwdWlkbGVfaW5pdCh2b2lkKQo+ID4gK3sKPiA+ICsgcmV0dXJuIGNwdWlkbGVfcmVnaXN0 ZXIoJnJpc2N2X2lkbGVfZHJpdmVyLCBOVUxMKTsKPiA+ICt9Cj4gPiArCj4gPiArZGV2aWNlX2lu aXRjYWxsKHJpc2N2X2NwdWlkbGVfaW5pdCk7CgpSZWdhcmRzLApsaXVzaA==