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=-5.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=no 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 38618C47094 for ; Thu, 10 Jun 2021 08:02:17 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 CB84F613D0 for ; Thu, 10 Jun 2021 08:02:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CB84F613D0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=wanyeetech.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=UdaBJgxH7zcn6aV3/CIFnTK2OYIhx7jJxPcEfTTJK5M=; b=xqgSRmCuHLRrURg4v5KtKVdcdL dpgtrYJsHycOX/RYY/3vyNdGLo0XrNrb9944lQkVkEg+rBcCZjDTWMVkGakAmRZ44TFDW5IGcrpX4 fGTvZXbzTj7ZhnVHzkqu+n7BiG3AUF3DEyeHMANl3/anuR1aeZGp+0HJSBQ2vNWx+4vU4JKfz5Ewp X1SM+uEpwm7lnJYQvjvau6ULzZI4Ilcu0fqWQma52AFnIouC4wk5aP/9s5to5mTT7bmUUmwv0OqBq 6CySKq9w9ZwCMqmms8ARCOPl8eVwYlXw8z7Vu/KYqA2jmrURzcvmnFLvZQXcpqi3vOqKuG/RzvbPh Fy6We7dA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lrFc9-00HMLf-Te; Thu, 10 Jun 2021 08:00:34 +0000 Received: from out28-148.mail.aliyun.com ([115.124.28.148]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lrFc4-00HMJI-1G for linux-arm-kernel@lists.infradead.org; Thu, 10 Jun 2021 08:00:31 +0000 X-Alimail-AntiSpam: AC=CONTINUE; BC=0.07436536|-1; CH=green; DM=|CONTINUE|false|; DS=||; FP=0|0|0|0|0|-1|-1|-1; HT=ay29a033018047206; MF=zhouyanjie@wanyeetech.com; NM=1; PH=DS; RN=21; RT=21; SR=0; TI=SMTPD_---.KQMISdx_1623312022; Received: from 192.168.88.129(mailfrom:zhouyanjie@wanyeetech.com fp:SMTPD_---.KQMISdx_1623312022) by smtp.aliyun-inc.com(10.147.41.120); Thu, 10 Jun 2021 16:00:23 +0800 Subject: Re: [PATCH v2 2/2] net: stmmac: Add Ingenic SoCs MAC support. To: Andrew Lunn Cc: davem@davemloft.net, kuba@kernel.org, robh+dt@kernel.org, peppe.cavallaro@st.com, alexandre.torgue@foss.st.com, joabreu@synopsys.com, mcoquelin.stm32@gmail.com, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, dongsheng.qiu@ingenic.com, aric.pzqi@ingenic.com, rick.tyliu@ingenic.com, sihui.liu@ingenic.com, jun.jiang@ingenic.com, sernia.zhou@foxmail.com, paul@crapouillou.net References: <1623260110-25842-1-git-send-email-zhouyanjie@wanyeetech.com> <1623260110-25842-3-git-send-email-zhouyanjie@wanyeetech.com> From: Zhou Yanjie Message-ID: <405696cb-5987-0e56-87f8-5a1443eadc19@wanyeetech.com> Date: Thu, 10 Jun 2021 16:00:00 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210610_010028_271793_4E5B851E X-CRM114-Status: GOOD ( 36.28 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgQW5kcmV3LAoKT24gMjAyMS82LzEwIOS4iuWNiDExOjE5LCBBbmRyZXcgTHVubiB3cm90ZToK Pj4gK3N0YXRpYyBpbnQgano0Nzc1X21hY19zZXRfbW9kZShzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0 X2RhdGEgKnBsYXRfZGF0KQo+PiArewo+PiArCXN0cnVjdCBpbmdlbmljX21hYyAqbWFjID0gcGxh dF9kYXQtPmJzcF9wcml2Owo+PiArCXVuc2lnbmVkIGludCB2YWw7Cj4KPj4gKwljYXNlIFBIWV9J TlRFUkZBQ0VfTU9ERV9SR01JSToKPj4gKwljYXNlIFBIWV9JTlRFUkZBQ0VfTU9ERV9SR01JSV9J RDoKPj4gKwljYXNlIFBIWV9JTlRFUkZBQ0VfTU9ERV9SR01JSV9SWElEOgo+PiArCWNhc2UgUEhZ X0lOVEVSRkFDRV9NT0RFX1JHTUlJX1RYSUQ6Cj4+ICsJCXZhbCA9IEZJRUxEX1BSRVAoTUFDUEhZ Q19UWENMS19TRUxfTUFTSywgTUFDUEhZQ19UWENMS19TRUxfSU5QVVQpIHwKPj4gKwkJCSAgRklF TERfUFJFUChNQUNQSFlDX1BIWV9JTkZUX01BU0ssIE1BQ1BIWUNfUEhZX0lORlRfUkdNSUkpOwo+ PiArCQlkZXZfZGJnKG1hYy0+ZGV2LCAiTUFDIFBIWSBDb250cm9sIFJlZ2lzdGVyOiBQSFlfSU5U RVJGQUNFX01PREVfUkdNSUlcbiIpOwo+PiArCQlicmVhazsKPiBTbyB0aGlzIGRvZXMgd2hhdCBE VCB3cml0ZXMgZXhwZWN0LiBUaGV5IHB1dCAncmdtaWktaWQnIGFzIHBoeQo+IG1vZGUuIFRoZSBN QUMgZG9lcyBub3QgYWRkIGEgZGVsYXkuIFBIWV9JTlRFUkZBQ0VfTU9ERV9SR01JSV9JRCBpcwo+ IHBhc3NlZCB0byB0aGUgUEhZIGFuZCBpdCBhZGRzIHRoZSBkZWxheS4gQW5kIGZyYW1lcyBmbG93 IHRvL2Zyb20gdGhlCj4gUEhZIGFuZCB1c2VycyBhcmUgaGFwcHkuIFRoZSBtYWpvcml0eSBvZiBN QUMgZHJpdmVycyBhcmUgbGlrZSB0aGlzLgoKCkdvdCBpdCwgdGhhbmtzIQoKCj4KPj4gK3N0YXRp YyBpbnQgeDIwMDBfbWFjX3NldF9tb2RlKHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxh dF9kYXQpCj4+ICt7Cj4+ICsJc3RydWN0IGluZ2VuaWNfbWFjICptYWMgPSBwbGF0X2RhdC0+YnNw X3ByaXY7Cj4+ICsJdW5zaWduZWQgaW50IHZhbDsKPiBIZXJlIHdlIGhhdmUgYSBjb21wbGV0ZSBk aWZmZXJlbnQgc3RvcnkuCj4KPgo+PiArCWNhc2UgUEhZX0lOVEVSRkFDRV9NT0RFX1JHTUlJOgo+ PiArCQl2YWwgPSBGSUVMRF9QUkVQKE1BQ1BIWUNfUEhZX0lORlRfTUFTSywgTUFDUEhZQ19QSFlf SU5GVF9SR01JSSk7Cj4+ICsKPj4gKwkJaWYgKG1hYy0+dHhfZGVsYXkgPT0gMCkgewo+PiArCQkJ dmFsIHw9IEZJRUxEX1BSRVAoTUFDUEhZQ19UWF9TRUxfTUFTSywgTUFDUEhZQ19UWF9TRUxfT1JJ R0lOKTsKPj4gKwkJfSBlbHNlIHsKPj4gKwkJCXZhbCB8PSBGSUVMRF9QUkVQKE1BQ1BIWUNfVFhf U0VMX01BU0ssIE1BQ1BIWUNfVFhfU0VMX0RFTEFZKTsKPj4gKwo+PiArCQkJaWYgKG1hYy0+dHhf ZGVsYXkgPiBNQUNQSFlDX1RYX0RFTEFZX01BWCkKPj4gKwkJCQl2YWwgfD0gRklFTERfUFJFUChN QUNQSFlDX1RYX0RFTEFZX01BU0ssIE1BQ1BIWUNfVFhfREVMQVlfTUFYIC0gMSk7Cj4+ICsJCQll bHNlCj4+ICsJCQkJdmFsIHw9IEZJRUxEX1BSRVAoTUFDUEhZQ19UWF9ERUxBWV9NQVNLLCBtYWMt PnR4X2RlbGF5IC0gMSk7Cj4+ICsJCX0KPiBXaGF0IGFyZSB0aGUgdW5pdHMgb2YgdHhfZGVsYXku IFRoZSBEVCBiaW5kaW5nIHNob3VsZCBiZSBwUywgYW5kIHlvdQo+IG5lZWQgdG8gY29udmVydCBm cm9tIHRoYXQgdG8gd2hhdGV2ZXIgdGhlIGhhcmR3YXJlIGlzIHVzaW5nLgoKClRoZSBtYW51YWwg ZG9lcyBub3QgdGVsbCBob3cgbXVjaCBwcyBhIHVuaXQgaXMuCgpJIGFtIGNvbmZpcm1pbmcgd2l0 aCBJbmdlbmljLCBidXQgdGhlcmUgaXMgbm8gcmVwbHkKCmF0IHRoZSBtb21lbnQuIENhbiB3ZSBm b2xsb3cgUm9ja2NoaXAncyBhcHByb2FjaD8KCkFjY29yZGluZyB0byB0aGUgZGVzY3JpcHRpb24g aW4gInJvY2tjaGlwLWR3bWFjLnlhbWwiCgphbmQgdGhlIHJlbGF0ZWQgY29kZSBpbiAiZHdtYWMt cmsuYyIsIGl0IHNlZW1zIHRoYXQgdGhlaXIKCmRlbGF5IHBhcmFtZXRlciBzZWVtcyB0byBiZSB0 aGUgdmFsdWUgdXNlZCBieSB0aGUgaGFyZHdhcmUKCmRpcmVjdGx5IGluc3RlYWQgb2YgcHMuCgoK PiBJZiBtYWMtPnR4X2RlbGF5IGlzIGdyZWF0ZXIgdGhhbiBNQUNQSFlDX1RYX0RFTEFZX01BWCwg cGxlYXNlIHJldHVybgo+IC1FSU5WQUwgd2hlbiBwYXJzaW5nIHRoZSBiaW5kaW5nLiBXZSB3YW50 IHRoZSBEVCB3cml0ZXIgdG8ga25vdyB0aGV5Cj4gaGF2ZSByZXF1ZXN0ZWQgc29tZXRoaW5nIHRo ZSBoYXJkd2FyZSBjYW5ub3QgZG8uCgoKU3VyZSwgSSdsbCBjaGFuZ2UgaXQgaW4gdGhlIG5leHQg dmVyc2lvbi4KCgo+IFNvIGlmIHRoZSBkZXZpY2UgdHJlZSBjb250YWlucyAncmdtaWknIGZvciBQ SFkgbW9kZSwgeW91IGNhbiB1c2UgdGhpcwo+IGZvciB3aGVuIHlvdSBoYXZlIGxvbmcgY2xvY2sg bGluZXMgb24geW91ciBib2FyZCBhZGRpbmcgdGhlIGRlbGF5LCBhbmQKPiB5b3UganVzdCBuZWVk IHRvIGZpbmUgdHVuZSB0aGUgZGVsYXksIGFkZCBhIGZldyBwUy4gVGhlIFBIWSB3aWxsIGFsc28K PiBub3QgYWRkIGEgZGVsYXksIGR1ZSB0byByZWNlaXZpbmcgUEhZX0lOVEVSRkFDRV9NT0RFX1JH TUlJLgo+Cj4+ICsKPj4gKwkJaWYgKG1hYy0+cnhfZGVsYXkgPT0gMCkgewo+PiArCQkJdmFsIHw9 IEZJRUxEX1BSRVAoTUFDUEhZQ19SWF9TRUxfTUFTSywgTUFDUEhZQ19SWF9TRUxfT1JJR0lOKTsK Pj4gKwkJfSBlbHNlIHsKPj4gKwkJCXZhbCB8PSBGSUVMRF9QUkVQKE1BQ1BIWUNfUlhfU0VMX01B U0ssIE1BQ1BIWUNfUlhfU0VMX0RFTEFZKTsKPj4gKwo+PiArCQkJaWYgKG1hYy0+cnhfZGVsYXkg PiBNQUNQSFlDX1JYX0RFTEFZX01BWCkKPj4gKwkJCQl2YWwgfD0gRklFTERfUFJFUChNQUNQSFlD X1JYX0RFTEFZX01BU0ssIE1BQ1BIWUNfUlhfREVMQVlfTUFYIC0gMSk7Cj4+ICsJCQllbHNlCj4+ ICsJCQkJdmFsIHw9IEZJRUxEX1BSRVAoTUFDUEhZQ19SWF9ERUxBWV9NQVNLLCBtYWMtPnJ4X2Rl bGF5IC0gMSk7Cj4+ICsJCX0KPj4gKwo+PiArCQlkZXZfZGJnKG1hYy0+ZGV2LCAiTUFDIFBIWSBD b250cm9sIFJlZ2lzdGVyOiBQSFlfSU5URVJGQUNFX01PREVfUkdNSUlcbiIpOwo+PiArCQlicmVh azsKPj4gKwo+PiArCWNhc2UgUEhZX0lOVEVSRkFDRV9NT0RFX1JHTUlJX0lEOgo+PiArCQl2YWwg PSBGSUVMRF9QUkVQKE1BQ1BIWUNfVFhfU0VMX01BU0ssIE1BQ1BIWUNfVFhfU0VMX09SSUdJTikg fAo+PiArCQkJICBGSUVMRF9QUkVQKE1BQ1BIWUNfUlhfU0VMX01BU0ssIE1BQ1BIWUNfUlhfU0VM X09SSUdJTikgfAo+PiArCQkJICBGSUVMRF9QUkVQKE1BQ1BIWUNfUEhZX0lORlRfTUFTSywgTUFD UEhZQ19QSFlfSU5GVF9SR01JSSk7Cj4+ICsJCWRldl9kYmcobWFjLT5kZXYsICJNQUMgUEhZIENv bnRyb2wgUmVnaXN0ZXI6IFBIWV9JTlRFUkZBQ0VfTU9ERV9SR01JSV9JRFxuIik7Cj4+ICsJCWJy ZWFrOwo+IFNvIHRoaXMgb25lIGlzIHByZXR0eSBub3JtYWwuIFRoZSBNQUMgZG9lcyBub3QgYWRk IGEgZGVsYXksCj4gUEhZX0lOVEVSRkFDRV9NT0RFX1JHTUlJX0lEIGlzIHBhc3NlZCB0byB0aGUg UEhZLCBhbmQgaXQgYWRkcyB0aGUKPiBkZWxheS4gVGhlIGludGVyZmFjZSB3aWxsIGxpa2VseSB3 b3JrLgo+Cj4+ICsKPj4gKwljYXNlIFBIWV9JTlRFUkZBQ0VfTU9ERV9SR01JSV9SWElEOgo+PiAr CQl2YWwgPSBGSUVMRF9QUkVQKE1BQ1BIWUNfUEhZX0lORlRfTUFTSywgTUFDUEhZQ19QSFlfSU5G VF9SR01JSSkgfAo+PiArCQkJICBGSUVMRF9QUkVQKE1BQ1BIWUNfUlhfU0VMX01BU0ssIE1BQ1BI WUNfUlhfU0VMX09SSUdJTik7Cj4+ICsKPj4gKwkJaWYgKG1hYy0+dHhfZGVsYXkgPT0gMCkgewo+ PiArCQkJdmFsIHw9IEZJRUxEX1BSRVAoTUFDUEhZQ19UWF9TRUxfTUFTSywgTUFDUEhZQ19UWF9T RUxfT1JJR0lOKTsKPj4gKwkJfSBlbHNlIHsKPj4gKwkJCXZhbCB8PSBGSUVMRF9QUkVQKE1BQ1BI WUNfVFhfU0VMX01BU0ssIE1BQ1BIWUNfVFhfU0VMX0RFTEFZKTsKPj4gKwo+PiArCQkJaWYgKG1h Yy0+dHhfZGVsYXkgPiBNQUNQSFlDX1RYX0RFTEFZX01BWCkKPj4gKwkJCQl2YWwgfD0gRklFTERf UFJFUChNQUNQSFlDX1RYX0RFTEFZX01BU0ssIE1BQ1BIWUNfVFhfREVMQVlfTUFYIC0gMSk7Cj4+ ICsJCQllbHNlCj4+ICsJCQkJdmFsIHw9IEZJRUxEX1BSRVAoTUFDUEhZQ19UWF9ERUxBWV9NQVNL LCBtYWMtPnR4X2RlbGF5IC0gMSk7Cj4+ICsJCX0KPiBTbyBoZXJlLCB0aGUgUEhZIGlzIGdvaW5n IHRvIGJlIHBhc3NlZCBQSFlfSU5URVJGQUNFX01PREVfUkdNSUlfUlhJRC4KPiBUaGUgUEhZIHdp bGwgYWRkIGEgZGVsYXkgaW4gdGhlIHJlY2VpdmUgcGF0aC4gVGhlIE1BQyBuZWVkcyB0byBhZGQg dGhlCj4gZGVsYXkgaW4gdGhlIHRyYW5zbWl0IHBhdGguIFNvIHR4X2RlbGF5IG5lZWRzIHRvIGJl IHRoZSBmdWxsIDJucywgbm90Cj4ganVzdCBhIHNtYWxsIGZpbmUgdHVuaW5nIHZhbHVlLCBvciB0 aGUgUENCIGlzIGFkZGluZyB0aGUgZGVsYXkuIEFuZAo+IHlvdSBhbHNvIGNhbm5vdCBmaW5lIHR1 bmUgdGhlIFJYIGRlbGF5LCBzaW5jZSByeF9kZWxheSBpcyBpZ25vcmVkLgo+Cj4+ICsKPj4gKwkJ ZGV2X2RiZyhtYWMtPmRldiwgIk1BQyBQSFkgQ29udHJvbCBSZWdpc3RlcjogUEhZX0lOVEVSRkFD RV9NT0RFX1JHTUlJX1JYSURcbiIpOwo+PiArCQlicmVhazsKPj4gKwo+PiArCWNhc2UgUEhZX0lO VEVSRkFDRV9NT0RFX1JHTUlJX1RYSUQ6Cj4+ICsJCXZhbCA9IEZJRUxEX1BSRVAoTUFDUEhZQ19Q SFlfSU5GVF9NQVNLLCBNQUNQSFlDX1BIWV9JTkZUX1JHTUlJKSB8Cj4+ICsJCQkgIEZJRUxEX1BS RVAoTUFDUEhZQ19UWF9TRUxfTUFTSywgTUFDUEhZQ19UWF9TRUxfT1JJR0lOKTsKPj4gKwo+PiAr CQlpZiAobWFjLT5yeF9kZWxheSA9PSAwKSB7Cj4+ICsJCQl2YWwgfD0gRklFTERfUFJFUChNQUNQ SFlDX1JYX1NFTF9NQVNLLCBNQUNQSFlDX1JYX1NFTF9PUklHSU4pOwo+PiArCQl9IGVsc2Ugewo+ PiArCQkJdmFsIHw9IEZJRUxEX1BSRVAoTUFDUEhZQ19SWF9TRUxfTUFTSywgTUFDUEhZQ19SWF9T RUxfREVMQVkpOwo+PiArCj4+ICsJCQlpZiAobWFjLT5yeF9kZWxheSA+IE1BQ1BIWUNfUlhfREVM QVlfTUFYKQo+PiArCQkJCXZhbCB8PSBGSUVMRF9QUkVQKE1BQ1BIWUNfUlhfREVMQVlfTUFTSywg TUFDUEhZQ19SWF9ERUxBWV9NQVggLSAxKTsKPj4gKwkJCWVsc2UKPj4gKwkJCQl2YWwgfD0gRklF TERfUFJFUChNQUNQSFlDX1JYX0RFTEFZX01BU0ssIG1hYy0+cnhfZGVsYXkgLSAxKTsKPj4gKwkJ fQo+IEFuZCBoZXJlIHdlIGhhdmUgdGhlIG9wcG9zaXRlIHRvIFBIWV9JTlRFUkZBQ0VfTU9ERV9S R01JSV9SWElELgo+Cj4gU28geW91IG5lZWQgdG8gY2xlYXJseSBkb2N1bWVudCBpbiB0aGUgZGV2 aWNlIHRyZWUgYmluZGluZyB3aGVuCj4gcnhfZGVsYXkgYW5kIHR4X2RlbGF5IGFyZSB1c2VkLCBh bmQgd2hlbiB0aGV5IGFyZSBpZ25vcmVkLiBZb3UgZG9uJ3QKPiB3YW50IHRvIGhhdmUgRFQgd3Jp dGVycyBoYXZpbmcgdG8gbG9vayBkZWVwIGludG8gdGhlIGNvZGUgdG8gZmlndXJlCj4gdGhpcyBv dXQuCgoKU3VyZSwgbWF5YmUgSSBzaG91bGQgd3JpdGUgYSBuZXcgaW5kZXBlbmRlbnQgZG9jdW1l bnQKCmZvciBJbmdlbmljIGluc3RlYWQgb2YganVzdCBtYWtpbmcgY29ycmVzcG9uZGluZyBjaGFu Z2VzCgppbiAic25wcywgZHdtYWMueWFtbCIKCgo+Cj4gUGVyc29uYWxseSwgaSB3b3VsZCBzaW1w bHkgdGhpcywgaW4gYSBiaWcgd2F5LiBJIHNlZSB0d28gb3B0aW9uczoKPgo+IDEpIFRoZSBNQUMg bmV2ZXIgYWRkcyBhIGRlbGF5LiBUaGUgaGFyZHdhcmUgaXMgdGhlcmUsIGJ1dCBzaW1wbHkgZG9u J3QKPiB1c2UgaXQsIHRvIGtlZXAgdGhpbmcgc2ltcGxlLCBhbmQgdGhlIHNhbWUgYXMgbmVhcmx5 IGV2ZXJ5IG90aGVyIE1BQy4KPgo+IDIpIElmIHRoZSBoYXJkd2FyZSBjYW4gZG8gc21hbGwgc3Rl cHMgb2YgZGVsYXksIGFsbG93IHRoaXMgZGVsYXksIGJvdGgKPiBSWCBhbmQgVFgsIHRvIGJlIGNv bmZpZ3VyZWQgaW4gYWxsIGZvdXIgbW9kZXMsIGluIG9yZGVyIHRvIGFsbG93IGZvcgo+IGZpbmUg dHVuaW5nLiBMZWF2ZSB0aGUgUEhZIHRvIGluc2VydCB0aGUgbWFqb3JpdHkgb2YgdGhlIGRlbGF5 LgoKCkl0IHNlZW1zIHRoYXQgdGhpcyBtZXRob2QgaXMgYmV0dGVyLCBJIHdpbGwgYWRvcHQgaXQg aW4gdjMuCgoKPj4gKwkvKiBHZXQgTUFDIFBIWSBjb250cm9sIHJlZ2lzdGVyICovCj4+ICsJbWFj LT5yZWdtYXAgPSBzeXNjb25fcmVnbWFwX2xvb2t1cF9ieV9waGFuZGxlKHBkZXYtPmRldi5vZl9u b2RlLCAibW9kZS1yZWciKTsKPj4gKwlpZiAoSVNfRVJSKG1hYy0+cmVnbWFwKSkgewo+PiArCQlk ZXZfZXJyKCZwZGV2LT5kZXYsICIlczogZmFpbGVkIHRvIGdldCBzeXNjb24gcmVnbWFwXG4iLCBf X2Z1bmNfXyk7Cj4+ICsJCWdvdG8gZXJyX3JlbW92ZV9jb25maWdfZHQ7Cj4+ICsJfQo+IFBsZWFz ZSBkb2N1bWVudCB0aGlzIGluIHRoZSBkZXZpY2UgdHJlZSBiaW5kaW5nLgoKClN1cmUuCgoKPgo+ PiArCj4+ICsJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIocGRldi0+ZGV2Lm9mX25vZGUsICJy eC1jbGstZGVsYXkiLCAmbWFjLT5yeF9kZWxheSk7Cj4+ICsJaWYgKHJldCkKPj4gKwkJbWFjLT5y eF9kZWxheSA9IDA7Cj4+ICsKPj4gKwlyZXQgPSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihwZGV2LT5k ZXYub2Zfbm9kZSwgInR4LWNsay1kZWxheSIsICZtYWMtPnR4X2RlbGF5KTsKPj4gKwlpZiAocmV0 KQo+PiArCQltYWMtPnR4X2RlbGF5ID0gMDsKPiBQbGVhc2UgdGFrZSBhIGxvb2sgYXQgZHdtYWMt bWVkaWF0ZWsuYy4gSXQgaGFuZGxlcyBkZWxheXMgbmljZWx5LiBJCj4gd291bGQgc3VnZ2VzdCB0 aGF0IGlzIHRoZSBtb2RlbCB0byBmb2xsb3cuCgoKU3VyZS4KCgpUaGFua3MgYW5kIGJlc3QgcmVn YXJkcyEKCgo+Cj4gICAgICAgICBBbmRyZXcKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFy bS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK