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 0AFAAC02198 for ; Tue, 11 Feb 2025 00:26:46 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ZTHK8hmqF1X3XZai8o72dkDaMPPy7NwqsgpE5JkZWSA=; b=nHQFFQz/IoHlcR K4Y08dsQnfahJtZJj/Dm2P/5213EnWSFf6jhaWTGpYTMsQkDpX2j5Lx+Ytf3ZUtEq6+G8yEyhDrhg iejDMhGlcKkR7niMNdijffCQ5UqNan92VHwqWpBMS8TqzfaMQGdNV/rwfYr8Nny+SPzQIVvagtuAS P6cCQ8oDIN0LvvQgVkpHx3BjyLams5tS4q6AQyXQTiHzr6R4SqILQY9FdvuGyQqdkJPfZyDkHNFgO YxIGJBeLLFLFmDsqCxZI+vhmEXEvkXNW1LGYZAySxVRMkxDBzKqEWpaLoJS3OLWoadAEyXPG0ZAiC ByD7+ctUj00l5vcgfIuw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1the6r-00000001ySI-203o; Tue, 11 Feb 2025 00:26:41 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1the3r-00000001y4X-0ezY for linux-riscv@bombadil.infradead.org; Tue, 11 Feb 2025 00:23:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=qlUFik2Cn3+UF32BcSaPs8X9uoxvxbSY4EvgNwl3nLs=; b=ULuG3vZJwj8wgvqAEVje2725kD 4/32zL6FCjz+YrCgcjqoVCN3ioGoaOShJdDdDwX+7UHGV5SOPtnK+OpbV2SY7zQdSf+oP09RTlb9D /lVg7jPiF8yEVj2fJA3yFL3qeiOw4W1TY+WGq5m0vCVI6hbXKWugA+4k5gmz7ZLpTJQ+LXtT3XKTJ WwJ9AWr6Pcg1xVE3ckcnci00NM2qOhGKEhhabkYv6tXaEl5CAffSsci9cGzanD07OV4GF4HIHeino eE9+P+ZQhUSm/u2br/+FBw6anPyekV8+dDQgLKlgdsbZHRXJPaLHg14B4ocr5AQgI//4wJH6EagBo qqK5OZvQ==; Received: from mail-yw1-x1144.google.com ([2607:f8b0:4864:20::1144]) by desiato.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1the3n-00000000OWf-1cRj for linux-riscv@lists.infradead.org; Tue, 11 Feb 2025 00:23:34 +0000 Received: by mail-yw1-x1144.google.com with SMTP id 00721157ae682-6f6ca9a3425so44952477b3.2 for ; Mon, 10 Feb 2025 16:23:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1739233409; x=1739838209; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=qlUFik2Cn3+UF32BcSaPs8X9uoxvxbSY4EvgNwl3nLs=; b=E5yqyRNc8vO1gf4tft4khBlUYneIVWD9/pB4PATMYWrBF4wNwAMOqc0jzS6/A5Kqjt Qpce8QEkwv8zGeAaLQvnEa3wBRVPBPyBXylZ10MonjIFcl7f4YwLeuGwhyn9QJ6/L4TG WdLWwvTmsUy6woletBiIxHUm4WSelsr7NFZ3jncUYQ3sallWOs5Repq48CYkIMyPETYH TOIscf5i1ZZi49FEHNxUhi79bR7+QRIVf8hhFuPnRXOP5qyQY2KACq4ZUdZcQUzg1J6W IAYmSvov++k7cQwVFsWRqCGq1hnvTbDaQAe8tZ5nEzgnUeP8xcMxEpIBKPSB957AJxPi 4+Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739233409; x=1739838209; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qlUFik2Cn3+UF32BcSaPs8X9uoxvxbSY4EvgNwl3nLs=; b=Q1/Gi9OgCAjpIW6dqYanrW5Gg2QSrRaLPcnou736UF5yjg2vUJJRhQsvW/jVpxo1Us aQPe51nY3Mve8XksDie2K2PzBxS3vwIR4P7BPZH9jIVHm7WJcdoyedSS2wijpb3BdQag wYxn+MM50f4yra6bZehXWpLjj2OQ5PuqY/Hch1INVahh3bXGXhzVrLgMG5sDln/mp8gH +iOjExzgoigbuzACmNPGgenwiydvIlS+Rbv+LYxzrqtc6KVk9+BpwWFeSOsTsqwRDnNG w968kJv4LxLDQmE/Ohz9IomGrbRAsZuQX+jJFI4eYzDdzq1VEjtOqQgbtRWla5WHEHNl dFZw== X-Forwarded-Encrypted: i=1; AJvYcCVFI37BMey8GdrGBG7JN3GCBqnrPDOUzZ4KXzdD0KPrYtY2lJAEzOciGeWM4dSuPNJPJkiaMu3TZieW0w==@lists.infradead.org X-Gm-Message-State: AOJu0YzDwkr1f7k0ktwGPPFpu6X+5mZ7mANk7wpuRB02jcWkVZ0fCZVj 1BkbrQ07uZ5NgdcHHiCCDMbRtijlRZVhCuDFhtxpQVKRaySRReFx3NTzOmqg0sQ= X-Gm-Gg: ASbGnctdP9QBS5VphUQ3k8YRCophBSWfsXQJhNJeYrh6HrZa4ZDAWCzpsoE/PRbf3E7 dCy49Mmahn4/d74v+lcBL3KSeH5r4+IjB07CNEoeVtGQrynJ7TJO4fgAbhLmQppSuVHeHt++eEW oGfcNnb2oF8aEp1P4QBL6L4zGSEBY2Tc8pXyfT0/FTsM9JNp5UlIKMa0wYG256ty84Yz+k3kwEN dJunYCBgyOktSODFRiMffZbtYRzTYLl/rB1pGmm7BvqK0irdRYPj8g8dBm3zcsAHa4AGrit4Du+ UZY= X-Google-Smtp-Source: AGHT+IFSyb6+nkjB0xsO1NPVunIuHs7rXC4UlzNdyRAuB/KbUs8KTwwp4ehcJv9y4ufISKopybkvhw== X-Received: by 2002:a05:690c:4448:b0:6ef:827b:2442 with SMTP id 00721157ae682-6f9b29dfba4mr162843667b3.35.1739233408845; Mon, 10 Feb 2025 16:23:28 -0800 (PST) Received: from ghost ([50.146.0.9]) by smtp.gmail.com with ESMTPSA id 00721157ae682-6f99ffc0aeasm18931437b3.96.2025.02.10.16.23.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Feb 2025 16:23:27 -0800 (PST) Date: Mon, 10 Feb 2025 16:23:26 -0800 From: Charlie Jenkins To: Ian Rogers Cc: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Adrian Hunter , Kan Liang , John Garry , Will Deacon , James Clark , Mike Leach , Leo Yan , Guo Ren , Paul Walmsley , Palmer Dabbelt , Albert Ou , Bibo Mao , Arnd Bergmann , Huacai Chen , Catalin Marinas , Jiri Slaby , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , Howard Chu , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org Subject: Re: [PATCH v2 6/7] perf syscalltbl: Use lookup table containing multiple architectures Message-ID: References: <20250210165108.95894-1-irogers@google.com> <20250210165108.95894-7-irogers@google.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20250210165108.95894-7-irogers@google.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_002331_601481_29E9068D X-CRM114-Status: GOOD ( 25.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 T24gTW9uLCBGZWIgMTAsIDIwMjUgYXQgMDg6NTE6MDdBTSAtMDgwMCwgSWFuIFJvZ2VycyB3cm90 ZToKPiBTd2l0Y2ggdG8gdXNlIHRoZSBsb29rdXAgdGFibGUgY29udGFpbmluZyBhbGwgYXJjaGl0 ZWN0dXJlcyByYXRoZXIKPiB0aGFuIHRhYmxlcyBtYXRjaGluZyB0aGUgcGVyZiBiaW5hcnkuCj4g Cj4gVGhpcyBmaXhlcyBwZXJmIHRyYWNlIHdoZW4gZXhlY3V0ZWQgb24gYSAzMi1iaXQgaTM4NiBi aW5hcnkgb24gYW4KPiB4ODYtNjQgbWFjaGluZS4gTm90ZSBpbiB0aGUgZm9sbG93aW5nIHRoZSBz eXN0ZW0gY2FsbCBuYW1lcyBvZiB0aGUKPiAzMi1iaXQgaTM4NiBiaW5hcnkgYXMgc2VlbiBieSBh biB4ODYtNjQgcGVyZi4KPiAKPiBCZWZvcmU6Cj4gYGBgCj4gICAgICAgICAgPyAoICAgICAgICAg KTogYS5vdXQvNDQ3Mjk2ICAuLi4gW2NvbnRpbnVlZF06IG11bm1hcCgpKSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAKPiAgICAgIDAuMDI0ICggMC4wMDEgbXMp OiBhLm91dC80NDcyOTYgcmVjdmZyb20odWJ1ZjogMHgyLCBzaXplOiA0MTYwNTg1NzA4LCBmbGFn czogRE9OVFJPVVRFfENUUlVOQ3xUUlVOQ3xET05UV0FJVHxFT1J8V0FJVEFMTHxGSU58U1lOfENP TkZJUk18UlNUfEVSUlFVRVVFfE5PU0lHTkFMfFdBSVRGT1JPTkV8QkFUQ0h8U09DS19ERVZNRU18 WkVST0NPUFl8RkFTVE9QRU58Q01TR19DTE9FWEVDfDB4OTFmODAwMDAsIGFkZHI6IDB4ZTMwLCBh ZGRyX2xlbjogMHhmZmNlNDM4YykgPSAxNDc1MTk4OTc2Cj4gICAgICAwLjA0MiAoIDAuMDAzIG1z KTogYS5vdXQvNDQ3Mjk2IGxnZXR4YXR0cihuYW1lOiAiIiwgdmFsdWU6IDB4Mywgc2l6ZTogMzQp ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQxNjAzNDQwNjQKPiAgICAgIDAuMDU0ICgg MC4wMDMgbXMpOiBhLm91dC80NDcyOTYgZHVwMihvbGRmZDogLTEzNDQyMjc0NCwgbmV3ZmQ6IDQp ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gLTEgRU5PRU5UIChObyBzdWNo IGZpbGUgb3IgZGlyZWN0b3J5KQo+ICAgICAgMC4wNjAgKCAwLjAwOSBtcyk6IGEub3V0LzQ0NzI5 NiBwcmVhZHYoZmQ6IDQyOTQ5NjcxOTYsIHZlYzogKHN0cnVjdCBpb3ZlYyl7Lmlvdl9iYXNlID0g KHZvaWQgKikweDJlNjQ2YzJmNjM3NDY1MmYsLmlvdl9sZW4gPSAoX19rZXJuZWxfc2l6ZV90KTcz MDcxOTk2NjUzMzU1OTQ4NjcsfSwgdmxlbjogNTU3MDU2LCBwb3NfaDogNDE2MDU4NTcwOCkgPSAz Cj4gICAgICAwLjA3NCAoIDAuMDA0IG1zKTogYS5vdXQvNDQ3Mjk2IGxnZXR4YXR0cihuYW1lOiAi IiwgdmFsdWU6IDB4MSwgc2l6ZTogMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQx NjAyMzc1NjgKPiAgICAgIDAuMDgwICggMC4wMDEgbXMpOiBhLm91dC80NDcyOTYgbHN0YXQoZmls ZW5hbWU6ICIiLCBzdGF0YnVmOiAweDE5M2Y2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgID0gMAo+ICAgICAgMC4wODkgKCAwLjAwNyBtcyk6IGEub3V0LzQ0NzI5NiBwcmVhZHYoZmQ6 IDQyOTQ5NjcxOTYsIHZlYzogKHN0cnVjdCBpb3ZlYyl7Lmlvdl9iYXNlID0gKHZvaWQgKikweDM4 MzM2OTJmNjI2OTZjMmYsLmlvdl9sZW4gPSAoX19rZXJuZWxfc2l6ZV90KTMyNzY0OTc4NDU5ODc1 ODUzMzQsfSwgdmxlbjogNTU3MDU2LCBwb3NfaDogNDE2MDU4NTcwOCkgPSAzCj4gICAgICAwLjA5 NyAoIDAuMDAyIG1zKTogYS5vdXQvNDQ3Mjk2IGNsb3NlKGZkOiAzPC9wcm9jLzQ0NzI5Ni9zdGF0 dXM+KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUxMgo+ICAgICAgMC4x MDMgKCAwLjAwMiBtcyk6IGEub3V0LzQ0NzI5NiBsZ2V0eGF0dHIobmFtZTogIiIsIHZhbHVlOiAw eDEsIHNpemU6IDIwNTApICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0MTU3OTM1NjE2Cj4g ICAgICAwLjEwNyAoIDAuMDA3IG1zKTogYS5vdXQvNDQ3Mjk2IGxnZXR4YXR0cihwYXRobmFtZTog IiIsIG5hbWU6ICIiLCB2YWx1ZTogMHg1LCBzaXplOiAyMDY2KSAgICAgICAgICAgICA9IDQxNTgw Nzg5NzYKPiAgICAgIDAuMTE2ICggMC4wMDMgbXMpOiBhLm91dC80NDcyOTYgbGdldHhhdHRyKHBh dGhuYW1lOiAiIiwgbmFtZTogIiIsIHZhbHVlOiAweDEsIHNpemU6IDIwNjYpICAgICAgICAgICAg ID0gNDE1OTYzOTU1Mgo+ICAgICAgMC4xMjEgKCAwLjAwMyBtcyk6IGEub3V0LzQ0NzI5NiBsZ2V0 eGF0dHIocGF0aG5hbWU6ICIiLCBuYW1lOiAiIiwgdmFsdWU6IDB4Mywgc2l6ZTogMjA2NikgICAg ICAgICAgICAgPSA0MTYwMTg0MzIwCj4gICAgICAwLjEyOSAoIDAuMDAyIG1zKTogYS5vdXQvNDQ3 Mjk2IGxnZXR4YXR0cihwYXRobmFtZTogIiIsIG5hbWU6ICIiLCB2YWx1ZTogMHgzLCBzaXplOiA1 MCkgICAgICAgICAgICAgICA9IDQxNjAxOTY2MDgKPiAgICAgIDAuMTM4ICggMC4wMDEgbXMpOiBh Lm91dC80NDcyOTYgbHN0YXQoZmlsZW5hbWU6ICIiKSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgID0gMAo+ICAgICAgMC4xNDUgKCAwLjAwMiBtcyk6IGEu b3V0LzQ0NzI5NiBtcV90aW1lZHJlY2VpdmUobXFkZXM6IDQyOTE3MDY4MDAsIHVfbXNnX3B0cjog MHhmN2Y5ZWE0OCwgbXNnX2xlbjogMTM0NjE2NjQwLCB1X21zZ19wcmlvOiAweGY3ZmQ3ZmVjLCB1 X2Fic190aW1lb3V0OiAoc3RydWN0IF9fa2VybmVsX3RpbWVzcGVjKXsudHZfc2VjID0gKF9fa2Vy bmVsX3RpbWU2NF90KS01NzgxNzQwMjc3NzczMTc2OTYsLnR2X25zZWMgPSAobG9uZyBsb25nIGlu dCk0MTYwMzQ5Mzc2LH0pID0gMAo+ICAgICAgMC4xNDggKCAwLjAwMSBtcyk6IGEub3V0LzQ0NzI5 NiBta2RpcmF0KGRmZDogLTEzNDYxNzgxNiwgcGF0aG5hbWU6ICIg77+977+977+9IO+/ve+/ve+/ veKWku+/ve+/ve+/veKWku+/ve+/ve+/vSIsIG1vZGU6IElGUkVHfElTVUlEfElSVVNSfElXR1JQ fDB4ZjdmZDAwMDApID0gNDQ3Mjk2Cj4gICAgICAwLjE1MCAoIDAuMDAxIG1zKTogYS5vdXQvNDQ3 Mjk2IHByb2Nlc3Nfdm1fd3JpdGV2KHBpZDogLTEzNDYxNzgxMiwgbHZlYzogKHN0cnVjdCBpb3Zl Yyl7Lmlvdl9iYXNlID0gKHZvaWQgKikweGY3ZjllOWM4ZjdmOWU0YzAsLmlvdl9sZW4gPSAoX19r ZXJuZWxfc2l6ZV90KTQxNjAzNDkzNzYsfSwgbGlvdmNudDogNDE2MDU4ODA0OCwgcnZlYzogKHN0 cnVjdCBpb3ZlYyl7fSwgcmlvdmNudDogNDE2MDU4NTcwOCwgZmxhZ3M6IDQyOTE3MDczNTIpID0g MAo+ICAgICAgMC4xOTcgKCAwLjAwNCBtcyk6IGEub3V0LzQ0NzI5NiBjYXBnZXQoaGVhZGVyOiA0 MTYwMTg0MzIwLCBkYXRhcHRyOiA4MTkyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAw Cj4gICAgICAwLjIwMiAoIDAuMDAyIG1zKTogYS5vdXQvNDQ3Mjk2IGNhcGdldChoZWFkZXI6IDE0 NDg2NjkxODQsIGRhdGFwdHI6IDQwOTYpICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAK PiAgICAgIDAuMjA4ICggMC4wMDIgbXMpOiBhLm91dC80NDcyOTYgY2FwZ2V0KGhlYWRlcjogNDE2 MDU3NzUzNiwgZGF0YXB0cjogODE5MikgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMAo+ ICAgICAgMC4yMjAgKCAwLjAwMSBtcyk6IGEub3V0LzQ0NzI5NiBnZXR4YXR0cihwYXRobmFtZTog IiIsIG5hbWU6ICJj77+977+977+977+977+977+9IiwgdmFsdWU6IDB4ZjdmNzdlMzQsIHNpemU6 IDEpICA9IDAKPiAgICAgIDAuMjI4ICggMC4wMDUgbXMpOiBhLm91dC80NDcyOTYgZmNobW9kKGZk OiAtMTM0NzI5NzI4LCBtb2RlOiBJUlVHT3xJV1VHT3xJRlJFR3xJRklGT3xJU1ZUWHxJWFVTUnww eDEwMDAwKSA9IDAKPiAgICAgIDAuMjQwICggMC4wMDkgbXMpOiBhLm91dC80NDcyOTYgcHJlYWR2 KGZkOiA0Mjk0OTY3MTk2LCB2ZWM6IDB4NTY1OGUwMDgsIHBvc19oOiA0MTYwMTkyMDUyKSAgICAg ICAgICAgID0gMwo+ICAgICAgMC4yNTAgKCAwLjAwOCBtcyk6IGEub3V0LzQ0NzI5NiBjbG9zZShm ZDogMzwvcHJvYy80NDcyOTYvc3RhdHVzPikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPSAxNDM2Cj4gICAgICAwLjI2MCAoIDAuMDE4IG1zKTogYS5vdXQvNDQ3Mjk2IHN0YXQo ZmlsZW5hbWU6ICIiLCBzdGF0YnVmOiAweGZmY2UzMmFjKSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA9IDE0MzYKPiAgICAgIDAuMjg4ICgxMDAwLjIxMyBtcyk6IGEub3V0LzQ0NzI5NiBy ZWFkbGlua2F0KGJ1ZjogMHhmZmNlMzFkNCwgYnVmc2l6OiA0MjkxNzAzMjQ0KSAgICAgICAgICAg ICAgICAgICAgICAgPSAwCj4gYGBgCj4gCj4gQWZ0ZXI6Cj4gYGBgCj4gICAgICAgICAgPyAoICAg ICAgICAgKTogYS5vdXQvNDQyOTMwICAuLi4gW2NvbnRpbnVlZF06IGV4ZWN2ZSgpKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAKPiAgICAgIDAuMDIzICggMC4w MDIgbXMpOiBhLm91dC80NDI5MzAgYnJrKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg1Nzc2MDAwMAo+ICAgICAgMC4w NTIgKCAwLjAwMyBtcyk6IGEub3V0LzQ0MjkzMCBhY2Nlc3MoZmlsZW5hbWU6IDB4ZjdmNWFmMjgs IG1vZGU6IFIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAtMSBFTk9FTlQgKE5v IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkpCj4gICAgICAwLjA1OSAoIDAuMDA5IG1zKTogYS5vdXQv NDQyOTMwIG9wZW5hdChkZmQ6IENXRCwgZmlsZW5hbWU6ICIvZXRjL2xkLnNvLmNhY2hlIiwgZmxh Z3M6IFJET05MWXxDTE9FWEVDfExBUkdFRklMRSkgPSAzCj4gICAgICAwLjA3OCAoIDAuMDAxIG1z KTogYS5vdXQvNDQyOTMwIGNsb3NlKGZkOiAzPC9wcm9jLzQ0MjkzMC9zdGF0dXM+KSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAKPiAgICAgIDAuMDg3ICggMC4wMDcgbXMp OiBhLm91dC80NDI5MzAgb3BlbmF0KGRmZDogQ1dELCBmaWxlbmFtZTogIi9saWIvaTM4Ni1saW51 eC0iLCBmbGFnczogUkRPTkxZfENMT0VYRUN8TEFSR0VGSUxFKSA9IDMKPiAgICAgIDAuMDk1ICgg MC4wMDIgbXMpOiBhLm91dC80NDI5MzAgcmVhZChmZDogMzwvcHJvYy80NDI5MzAvc3RhdHVzPiwg YnVmOiAweGZmYmRiYjcwLCBjb3VudDogNTEyKSAgICAgICAgID0gNTEyCj4gICAgICAwLjEzNSAo IDAuMDAxIG1zKTogYS5vdXQvNDQyOTMwIGNsb3NlKGZkOiAzPC9wcm9jLzQ0MjkzMC9zdGF0dXM+ KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAKPiAgICAgIDAuMTQ4ICgg MC4wMDEgbXMpOiBhLm91dC80NDI5MzAgc2V0X3RpZF9hZGRyZXNzKHRpZHB0cjogMHhmN2YyYjUy OCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDQyOTMwIChhLm91dCkKPiAg ICAgIDAuMTUwICggMC4wMDEgbXMpOiBhLm91dC80NDI5MzAgc2V0X3JvYnVzdF9saXN0KGhlYWQ6 IDB4ZjdmMmI1MmMsIGxlbjogMTIpICAgICAgICAgICAgICAgICAgICAgICAgICAgID0KPiAgICAg IDAuMTk2ICggMC4wMDQgbXMpOiBhLm91dC80NDI5MzAgbXByb3RlY3Qoc3RhcnQ6IDB4ZjdmMDMw MDAsIGxlbjogODE5MiwgcHJvdDogUkVBRCkgICAgICAgICAgICAgICAgICAgID0gMAo+ICAgICAg MC4yMDIgKCAwLjAwMiBtcyk6IGEub3V0LzQ0MjkzMCBtcHJvdGVjdChzdGFydDogMHg1NjU4ZTAw MCwgbGVuOiA0MDk2LCBwcm90OiBSRUFEKSAgICAgICAgICAgICAgICAgICAgPSAwCj4gICAgICAw LjIwNyAoIDAuMDAyIG1zKTogYS5vdXQvNDQyOTMwIG1wcm90ZWN0KHN0YXJ0OiAweGY3ZjYzMDAw LCBsZW46IDgxOTIsIHByb3Q6IFJFQUQpICAgICAgICAgICAgICAgICAgICA9IDAKPiAgICAgIDAu MjMwICggMC4wMDUgbXMpOiBhLm91dC80NDI5MzAgbXVubWFwKGFkZHI6IDB4ZjdmMTAwMDAsIGxl bjogMTAzNDE0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMAo+ICAgICAgMC4y NDQgKCAwLjAxMCBtcyk6IGEub3V0LzQ0MjkzMCBvcGVuYXQoZGZkOiBDV0QsIGZpbGVuYW1lOiAw eDU2NThkMDA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzCj4gICAgICAwLjI1 NSAoIDAuMDA3IG1zKTogYS5vdXQvNDQyOTMwIHJlYWQoZmQ6IDM8L3Byb2MvNDQyOTMwL3N0YXR1 cz4sIGJ1ZjogMHhmZmJkYjY3YywgY291bnQ6IDQwOTYpICAgICAgICA9IDE0MzYKPiAgICAgIDAu MjY0ICggMC4wMTggbXMpOiBhLm91dC80NDI5MzAgd3JpdGUoZmQ6IDE8L2Rldi9wdHMvND4sIGJ1 ZjogLCBjb3VudDogMTQzNikgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQzNgo+ICAgICAg MC4yOTIgKDEwMDAuMTczIG1zKTogYS5vdXQvNDQyOTMwIGNsb2NrX25hbm9zbGVlcChycXRwOiB7 IC50dl9zZWM6IDE3ODY2NTQ2OTQwMzc2Nzc2NzA0LCAudHZfbnNlYzogNDE1OTg3ODMzNiB9LCBy bXRwOiAweGZmYmRiNTljKSA9IDAKPiAgIDEwMDAuNDc4ICggICAgICAgICApOiBhLm91dC80NDI5 MzAgZXhpdF9ncm91cCgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgID0gPwo+IGBgYAo+IAoKUmV2aWV3ZWQtYnk6IENoYXJsaWUgSmVua2lu cyA8Y2hhcmxpZUByaXZvc2luYy5jb20+Cgo+IFNpZ25lZC1vZmYtYnk6IElhbiBSb2dlcnMgPGly b2dlcnNAZ29vZ2xlLmNvbT4KPiBSZXZpZXdlZC1ieTogSG93YXJkIENodSA8aG93YXJkY2h1OTVA Z21haWwuY29tPgo+IC0tLQo+ICB0b29scy9wZXJmL3V0aWwvc3lzY2FsbHRibC5jIHwgODkgKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA2NCBp bnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvcGVy Zi91dGlsL3N5c2NhbGx0YmwuYyBiL3Rvb2xzL3BlcmYvdXRpbC9zeXNjYWxsdGJsLmMKPiBpbmRl eCA3NjBhYzRkMDg2OWYuLmRiMGQyYjgxYWVkMSAxMDA2NDQKPiAtLS0gYS90b29scy9wZXJmL3V0 aWwvc3lzY2FsbHRibC5jCj4gKysrIGIvdG9vbHMvcGVyZi91dGlsL3N5c2NhbGx0YmwuYwo+IEBA IC0xNSwxNiArMTUsMzkgQEAKPiAgI2luY2x1ZGUgPHN0cmluZy5oPgo+ICAjaW5jbHVkZSAic3Ry aW5nMi5oIgo+ICAKPiAtI2lmIF9fQklUU19QRVJfTE9ORyA9PSA2NAo+IC0gICNpbmNsdWRlIDxh c20vc3lzY2FsbHNfNjQuaD4KPiAtI2Vsc2UKPiAtICAjaW5jbHVkZSA8YXNtL3N5c2NhbGxzXzMy Lmg+Cj4gLSNlbmRpZgo+ICsjaW5jbHVkZSAidHJhY2UvYmVhdXR5L2dlbmVyYXRlZC9zeXNjYWxs dGJsLmMiCj4gIAo+IC1jb25zdCBjaGFyICpzeXNjYWxsdGJsX19uYW1lKGludCBlX21hY2hpbmUg X19tYXliZV91bnVzZWQsIGludCBpZCkKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBzeXNjYWxsdGJs ICpmaW5kX3RhYmxlKGludCBlX21hY2hpbmUpCj4gIHsKPiAtCWlmIChpZCA+PSAwICYmIGlkIDw9 IChpbnQpQVJSQVlfU0laRShzeXNjYWxsX251bV90b19uYW1lKSkKPiAtCQlyZXR1cm4gc3lzY2Fs bF9udW1fdG9fbmFtZVtpZF07Cj4gKwlzdGF0aWMgY29uc3Qgc3RydWN0IHN5c2NhbGx0YmwgKmxh c3RfdGFibGU7Cj4gKwlzdGF0aWMgaW50IGxhc3RfdGFibGVfbWFjaGluZSA9IEVNX05PTkU7Cj4g Kwo+ICsJLyogVGFibGVzIG9ubHkgZXhpc3QgZm9yIEVNX1NQQVJDLiAqLwo+ICsJaWYgKGVfbWFj aGluZSA9PSBFTV9TUEFSQ1Y5KQo+ICsJCWVfbWFjaGluZSA9IEVNX1NQQVJDOwo+ICsKPiArCWlm IChsYXN0X3RhYmxlX21hY2hpbmUgPT0gZV9tYWNoaW5lICYmIGxhc3RfdGFibGUgIT0gTlVMTCkK PiArCQlyZXR1cm4gbGFzdF90YWJsZTsKPiArCj4gKwlmb3IgKHNpemVfdCBpID0gMDsgaSA8IEFS UkFZX1NJWkUoc3lzY2FsbHRibHMpOyBpKyspIHsKPiArCQljb25zdCBzdHJ1Y3Qgc3lzY2FsbHRi bCAqZW50cnkgPSAmc3lzY2FsbHRibHNbaV07Cj4gKwo+ICsJCWlmIChlbnRyeS0+ZV9tYWNoaW5l ICE9IGVfbWFjaGluZSAmJiBlbnRyeS0+ZV9tYWNoaW5lICE9IEVNX05PTkUpCj4gKwkJCWNvbnRp bnVlOwo+ICsKPiArCQlsYXN0X3RhYmxlID0gZW50cnk7Cj4gKwkJbGFzdF90YWJsZV9tYWNoaW5l ID0gZV9tYWNoaW5lOwo+ICsJCXJldHVybiBlbnRyeTsKPiArCX0KPiArCXJldHVybiBOVUxMOwo+ ICt9Cj4gKwo+ICtjb25zdCBjaGFyICpzeXNjYWxsdGJsX19uYW1lKGludCBlX21hY2hpbmUsIGlu dCBpZCkKPiArewo+ICsJY29uc3Qgc3RydWN0IHN5c2NhbGx0YmwgKnRhYmxlID0gZmluZF90YWJs ZShlX21hY2hpbmUpOwo+ICsKPiArCWlmICh0YWJsZSAmJiBpZCA+PSAwICYmIGlkIDwgdGFibGUt Pm51bV90b19uYW1lX2xlbikKPiArCQlyZXR1cm4gdGFibGUtPm51bV90b19uYW1lW2lkXTsKPiAg CXJldHVybiBOVUxMOwo+ICB9Cj4gIAo+IEBAIC00MSwzOCArNjQsNTQgQEAgc3RhdGljIGludCBz eXNjYWxsY21wbmFtZShjb25zdCB2b2lkICp2a2V5LCBjb25zdCB2b2lkICp2ZW50cnkpCj4gIAly ZXR1cm4gc3RyY21wKGtleS0+bmFtZSwga2V5LT50YmxbKmVudHJ5XSk7Cj4gIH0KPiAgCj4gLWlu dCBzeXNjYWxsdGJsX19pZChpbnQgZV9tYWNoaW5lIF9fbWF5YmVfdW51c2VkLCBjb25zdCBjaGFy ICpuYW1lKQo+ICtpbnQgc3lzY2FsbHRibF9faWQoaW50IGVfbWFjaGluZSwgY29uc3QgY2hhciAq bmFtZSkKPiAgewo+IC0Jc3RydWN0IHN5c2NhbGxfY21wX2tleSBrZXkgPSB7Cj4gLQkJLm5hbWUg PSBuYW1lLAo+IC0JCS50YmwgPSBzeXNjYWxsX251bV90b19uYW1lLAo+IC0JfTsKPiAtCWNvbnN0 IGludCAqaWQgPSBic2VhcmNoKCZrZXksIHN5c2NhbGxfc29ydGVkX25hbWVzLAo+IC0JCQkJQVJS QVlfU0laRShzeXNjYWxsX3NvcnRlZF9uYW1lcyksCj4gLQkJCQlzaXplb2Yoc3lzY2FsbF9zb3J0 ZWRfbmFtZXNbMF0pLAo+IC0JCQkJc3lzY2FsbGNtcG5hbWUpOwo+ICsJY29uc3Qgc3RydWN0IHN5 c2NhbGx0YmwgKnRhYmxlID0gZmluZF90YWJsZShlX21hY2hpbmUpOwo+ICsJc3RydWN0IHN5c2Nh bGxfY21wX2tleSBrZXk7Cj4gKwljb25zdCBpbnQgKmlkOwo+ICsKPiArCWlmICghdGFibGUpCj4g KwkJcmV0dXJuIC0xOwo+ICsKPiArCWtleS5uYW1lID0gbmFtZTsKPiArCWtleS50YmwgPSB0YWJs ZS0+bnVtX3RvX25hbWU7Cj4gKwlpZCA9IGJzZWFyY2goJmtleSwgdGFibGUtPnNvcnRlZF9uYW1l cywgdGFibGUtPnNvcnRlZF9uYW1lc19sZW4sCj4gKwkJICAgICBzaXplb2YodGFibGUtPnNvcnRl ZF9uYW1lc1swXSksIHN5c2NhbGxjbXBuYW1lKTsKPiAgCj4gIAlyZXR1cm4gaWQgPyAqaWQgOiAt MTsKPiAgfQo+ICAKPiAtaW50IHN5c2NhbGx0YmxfX251bV9pZHgoaW50IGVfbWFjaGluZSBfX21h eWJlX3VudXNlZCkKPiAraW50IHN5c2NhbGx0YmxfX251bV9pZHgoaW50IGVfbWFjaGluZSkKPiAg ewo+IC0JcmV0dXJuIEFSUkFZX1NJWkUoc3lzY2FsbF9zb3J0ZWRfbmFtZXMpOwo+ICsJY29uc3Qg c3RydWN0IHN5c2NhbGx0YmwgKnRhYmxlID0gZmluZF90YWJsZShlX21hY2hpbmUpOwo+ICsKPiAr CWlmICghdGFibGUpCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJcmV0dXJuIHRhYmxlLT5zb3J0ZWRf bmFtZXNfbGVuOwo+ICB9Cj4gIAo+IC1pbnQgc3lzY2FsbHRibF9faWRfYXRfaWR4KGludCBlX21h Y2hpbmUgX19tYXliZV91bnVzZWQsIGludCBpZHgpCj4gK2ludCBzeXNjYWxsdGJsX19pZF9hdF9p ZHgoaW50IGVfbWFjaGluZSwgaW50IGlkeCkKPiAgewo+IC0JcmV0dXJuIHN5c2NhbGxfc29ydGVk X25hbWVzW2lkeF07Cj4gKwljb25zdCBzdHJ1Y3Qgc3lzY2FsbHRibCAqdGFibGUgPSBmaW5kX3Rh YmxlKGVfbWFjaGluZSk7Cj4gKwo+ICsJaWYgKCF0YWJsZSkKPiArCQlyZXR1cm4gLTE7Cj4gKwo+ ICsJYXNzZXJ0KGlkeCA+PSAwICYmIGlkeCA8IHRhYmxlLT5zb3J0ZWRfbmFtZXNfbGVuKTsKPiAr CXJldHVybiB0YWJsZS0+c29ydGVkX25hbWVzW2lkeF07Cj4gIH0KPiAgCj4gLWludCBzeXNjYWxs dGJsX19zdHJnbG9ibWF0Y2hfbmV4dChpbnQgZV9tYWNoaW5lIF9fbWF5YmVfdW51c2VkLCBjb25z dCBjaGFyICpzeXNjYWxsX2dsb2IsIGludCAqaWR4KQo+ICtpbnQgc3lzY2FsbHRibF9fc3RyZ2xv Ym1hdGNoX25leHQoaW50IGVfbWFjaGluZSwgY29uc3QgY2hhciAqc3lzY2FsbF9nbG9iLCBpbnQg KmlkeCkKPiAgewo+IC0JZm9yIChpbnQgaSA9ICppZHggKyAxOyBpIDwgKGludClBUlJBWV9TSVpF KHN5c2NhbGxfc29ydGVkX25hbWVzKTsgKytpKSB7Cj4gLQkJY29uc3QgY2hhciAqbmFtZSA9IHN5 c2NhbGxfbnVtX3RvX25hbWVbc3lzY2FsbF9zb3J0ZWRfbmFtZXNbaV1dOwo+ICsJY29uc3Qgc3Ry dWN0IHN5c2NhbGx0YmwgKnRhYmxlID0gZmluZF90YWJsZShlX21hY2hpbmUpOwo+ICsKPiArCWZv ciAoaW50IGkgPSAqaWR4ICsgMTsgdGFibGUgJiYgaSA8IHRhYmxlLT5zb3J0ZWRfbmFtZXNfbGVu OyArK2kpIHsKPiArCQljb25zdCBjaGFyICpuYW1lID0gdGFibGUtPm51bV90b19uYW1lW3RhYmxl LT5zb3J0ZWRfbmFtZXNbaV1dOwo+ICAKPiAgCQlpZiAoc3RyZ2xvYm1hdGNoKG5hbWUsIHN5c2Nh bGxfZ2xvYikpIHsKPiAgCQkJKmlkeCA9IGk7Cj4gLQkJCXJldHVybiBzeXNjYWxsX3NvcnRlZF9u YW1lc1tpXTsKPiArCQkJcmV0dXJuIHRhYmxlLT5zb3J0ZWRfbmFtZXNbaV07Cj4gIAkJfQo+ICAJ fQo+ICAKPiAtLSAKPiAyLjQ4LjEuNTAyLmc2ZGMyNGRmZGFmLWdvb2cKPiAKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1haWxpbmcg bGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRl YWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK