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 B072BC5B543 for ; Fri, 30 May 2025 19:29:44 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=9clhFQORE5IZm5v6KBn98VBCht9EtUPMVuKIkcUS2tk=; b=dh8G4lvARUAxjj 5DGuGICfnrZXQx09G506OehzQGjQsRGtQkskgaDEQA5/NQT77PWBo8JOPI/hOmbfa5OnHvJbuxL0J wS6H4OY+dqjq8YSZWrHRbpmV3xqUMV8phIGBrWpvwUxl36ySQ52TzjPBTcvgUCz0cMCQtPDFNELVm 6432L7NK/sWGo1KhpFRijZvOZfu7TOJ3yBxRqRUZDnH+8YNlwy4zGkxF4QFMunakx5c42fVcMH2RV E/hndoGF3vPHTu6+A03+Fwv3/6KJB2SRCJr40aDdpjrNbEcVEcHCnv4SFLWHQ6Tt5fY1v8ilpUktE 59/i4YfYXQ6gk684Vvtg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uL5QG-00000001bTl-0upN; Fri, 30 May 2025 19:29:44 +0000 Received: from out-171.mta1.migadu.com ([95.215.58.171]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uL5QD-00000001bSI-10Ic; Fri, 30 May 2025 19:29:43 +0000 Message-ID: <0dcd01cd-419f-4225-b22c-cbaf82718235@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1748633376; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tkiGcg9Pp6HB9HenrxwiWzm/IMuLvXwvBc2ohIpTcuU=; b=qejIatAl3IVBpVjd5b1sjdObGZ7rJABj1bGentvPoaT9Gk2nMpl/NODNwtlNVuxD7mIwiW xTQUdOt6Gu3DaCC7BjJCdrWEHh521evt/yWAJJhiesYDNH5GuqToxdnr9DVQXVDc4uDjZ3 Hq4CVYV8tCgSZSBhWUbuMlqAshgB7wA= Date: Fri, 30 May 2025 12:29:30 -0700 MIME-Version: 1.0 Subject: Re: [PATCH v3 9/9] RISC-V: KVM: Upgrade the supported SBI version to 3.0 To: =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Andrew Jones Cc: Anup Patel , Will Deacon , Mark Rutland , Paul Walmsley , Palmer Dabbelt , Mayuresh Chitale , linux-riscv@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv References: <20250522-pmu_event_info-v3-0-f7bba7fd9cfe@rivosinc.com> <20250522-pmu_event_info-v3-9-f7bba7fd9cfe@rivosinc.com> <61627296-6f94-45ea-9410-ed0ea2251870@linux.dev> <20250526-224478e15ee50987124a47ac@orel> <20250528-ff9f6120de39c3e4eefc5365@orel> <1169138f-8445-4522-94dd-ad008524c600@linux.dev> <2bac252c-883c-4f8a-9ae1-283660991520@linux.dev> Content-Language: en-US X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Atish Patra In-Reply-To: X-Migadu-Flow: FLOW_OUT X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250530_122941_810180_9EF1482A X-CRM114-Status: GOOD ( 15.34 ) X-BeenThere: kvm-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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "kvm-riscv" Errors-To: kvm-riscv-bounces+kvm-riscv=archiver.kernel.org@lists.infradead.org Ck9uIDUvMzAvMjUgNDowOSBBTSwgUmFkaW0gS3LEjW3DocWZIHdyb3RlOgo+IDIwMjUtMDUtMjlU MTE6NDQ6MzgtMDc6MDAsIEF0aXNoIFBhdHJhIDxhdGlzaC5wYXRyYUBsaW51eC5kZXY+Ogo+PiBP biA1LzI5LzI1IDM6MjQgQU0sIFJhZGltIEtyxI1tw6HFmSB3cm90ZToKPj4+IEkgb3JpZ2luYWxs eSBnYXZlIHVwIG9uIHRoZSBpZGVhLCBidXQgSSBmZWVsIGtpbmRhIGJhZCBmb3IgRHJldyBub3cs IHNvCj4+PiB0cnlpbmcgYWdhaW46Cj4+IEkgYW0gc29ycnkgaWYgc29tZSBvZiBteSByZXBsaWVz IGNhbWUgYWNyb3NzIGluIHRoZSB3cm9uZyB3YXkuIFRoYXQgd2FzCj4+IG5ldmVyCj4+IHRoZSBp bnRlbnRpb24uCj4gSSBkaWRuJ3QgbWVhbiB0byBhY2N1c2UgeW91LCBteSBhcG9sb2dpZXMuICBJ IGFncmVlIHdpdGggRHJldydzCj4gcG9zaXRpb25zLCBzbyB0byBleHBhbmQgb24gYSBxdWVzdGlv biB0aGF0IHdhc24ndCB0b3VjaGVkIGluIGhpcyBtYWlsOgo+Cj4+PiBFdmVuIGlmIHVzZXJzcGFj ZSB3YW50cyBTQkkgZm9yIHRoZSBNLW1vZGUgaW50ZXJmYWNlLCBzZWN1cml0eSBtaW5kZWQKPj4g VGhpcyBpcyBwcm9iYWJseSBhIDNyZCBvbmUgPyBXaHkgd2Ugd2FudCBNLW1vZGUgaW50ZXJmYWNl IGluIHRoZSB1c2VyCj4+IHNwYWNlID8KPiBJdCBpcyBhYm91dCB0dXJuaW5nIEtWTSBpbnRvIGFu IElTQSBhY2NlbGVyYXRvci4KPgo+IEEgZ3Vlc3QgdGhpbmtzIGl0IGlzIHJ1bm5pbmcgaW4gUy9I Uy1tb2RlLgo+IFRoZSBlY2FsbCBpbnN0cnVjdGlvbiB0cmFwcyB0byBNLW1vZGUuICBSSVNDLVYg SCBleHRlbnNpb24gZG9lc24ndAo+IGFjY2VsZXJhdGUgTS1tb2RlLCBzbyB3ZSBoYXZlIHRvIGVt dWxhdGUgdGhlIHRyYXAgaW4gc29mdHdhcmUuCldlIGRvbid0IG5lZWQgdG8gYWNjZWxlcmF0ZSBN LW1vZGUuIFRoYXQncyB0aGUgYmVhdXR5IG9mIHRoZSBSSVNDLVYgSCAKZXh0ZW5zaW9uLgpUaGUg SVNBIGlzIGRlc2lnbmVkIGluIHN1Y2ggYSB3YXkgdGhhdCB0aGUgU0JJIGlzIHRoZSBpbnRlcmZh Y2UgYmV0d2VlbiAKdGhlIHN1cGVydmlzb3IgZW52aXJvbm1lbnQgKFZTL0hTKQphbmQgdGhlIHN1 cGVydmlzb3IgZXhlY3V0aW9uIGVudmlyb25tZW50IChIUy9NKS4KCgo+Cj4gVGhlIElTQSBkb2Vz bid0IHNheSB0aGF0IE0tbW9kZSBtZWFucyBTQkkuICBXZSB0cnkgcmVhbGx5IGhhcmQgdG8gaGF2 ZQo+IFNCSSBvbiBhbGwgUklTQy1WLCBidXQgSSB0aGluayBLVk0gaXMgdGFraW5nIGl0IGEgYml0 IHRvbyBmYXIuCj4KPiBXZSBjYW4gZGlzY3VzcyBob3cgYmVzdCB0byBkZXNjcmliZSBTQkksIHNv IHVzZXJzcGFjZSBjYW4gY2hvb3NlIHRvCj4gYWNjZWxlcmF0ZSB0aGUgTS1tb2RlIGluIEtWTSwg YnV0IEkgdGhpbmsgdGhhdCB0aGUgYWJpbGl0eSB0byBlbXVsYXRlCj4gTS1tb2RlIGluIHVzZXJz cGFjZSBzaG91bGQgYmUgcHJvdmlkZWQuCkkgYW0gc3RpbGwgdHJ5aW5nIHRvIHVuZGVyc3RhbmQg dGhlIGFkdmFudGFnZXMgb2YgZW11bGF0aW5nIHRoZSBNLW1vZGUgCmluIHRoZSB1c2VyIHNwYWNl LgpDYW4geW91IHBsZWFzZSBlbGFib3JhdGUgPwpJIGFtIGFzc3VtaW5nIHlvdSBhcmUgbm90IGhp bnRpbmcgTmVzdGVkIHZpcnR1YWxpemF0aW9uIHdoaWNoIGNhbiBiZSAKYWNoaWV2ZWQgd2l0aCBl eGlzdGluZwpJU0EgcHJvdmlkZWQgbWVjaGFuaXNtcyBhbmQgYWNjZWxlcmF0ZWQgYnkgU0JJIE5B Q0wuCgoKCi0tIAprdm0tcmlzY3YgbWFpbGluZyBsaXN0Cmt2bS1yaXNjdkBsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8va3ZtLXJp c2N2Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out-180.mta1.migadu.com (out-180.mta1.migadu.com [95.215.58.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DD138280338 for ; Fri, 30 May 2025 19:29:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.180 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748633392; cv=none; b=H75OpD5+f8OaPC3eA3oS1fH2tPA53TbvowgFl2VjI6sisT+fEKinCSmxH3CMOcUwWn6GSvnw5dUJeRly3IazWR5GkmPpz8XtujxJvx9g2jV63Z4wHM9qP0zCC2H6VcUd1Aln10YxjSsHKP2zMBLoqqLWzueQKRJiYdQEWyiaJVM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748633392; c=relaxed/simple; bh=VHN1sgts+2xB2xrF6P1F1g5v6UKe5rxGHeCV1L66Wxo=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=IFEd0Rt6EFnP4B46ujNuqvjBRMDPLsykPK6I3p3zx8cKIBCGUt2rgXCWMwW2ndsXe9MkfY67D5e69QAzv7sjAqS/oPf1+XeL35aPvx4ETqERijIj9SPlH1uAYPViW2Zfv8l3qtH39Azf5PqV9fvq68B66ctcANjwlcDGZdSV6NE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=qejIatAl; arc=none smtp.client-ip=95.215.58.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="qejIatAl" Message-ID: <0dcd01cd-419f-4225-b22c-cbaf82718235@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1748633376; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tkiGcg9Pp6HB9HenrxwiWzm/IMuLvXwvBc2ohIpTcuU=; b=qejIatAl3IVBpVjd5b1sjdObGZ7rJABj1bGentvPoaT9Gk2nMpl/NODNwtlNVuxD7mIwiW xTQUdOt6Gu3DaCC7BjJCdrWEHh521evt/yWAJJhiesYDNH5GuqToxdnr9DVQXVDc4uDjZ3 Hq4CVYV8tCgSZSBhWUbuMlqAshgB7wA= Date: Fri, 30 May 2025 12:29:30 -0700 Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Subject: Re: [PATCH v3 9/9] RISC-V: KVM: Upgrade the supported SBI version to 3.0 To: =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Andrew Jones Cc: Anup Patel , Will Deacon , Mark Rutland , Paul Walmsley , Palmer Dabbelt , Mayuresh Chitale , linux-riscv@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv References: <20250522-pmu_event_info-v3-0-f7bba7fd9cfe@rivosinc.com> <20250522-pmu_event_info-v3-9-f7bba7fd9cfe@rivosinc.com> <61627296-6f94-45ea-9410-ed0ea2251870@linux.dev> <20250526-224478e15ee50987124a47ac@orel> <20250528-ff9f6120de39c3e4eefc5365@orel> <1169138f-8445-4522-94dd-ad008524c600@linux.dev> <2bac252c-883c-4f8a-9ae1-283660991520@linux.dev> Content-Language: en-US X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Atish Patra In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT On 5/30/25 4:09 AM, Radim Krčmář wrote: > 2025-05-29T11:44:38-07:00, Atish Patra : >> On 5/29/25 3:24 AM, Radim Krčmář wrote: >>> I originally gave up on the idea, but I feel kinda bad for Drew now, so >>> trying again: >> I am sorry if some of my replies came across in the wrong way. That was >> never >> the intention. > I didn't mean to accuse you, my apologies. I agree with Drew's > positions, so to expand on a question that wasn't touched in his mail: > >>> Even if userspace wants SBI for the M-mode interface, security minded >> This is probably a 3rd one ? Why we want M-mode interface in the user >> space ? > It is about turning KVM into an ISA accelerator. > > A guest thinks it is running in S/HS-mode. > The ecall instruction traps to M-mode. RISC-V H extension doesn't > accelerate M-mode, so we have to emulate the trap in software. We don't need to accelerate M-mode. That's the beauty of the RISC-V H extension. The ISA is designed in such a way that the SBI is the interface between the supervisor environment (VS/HS) and the supervisor execution environment (HS/M). > > The ISA doesn't say that M-mode means SBI. We try really hard to have > SBI on all RISC-V, but I think KVM is taking it a bit too far. > > We can discuss how best to describe SBI, so userspace can choose to > accelerate the M-mode in KVM, but I think that the ability to emulate > M-mode in userspace should be provided. I am still trying to understand the advantages of emulating the M-mode in the user space. Can you please elaborate ? I am assuming you are not hinting Nested virtualization which can be achieved with existing ISA provided mechanisms and accelerated by SBI NACL. 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 0529BC5AD49 for ; Fri, 30 May 2025 19:32:01 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=JaCe4IiuYcDNEGqEY0DkFu+vtOHtOc9Ci175dB5iC+Y=; b=D4wPDoy0Oj6H2w 8RNtYPLoGwqA9QCRr0ere23Q67jkWoPcO+HVRG4rYaAo6NGnpflLcBwVBSy+TXPo6UtQ7QjFcnzww sKzNsKDZY5VRXu9zXkTM6BieqZ8MlsgkTtPxrc7TWajAQPvuPOcevgqo2jNrAKUOvB1/Y7PAhbNAB WwmZEiq9ZOqlMba5e/RIFrsKf/bIfbLy51APTHyL143pQ0bSElv0p4TxJ1waV3jiYyrokuU1FTNul g87oBs32UWdTPGWMDArdTCyb8OmejjyApVO+ikzGJ1I8HGOnfXQn3eO5DnlYdnmbHRm2AZ/Q6cDMz Ag5EhmSw4SN6c1+jNsDw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uL5SN-00000001bvh-1u4i; Fri, 30 May 2025 19:31:55 +0000 Received: from out-179.mta1.migadu.com ([2001:41d0:203:375::b3]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uL5QM-00000001bV3-0u3i for linux-riscv@lists.infradead.org; Fri, 30 May 2025 19:29:51 +0000 Message-ID: <0dcd01cd-419f-4225-b22c-cbaf82718235@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1748633376; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tkiGcg9Pp6HB9HenrxwiWzm/IMuLvXwvBc2ohIpTcuU=; b=qejIatAl3IVBpVjd5b1sjdObGZ7rJABj1bGentvPoaT9Gk2nMpl/NODNwtlNVuxD7mIwiW xTQUdOt6Gu3DaCC7BjJCdrWEHh521evt/yWAJJhiesYDNH5GuqToxdnr9DVQXVDc4uDjZ3 Hq4CVYV8tCgSZSBhWUbuMlqAshgB7wA= Date: Fri, 30 May 2025 12:29:30 -0700 MIME-Version: 1.0 Subject: Re: [PATCH v3 9/9] RISC-V: KVM: Upgrade the supported SBI version to 3.0 To: =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Andrew Jones Cc: Anup Patel , Will Deacon , Mark Rutland , Paul Walmsley , Palmer Dabbelt , Mayuresh Chitale , linux-riscv@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv References: <20250522-pmu_event_info-v3-0-f7bba7fd9cfe@rivosinc.com> <20250522-pmu_event_info-v3-9-f7bba7fd9cfe@rivosinc.com> <61627296-6f94-45ea-9410-ed0ea2251870@linux.dev> <20250526-224478e15ee50987124a47ac@orel> <20250528-ff9f6120de39c3e4eefc5365@orel> <1169138f-8445-4522-94dd-ad008524c600@linux.dev> <2bac252c-883c-4f8a-9ae1-283660991520@linux.dev> Content-Language: en-US X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Atish Patra In-Reply-To: X-Migadu-Flow: FLOW_OUT X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250530_122950_386047_562F9C75 X-CRM114-Status: GOOD ( 15.29 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org Ck9uIDUvMzAvMjUgNDowOSBBTSwgUmFkaW0gS3LEjW3DocWZIHdyb3RlOgo+IDIwMjUtMDUtMjlU MTE6NDQ6MzgtMDc6MDAsIEF0aXNoIFBhdHJhIDxhdGlzaC5wYXRyYUBsaW51eC5kZXY+Ogo+PiBP biA1LzI5LzI1IDM6MjQgQU0sIFJhZGltIEtyxI1tw6HFmSB3cm90ZToKPj4+IEkgb3JpZ2luYWxs eSBnYXZlIHVwIG9uIHRoZSBpZGVhLCBidXQgSSBmZWVsIGtpbmRhIGJhZCBmb3IgRHJldyBub3cs IHNvCj4+PiB0cnlpbmcgYWdhaW46Cj4+IEkgYW0gc29ycnkgaWYgc29tZSBvZiBteSByZXBsaWVz IGNhbWUgYWNyb3NzIGluIHRoZSB3cm9uZyB3YXkuIFRoYXQgd2FzCj4+IG5ldmVyCj4+IHRoZSBp bnRlbnRpb24uCj4gSSBkaWRuJ3QgbWVhbiB0byBhY2N1c2UgeW91LCBteSBhcG9sb2dpZXMuICBJ IGFncmVlIHdpdGggRHJldydzCj4gcG9zaXRpb25zLCBzbyB0byBleHBhbmQgb24gYSBxdWVzdGlv biB0aGF0IHdhc24ndCB0b3VjaGVkIGluIGhpcyBtYWlsOgo+Cj4+PiBFdmVuIGlmIHVzZXJzcGFj ZSB3YW50cyBTQkkgZm9yIHRoZSBNLW1vZGUgaW50ZXJmYWNlLCBzZWN1cml0eSBtaW5kZWQKPj4g VGhpcyBpcyBwcm9iYWJseSBhIDNyZCBvbmUgPyBXaHkgd2Ugd2FudCBNLW1vZGUgaW50ZXJmYWNl IGluIHRoZSB1c2VyCj4+IHNwYWNlID8KPiBJdCBpcyBhYm91dCB0dXJuaW5nIEtWTSBpbnRvIGFu IElTQSBhY2NlbGVyYXRvci4KPgo+IEEgZ3Vlc3QgdGhpbmtzIGl0IGlzIHJ1bm5pbmcgaW4gUy9I Uy1tb2RlLgo+IFRoZSBlY2FsbCBpbnN0cnVjdGlvbiB0cmFwcyB0byBNLW1vZGUuICBSSVNDLVYg SCBleHRlbnNpb24gZG9lc24ndAo+IGFjY2VsZXJhdGUgTS1tb2RlLCBzbyB3ZSBoYXZlIHRvIGVt dWxhdGUgdGhlIHRyYXAgaW4gc29mdHdhcmUuCldlIGRvbid0IG5lZWQgdG8gYWNjZWxlcmF0ZSBN LW1vZGUuIFRoYXQncyB0aGUgYmVhdXR5IG9mIHRoZSBSSVNDLVYgSCAKZXh0ZW5zaW9uLgpUaGUg SVNBIGlzIGRlc2lnbmVkIGluIHN1Y2ggYSB3YXkgdGhhdCB0aGUgU0JJIGlzIHRoZSBpbnRlcmZh Y2UgYmV0d2VlbiAKdGhlIHN1cGVydmlzb3IgZW52aXJvbm1lbnQgKFZTL0hTKQphbmQgdGhlIHN1 cGVydmlzb3IgZXhlY3V0aW9uIGVudmlyb25tZW50IChIUy9NKS4KCgo+Cj4gVGhlIElTQSBkb2Vz bid0IHNheSB0aGF0IE0tbW9kZSBtZWFucyBTQkkuICBXZSB0cnkgcmVhbGx5IGhhcmQgdG8gaGF2 ZQo+IFNCSSBvbiBhbGwgUklTQy1WLCBidXQgSSB0aGluayBLVk0gaXMgdGFraW5nIGl0IGEgYml0 IHRvbyBmYXIuCj4KPiBXZSBjYW4gZGlzY3VzcyBob3cgYmVzdCB0byBkZXNjcmliZSBTQkksIHNv IHVzZXJzcGFjZSBjYW4gY2hvb3NlIHRvCj4gYWNjZWxlcmF0ZSB0aGUgTS1tb2RlIGluIEtWTSwg YnV0IEkgdGhpbmsgdGhhdCB0aGUgYWJpbGl0eSB0byBlbXVsYXRlCj4gTS1tb2RlIGluIHVzZXJz cGFjZSBzaG91bGQgYmUgcHJvdmlkZWQuCkkgYW0gc3RpbGwgdHJ5aW5nIHRvIHVuZGVyc3RhbmQg dGhlIGFkdmFudGFnZXMgb2YgZW11bGF0aW5nIHRoZSBNLW1vZGUgCmluIHRoZSB1c2VyIHNwYWNl LgpDYW4geW91IHBsZWFzZSBlbGFib3JhdGUgPwpJIGFtIGFzc3VtaW5nIHlvdSBhcmUgbm90IGhp bnRpbmcgTmVzdGVkIHZpcnR1YWxpemF0aW9uIHdoaWNoIGNhbiBiZSAKYWNoaWV2ZWQgd2l0aCBl eGlzdGluZwpJU0EgcHJvdmlkZWQgbWVjaGFuaXNtcyBhbmQgYWNjZWxlcmF0ZWQgYnkgU0JJIE5B Q0wuCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxp bnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK