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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id B2247C001DC for ; Mon, 31 Jul 2023 08:03:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=WtGrv+DzceN8Iod9LltWdFXkzQ4J1mVKkhrAlzO+Z5Y=; b=PUTyZEfHrQ2q0j 5epYvZAdDkdCNbk38ynoNlOfN06l+MKDMII7JUqhwjQwttYnX9e1weYxKtK7yn+IK64En0jslb1n3 N6h6wP5hY+y7WOV5jgt5g2u0qzAQvt6ROo6hI4zF8jyN1eLQQLSxv07BKEbkT+Z3bjBG7PFP3OItW 6c09C3YeZ8BC92VZ1rDFFpZHulT74j+EUOiP/ZwOeGg38/l533BqNDrDfC8bdR2t1flgcnDkJuuTs wci9nTW2+elKSozNCehJf+yLEfmfCSCV+VZXY5DiC7sp1UI55MR9GSyeoDmy7xIbDlS9ODHpquuwN 05nbiWso361M+TajdG2A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qQNrh-00ESIl-17; Mon, 31 Jul 2023 08:02:53 +0000 Received: from mail-io1-xd31.google.com ([2607:f8b0:4864:20::d31]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qQNrd-00ESHn-01 for linux-riscv@lists.infradead.org; Mon, 31 Jul 2023 08:02:50 +0000 Received: by mail-io1-xd31.google.com with SMTP id ca18e2360f4ac-790a590237aso42178539f.3 for ; Mon, 31 Jul 2023 01:02:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1690790565; x=1691395365; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=QCZirPUdtYbiMuCxmXphGmJX/Sg5hOUUOg1RDGHulbI=; b=SGjh/AtHr94md2aeFSV2NwDOg0oqQn/SnLDDCpkiU+G/+WrXhyeOhsf66FGuUrpqYs 7V3JqnTUGI4Us+GaagWCJgh/GCN2kKnZ/dF9GCAGYievYQeiUtSbEGxAE2cIbk7c074o Dd6mH52/RWEtboQi+FZ9Fxp6tT450oKtHzGNomgcoExJYC4BfFneAv3jVkvw6ZNqr/Ty y4Ki3bP0cbG+IljwLYr2ygscyyKgN/DaHBC6dzBbOFd/GkNmdgo1JLS1vZ5z59XUoa9b +TWq7KrAye5BeHAUoEA4ALj1+uInnUN41dRuZCE2h1cd5kZC8FBVwcQ2q0UWMgnliuoZ MuuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690790565; x=1691395365; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QCZirPUdtYbiMuCxmXphGmJX/Sg5hOUUOg1RDGHulbI=; b=hm+kMiHIji73/aD00LfiUv9ZLfL38MX5h/JW4tGHjo60vJI/+qmU26odwdIFAm4XE2 LzISc4gYbmZR4c8K0p2oZ8OcDh7+claUD5q6LGvhP3934uXLI+s0by0SD8u9SSN9WsSx 5JH3/Ev62uVqpYnuIGaShJAPv6ko8BVzi/qhojT+dk6QvJUuQBVEc3+2G0dPOwPbnnzT SDDs0L5+H+qlHVlsfUMTTZdldBm0UJ6cjPhFOC3PJtNiFuju9G1RB5EfKAgZQa4xRpT1 VoGB792xUALSTAsGSfBKDxAHe4T9SscmYSyx19+MAlpltdwccK9zw2b1r7CR9ibp1XNJ NwCw== X-Gm-Message-State: ABy/qLaSeNRcNj5vsVSulm9U+i/ZX6E1Ck7AFDlCQZdm0Bb2fw1nDlzT jWgosWs8IesRRTvmcxkjliSAAfBiEli3/36fiGoOjg== X-Google-Smtp-Source: APBJJlH3GU7IdkMvOpU71QMDvT5/hmd5Yp3CEFjdkjLPmxV1u8VCET+nuHN/SjOnH78U+3zpVmL7y/wwobSRmkMbN3s= X-Received: by 2002:a5e:a90f:0:b0:790:a23b:1dfc with SMTP id c15-20020a5ea90f000000b00790a23b1dfcmr3153500iod.9.1690790565610; Mon, 31 Jul 2023 01:02:45 -0700 (PDT) MIME-Version: 1.0 References: <660b7a8707e494a6bb2706e10569a7414c3640a7.1689792825.git.tjeznach@rivosinc.com> In-Reply-To: <660b7a8707e494a6bb2706e10569a7414c3640a7.1689792825.git.tjeznach@rivosinc.com> From: Zong Li Date: Mon, 31 Jul 2023 16:02:35 +0800 Message-ID: Subject: Re: [PATCH 10/11] RISC-V: drivers/iommu/riscv: Add MSI identity remapping To: Tomasz Jeznach Cc: Joerg Roedel , Will Deacon , Robin Murphy , Paul Walmsley , Anup Patel , Albert Ou , linux@rivosinc.com, linux-kernel@vger.kernel.org, Sebastien Boeuf , iommu@lists.linux.dev, Palmer Dabbelt , Nick Kossifidis , linux-riscv@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230731_010249_065886_81874A91 X-CRM114-Status: GOOD ( 27.75 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gVGh1LCBKdWwgMjAsIDIwMjMgYXQgMzozNOKAr0FNIFRvbWFzeiBKZXpuYWNoIDx0amV6bmFj aEByaXZvc2luYy5jb20+IHdyb3RlOgo+Cj4gVGhpcyBjaGFuZ2UgcHJvdmlkZXMgYmFzaWMgaWRl bnRpdHkgbWFwcGluZyBzdXBwb3J0IHRvCj4gZXhjZXJjaXNlIE1TSV9GTEFUIGhhcmR3YXJlIGNh cGFiaWxpdHkuCj4KPiBTaWduZWQtb2ZmLWJ5OiBUb21hc3ogSmV6bmFjaCA8dGplem5hY2hAcml2 b3NpbmMuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2lvbW11L3Jpc2N2L2lvbW11LmMgfCA4MSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvaW9tbXUvcmlzY3Yv aW9tbXUuaCB8ICAzICsrCj4gIDIgZmlsZXMgY2hhbmdlZCwgODQgaW5zZXJ0aW9ucygrKQo+Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW9tbXUvcmlzY3YvaW9tbXUuYyBiL2RyaXZlcnMvaW9tbXUv cmlzY3YvaW9tbXUuYwo+IGluZGV4IDYwNDJjMzViZTNjYS4uN2IzZTNlMTM1Y2Y2IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvaW9tbXUvcmlzY3YvaW9tbXUuYwo+ICsrKyBiL2RyaXZlcnMvaW9tbXUv cmlzY3YvaW9tbXUuYwo+IEBAIC02MSw2ICs2MSw5IEBAIE1PRFVMRV9QQVJNX0RFU0MocHJpcV9s ZW5ndGgsICJQYWdlIHJlcXVlc3QgaW50ZXJmYWNlIHF1ZXVlIGxlbmd0aC4iKTsKPiAgI2RlZmlu ZSBSSVNDVl9JT01NVV9NQVhfUFNDSUQgICgxVSA8PCAyMCkKPiAgc3RhdGljIERFRklORV9JREEo cmlzY3ZfaW9tbXVfcHNjaWRzKTsKPgo+ICsvKiBUT0RPOiBFbmFibGUgTVNJIHJlbWFwcGluZyAq Lwo+ICsjZGVmaW5lIFJJU0NWX0lNU0lDX0JBU0UgICAgICAgMHgyODAwMDAwMAoKSSdtIG5vdCBz dXJlIGlmIGl0IGlzIGFwcHJvcHJpYXRlIHRvIGhhcmQgY29kZSB0aGUgYmFzZSBhZGRyZXNzIG9m CnBlcmlwaGVyYWwgaW4gc291cmNlIGNvZGUsIGl0IG1pZ2h0IGJlIGRlcGVuZHMgb24gdGhlIGxh eW91dCBvZiBlYWNoCnRhcmdldC4KCj4gKwo+ICAvKiAxIHNlY29uZCAqLwo+ICAjZGVmaW5lIFJJ U0NWX0lPTU1VX1RJTUVPVVQgICAgcmlzY3ZfdGltZWJhc2UKPgo+IEBAIC05MzIsNiArOTM1LDcy IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCByaXNjdl9pb21tdV9wcmlxX3Byb2Nlc3MoaW50IGlycSwg dm9pZCAqZGF0YSkKPiAgICogRW5kcG9pbnQgbWFuYWdlbWVudAo+ICAgKi8KPgo+ICtzdGF0aWMg aW50IHJpc2N2X2lvbW11X2VuYWJsZV9pcihzdHJ1Y3QgcmlzY3ZfaW9tbXVfZW5kcG9pbnQgKmVw KQo+ICt7Cj4gKyAgICAgICBzdHJ1Y3QgcmlzY3ZfaW9tbXVfZGV2aWNlICppb21tdSA9IGVwLT5p b21tdTsKPiArICAgICAgIHN0cnVjdCBpb21tdV9yZXN2X3JlZ2lvbiAqZW50cnk7Cj4gKyAgICAg ICBzdHJ1Y3QgaXJxX2RvbWFpbiAqbXNpX2RvbWFpbjsKPiArICAgICAgIHU2NCB2YWw7Cj4gKyAg ICAgICBpbnQgaTsKPiArCj4gKyAgICAgICAvKiBJbml0aWFsaXplIE1TSSByZW1hcHBpbmcgKi8K PiArICAgICAgIGlmICghZXAtPmRjIHx8ICEoaW9tbXUtPmNhcCAmIFJJU0NWX0lPTU1VX0NBUF9N U0lfRkxBVCkpCj4gKyAgICAgICAgICAgICAgIHJldHVybiAwOwo+ICsKPiArICAgICAgIGVwLT5t c2lfcm9vdCA9IChzdHJ1Y3QgcmlzY3ZfaW9tbXVfbXNpX3B0ZSAqKWdldF96ZXJvZWRfcGFnZShH RlBfS0VSTkVMKTsKPiArICAgICAgIGlmICghZXAtPm1zaV9yb290KQo+ICsgICAgICAgICAgICAg ICByZXR1cm4gLUVOT01FTTsKPiArCj4gKyAgICAgICBmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKysp IHsKPiArICAgICAgICAgICAgICAgZXAtPm1zaV9yb290W2ldLnB0ZSA9IFJJU0NWX0lPTU1VX01T SV9QVEVfViB8Cj4gKyAgICAgICAgICAgICAgICAgICBGSUVMRF9QUkVQKFJJU0NWX0lPTU1VX01T SV9QVEVfTSwgMykgfAo+ICsgICAgICAgICAgICAgICAgICAgcGh5c190b19wcG4oUklTQ1ZfSU1T SUNfQkFTRSArIGkgKiBQQUdFX1NJWkUpOwo+ICsgICAgICAgfQo+ICsKPiArICAgICAgIGVudHJ5 ID0gaW9tbXVfYWxsb2NfcmVzdl9yZWdpb24oUklTQ1ZfSU1TSUNfQkFTRSwgUEFHRV9TSVpFICog MjU2LCAwLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVV9S RVNWX1NXX01TSSwgR0ZQX0tFUk5FTCk7Cj4gKyAgICAgICBpZiAoZW50cnkpCj4gKyAgICAgICAg ICAgICAgIGxpc3RfYWRkX3RhaWwoJmVudHJ5LT5saXN0LCAmZXAtPnJlZ2lvbnMpOwo+ICsKPiAr ICAgICAgIHZhbCA9IHZpcnRfdG9fcGZuKGVwLT5tc2lfcm9vdCkgfAo+ICsgICAgICAgICAgIEZJ RUxEX1BSRVAoUklTQ1ZfSU9NTVVfRENfTVNJUFRQX01PREUsIFJJU0NWX0lPTU1VX0RDX01TSVBU UF9NT0RFX0ZMQVQpOwo+ICsgICAgICAgZXAtPmRjLT5tc2lwdHAgPSBjcHVfdG9fbGU2NCh2YWwp Owo+ICsKPiArICAgICAgIC8qIFNpbmdsZSBwYWdlIG9mIE1TSVBUUCwgMjU2IElNU0lDIGZpbGVz ICovCj4gKyAgICAgICBlcC0+ZGMtPm1zaV9hZGRyX21hc2sgPSBjcHVfdG9fbGU2NCgyNTUpOwo+ ICsgICAgICAgZXAtPmRjLT5tc2lfYWRkcl9wYXR0ZXJuID0gY3B1X3RvX2xlNjQoUklTQ1ZfSU1T SUNfQkFTRSA+PiAxMik7Cj4gKyAgICAgICB3bWIoKTsKPiArCj4gKyAgICAgICAvKiBzZXQgbXNp IGRvbWFpbiBmb3IgdGhlIGRldmljZSBhcyBpc29sYXRlZC4gaGFjay4gKi8KPiArICAgICAgIG1z aV9kb21haW4gPSBkZXZfZ2V0X21zaV9kb21haW4oZXAtPmRldik7Cj4gKyAgICAgICBpZiAobXNp X2RvbWFpbikgewo+ICsgICAgICAgICAgICAgICBtc2lfZG9tYWluLT5mbGFncyB8PSBJUlFfRE9N QUlOX0ZMQUdfSVNPTEFURURfTVNJOwo+ICsgICAgICAgfQo+ICsKPiArICAgICAgIGRldl9kYmco ZXAtPmRldiwgIlJWLUlSIGVuYWJsZWRcbiIpOwo+ICsKPiArICAgICAgIGVwLT5pcl9lbmFibGVk ID0gdHJ1ZTsKPiArCj4gKyAgICAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQg cmlzY3ZfaW9tbXVfZGlzYWJsZV9pcihzdHJ1Y3QgcmlzY3ZfaW9tbXVfZW5kcG9pbnQgKmVwKQo+ ICt7Cj4gKyAgICAgICBpZiAoIWVwLT5pcl9lbmFibGVkKQo+ICsgICAgICAgICAgICAgICByZXR1 cm47Cj4gKwo+ICsgICAgICAgZXAtPmRjLT5tc2lfYWRkcl9wYXR0ZXJuID0gMFVMTDsKPiArICAg ICAgIGVwLT5kYy0+bXNpX2FkZHJfbWFzayA9IDBVTEw7Cj4gKyAgICAgICBlcC0+ZGMtPm1zaXB0 cCA9IDBVTEw7Cj4gKyAgICAgICB3bWIoKTsKPiArCj4gKyAgICAgICBkZXZfZGJnKGVwLT5kZXYs ICJSVi1JUiBkaXNhYmxlZFxuIik7Cj4gKwo+ICsgICAgICAgZnJlZV9wYWdlcygodW5zaWduZWQg bG9uZyllcC0+bXNpX3Jvb3QsIDApOwo+ICsgICAgICAgZXAtPm1zaV9yb290ID0gTlVMTDsKPiAr ICAgICAgIGVwLT5pcl9lbmFibGVkID0gZmFsc2U7Cj4gK30KPiArCj4gIC8qIEVuZHBvaW50IGZl YXR1cmVzL2NhcGFiaWxpdGllcyAqLwo+ICBzdGF0aWMgdm9pZCByaXNjdl9pb21tdV9kaXNhYmxl X2VwKHN0cnVjdCByaXNjdl9pb21tdV9lbmRwb2ludCAqZXApCj4gIHsKPiBAQCAtMTIyNiw2ICsx Mjk1LDcgQEAgc3RhdGljIHN0cnVjdCBpb21tdV9kZXZpY2UgKnJpc2N2X2lvbW11X3Byb2JlX2Rl dmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCj4KPiAgICAgICAgIG11dGV4X2luaXQoJmVwLT5sb2Nr KTsKPiAgICAgICAgIElOSVRfTElTVF9IRUFEKCZlcC0+ZG9tYWluKTsKPiArICAgICAgIElOSVRf TElTVF9IRUFEKCZlcC0+cmVnaW9ucyk7Cj4KPiAgICAgICAgIGlmIChkZXZfaXNfcGNpKGRldikp IHsKPiAgICAgICAgICAgICAgICAgZXAtPmRldmlkID0gcGNpX2Rldl9pZCh0b19wY2lfZGV2KGRl dikpOwo+IEBAIC0xMjQ4LDYgKzEzMTgsNyBAQCBzdGF0aWMgc3RydWN0IGlvbW11X2RldmljZSAq cmlzY3ZfaW9tbXVfcHJvYmVfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldikKPiAgICAgICAgIGRl dl9pb21tdV9wcml2X3NldChkZXYsIGVwKTsKPiAgICAgICAgIHJpc2N2X2lvbW11X2FkZF9kZXZp Y2UoaW9tbXUsIGRldik7Cj4gICAgICAgICByaXNjdl9pb21tdV9lbmFibGVfZXAoZXApOwo+ICsg ICAgICAgcmlzY3ZfaW9tbXVfZW5hYmxlX2lyKGVwKTsKPgo+ICAgICAgICAgcmV0dXJuICZpb21t dS0+aW9tbXU7Cj4gIH0KPiBAQCAtMTI3OSw2ICsxMzUwLDcgQEAgc3RhdGljIHZvaWQgcmlzY3Zf aW9tbXVfcmVsZWFzZV9kZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2KQo+ICAgICAgICAgICAgICAg ICByaXNjdl9pb21tdV9pb2Rpcl9pbnZfZGV2aWQoaW9tbXUsIGVwLT5kZXZpZCk7Cj4gICAgICAg ICB9Cj4KPiArICAgICAgIHJpc2N2X2lvbW11X2Rpc2FibGVfaXIoZXApOwo+ICAgICAgICAgcmlz Y3ZfaW9tbXVfZGlzYWJsZV9lcChlcCk7Cj4KPiAgICAgICAgIC8qIFJlbW92ZSBlbmRwb2ludCBm cm9tIElPTU1VIHRyYWNraW5nIHN0cnVjdHVyZXMgKi8KPiBAQCAtMTMwMSw2ICsxMzczLDE1IEBA IHN0YXRpYyBzdHJ1Y3QgaW9tbXVfZ3JvdXAgKnJpc2N2X2lvbW11X2RldmljZV9ncm91cChzdHJ1 Y3QgZGV2aWNlICpkZXYpCj4KPiAgc3RhdGljIHZvaWQgcmlzY3ZfaW9tbXVfZ2V0X3Jlc3ZfcmVn aW9ucyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQpCj4gIHsKPiAr ICAgICAgIHN0cnVjdCBpb21tdV9yZXN2X3JlZ2lvbiAqZW50cnksICpuZXdfZW50cnk7Cj4gKyAg ICAgICBzdHJ1Y3QgcmlzY3ZfaW9tbXVfZW5kcG9pbnQgKmVwID0gZGV2X2lvbW11X3ByaXZfZ2V0 KGRldik7Cj4gKwo+ICsgICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShlbnRyeSwgJmVwLT5yZWdp b25zLCBsaXN0KSB7Cj4gKyAgICAgICAgICAgICAgIG5ld19lbnRyeSA9IGttZW1kdXAoZW50cnks IHNpemVvZigqZW50cnkpLCBHRlBfS0VSTkVMKTsKPiArICAgICAgICAgICAgICAgaWYgKG5ld19l bnRyeSkKPiArICAgICAgICAgICAgICAgICAgICAgICBsaXN0X2FkZF90YWlsKCZuZXdfZW50cnkt Pmxpc3QsIGhlYWQpOwo+ICsgICAgICAgfQo+ICsKPiAgICAgICAgIGlvbW11X2RtYV9nZXRfcmVz dl9yZWdpb25zKGRldiwgaGVhZCk7Cj4gIH0KPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lvbW11 L3Jpc2N2L2lvbW11LmggYi9kcml2ZXJzL2lvbW11L3Jpc2N2L2lvbW11LmgKPiBpbmRleCA4M2U4 ZDAwZmQwZjguLjU1NDE4YTExNDRmYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lvbW11L3Jpc2N2 L2lvbW11LmgKPiArKysgYi9kcml2ZXJzL2lvbW11L3Jpc2N2L2lvbW11LmgKPiBAQCAtMTE3LDE0 ICsxMTcsMTcgQEAgc3RydWN0IHJpc2N2X2lvbW11X2VuZHBvaW50IHsKPiAgICAgICAgIHN0cnVj dCByaXNjdl9pb21tdV9kYyAqZGM7ICAgICAgICAgICAgICAvKiBkZXZpY2UgY29udGV4dCBwb2lu dGVyICovCj4gICAgICAgICBzdHJ1Y3QgcmlzY3ZfaW9tbXVfcGMgKnBjOyAgICAgICAgICAgICAg LyogcHJvY2VzcyBjb250ZXh0IHJvb3QsIHZhbGlkIGlmIHBhc2lkX2VuYWJsZWQgaXMgdHJ1ZSAq Lwo+ICAgICAgICAgc3RydWN0IHJpc2N2X2lvbW11X2RldmljZSAqaW9tbXU7ICAgICAgIC8qIHBh cmVudCBpb21tdSBkZXZpY2UgKi8KPiArICAgICAgIHN0cnVjdCByaXNjdl9pb21tdV9tc2lfcHRl ICptc2lfcm9vdDsgICAvKiBpbnRlcnJ1cHQgcmUtbWFwcGluZyAqLwo+Cj4gICAgICAgICBzdHJ1 Y3QgbXV0ZXggbG9jazsKPiAgICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgZG9tYWluOyAgICAgICAg ICAgICAgICAvKiBlbmRwb2ludCBhdHRhY2hlZCBtYW5hZ2VkIGRvbWFpbiAqLwo+ICsgICAgICAg c3RydWN0IGxpc3RfaGVhZCByZWdpb25zOyAgICAgICAgICAgICAgIC8qIHJlc2VydmVkIHJlZ2lv bnMsIGludGVycnVwdCByZW1hcHBpbmcgd2luZG93ICovCj4KPiAgICAgICAgIC8qIGVuZCBwb2lu dCBpbmZvIGJpdHMgKi8KPiAgICAgICAgIHVuc2lnbmVkIHBhc2lkX2JpdHM7Cj4gICAgICAgICB1 bnNpZ25lZCBwYXNpZF9mZWF0Owo+ICAgICAgICAgYm9vbCBwYXNpZF9lbmFibGVkOwo+ICsgICAg ICAgYm9vbCBpcl9lbmFibGVkOwo+ICB9Owo+Cj4gIC8qIEhlbHBlciBmdW5jdGlvbnMgYW5kIG1h Y3JvcyAqLwo+IC0tCj4gMi4zNC4xCj4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4gbGludXgtcmlzY3YgbWFpbGluZyBsaXN0Cj4gbGludXgtcmlz Y3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwo+IGh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtcmlzY3YKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0 cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtcmlzY3YK