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 176E8C3ABBF for ; Wed, 7 May 2025 15:03:07 +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:References:Subject:From:To: Cc:Message-Id:Date:Mime-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=cfX+xEtIQtG1rjpspX9eu5bzgHBbD46qMBiDqXmOUCI=; b=WaPL65BnGXfH64 RCO1kouDOrnbucvhaBWRPRzeRU61FFK0d72ZZvMVKW8M72aHk3RKJ4gZ/nuXsWVe3IIP90U2Kkuog Kjl71cdDjXfkAaD73smfJEj8l6ee3M02o+psjoKJyxjfR1rYokE1+3b2w+bsQwyxnS1EIE+8433MR 0yC+Rz2xeNTCoWm2jZ5XQgSn0Rvp/8ljEjhvw4vxnDDHgcbW44xWT99pajPiBHHHXBuhQPrwZ3rph P0udkbT9JQSn2LHBF+O7tOOjtqLEoqEWGkmizFHJSULg9dHyzXj283SfdXpgMrp1Dlb/8I0DJvc/c tqEhuDmCTq+51DbUQeqQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uCgId-0000000Fsyo-39Xl; Wed, 07 May 2025 15:03:07 +0000 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uCfsv-0000000Fo3Z-1Crk for kvm-riscv@lists.infradead.org; Wed, 07 May 2025 14:36:35 +0000 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-3a0ad54f0aeso167894f8f.3 for ; Wed, 07 May 2025 07:36:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1746628591; x=1747233391; darn=lists.infradead.org; h=in-reply-to:references:subject:from:to:cc:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ziqHwwsRYBlnOytFFSvfeo7+WCPTNxHeZbIxMBlJdhs=; b=eZP26Te2X9rJjtl6ajKyQDGJOZmdoQIb2+faNgxHFamE1ofey+ab2gX1s6vY3phMHM oPT/QDAwQyql/+xGU1oVgPZBVLVbJpTRrCBVAsOb94/cVvveHA5GDOJOv8teJY5ES54i f/BrtHM+6c1tFsSCi4ztf5kB/0bGGmJZiDdea6CtiCVyt1ZgYSsPYeZt55AiyzjXbqnx 0QHuKpaX56u14C16E/JKucSxyNv4vSQn7kMD2gBUJ9+Jv3deV5i4c5LA/ZdQ4QZD0mTA qcXBRl1AxNkhcotQye0XNiwByknX7f+aiAGeNDZTgTnmkKj/a5zpwT1Vz106lP03DZEp 9IpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746628591; x=1747233391; h=in-reply-to:references:subject:from:to:cc:message-id:date :content-transfer-encoding:mime-version:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ziqHwwsRYBlnOytFFSvfeo7+WCPTNxHeZbIxMBlJdhs=; b=od/UXRomzsQhVIThppKzrFSItJVmRbZ74ey1uR6UwxpSSc6xhTt/wKXhgM2/VvxriT bG3yuefbBYEIyxnTunqMg1cu+A8K5lNDgrslgMvkfhGAEbEnNMriu5d7QL5OI3hJrGtu u4RwHSfGpC6N5C6nl8exwrjHdaIfOLR8sHwlp1yy6JaqEUXUH+O4zTRCPrhtAqFO6HA0 oWPwjkwoys3YeVBCvHQOelyvRC/gvfoixxo+RQfeX0dtIKZkHjs3hCPyeNO6RaY9upIS W0B/P5kYnpUDwlirCtscrHRqSWLhxVFypioUA1cga+dYbDcNETMGsX7BJo2XFcwliRzU Gj9Q== X-Forwarded-Encrypted: i=1; AJvYcCVsnj5CFZVWHx67tBnwITH9nQH6fagMgxnlbNXwXXkkw+ih97s49BSoAHInSCmejjHNhkkw7zUvLAk=@lists.infradead.org X-Gm-Message-State: AOJu0YzQKL7PBA7VlwJQpnx3baeuK5rHoc4HbXFo31EjhFC8VfTpgPmm KUvlbwu1ofZwRpYKfoQ1wJ5xTGWRk6R3MjE08RMzKrV5F2A8QeJIvM24lPdghcw= X-Gm-Gg: ASbGncvxrDy+RQE21Ar+G197P6CpwE5U7cco2uofjtkj2tBb1IBffntziNQMvyC9a2r d/tEMnXTWq7/55ownkQafOHwlrZXBaY5JlsXCbU0zyfsdTDXt/rgHVntpK/pN4xgCx+PhoQ7uf8 WLuIdpctKTOX8joiwo66Lhnbno3i6DTztXifsOeAIWLWwLt9f8v1ASEwJnQ9GRC+PgyzjgTEvzl OVQgRIJp76Q0LKVOUwmQwz/PaPt1e6A4AlPDjfu5GAQVNF5ZYd+iSOLpm8it6fQxu37qTeioSed GN22HsCn1rf9tZJ8T2I6XHLmKobFdaw+QQiCLCgkGV/WTyWo X-Google-Smtp-Source: AGHT+IEajZZzNeyoeib2XsmQjInc2KEWeUmYjGy4p5Qc/30lHXvX26EPvLDj1a/b0VLqz2Zq6F2iCA== X-Received: by 2002:a5d:64e2:0:b0:3a0:7e53:b52d with SMTP id ffacd0b85a97d-3a0b4a69bdamr1109869f8f.15.1746628590982; Wed, 07 May 2025 07:36:30 -0700 (PDT) Received: from localhost ([2a02:8308:a00c:e200:f39f:9517:bfc5:cd5e]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a099b0efbfsm17536249f8f.69.2025.05.07.07.36.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 07:36:30 -0700 (PDT) Mime-Version: 1.0 Date: Wed, 07 May 2025 16:36:30 +0200 Message-Id: Cc: , , , , "linux-riscv" To: "Atish Patra" , "Anup Patel" , "Atish Patra" , "Paul Walmsley" , "Palmer Dabbelt" , "Alexandre Ghiti" From: =?utf-8?q?Radim_Kr=C4=8Dm=C3=A1=C5=99?= Subject: Re: [PATCH 0/5] Enable hstateen bits lazily for the KVM RISC-V Guests References: <20250505-kvm_lazy_enable_stateen-v1-0-3bfc4008373c@rivosinc.com> In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250507_073633_397633_F875CB2F X-CRM114-Status: GOOD ( 26.08 ) 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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "kvm-riscv" Errors-To: kvm-riscv-bounces+kvm-riscv=archiver.kernel.org@lists.infradead.org MjAyNS0wNS0wNlQxMToyNDo0MS0wNzowMCwgQXRpc2ggUGF0cmEgPGF0aXNoLnBhdHJhQGxpbnV4 LmRldj46Cj4gT24gNS82LzI1IDI6MjQgQU0sIFJhZGltIEtyxI1tw6HFmSB3cm90ZToKPj4gMjAy NS0wNS0wNVQxNDozOToyNS0wNzowMCwgQXRpc2ggUGF0cmEgPGF0aXNocEByaXZvc2luYy5jb20+ Ogo+Pj4gVGhpcyBzZXJpZXMgYWRkcyBzdXBwb3J0IGZvciBlbmFibGluZyBoc3RhdGVlbiBiaXRz IGxhemlseSBhdCBydW50aW1lCj4+PiBpbnN0ZWFkIG9mIHN0YXRpY2FsbHkgYXQgYm9vdGltZS4g VGhlIGJvb3QgdGltZSBlbmFibGluZyBoYXBwZW5zIGZvcgo+Pj4gYWxsIHRoZSBndWVzdHMgaWYg dGhlIHJlcXVpcmVkIGV4dGVuc2lvbnMgYXJlIHByZXNlbnQgaW4gdGhlIGhvc3QgYW5kL29yCj4+ PiBndWVzdC4gVGhhdCBtYXkgbm90IGJlIG5lY2Vzc2FyeSBpZiB0aGUgZ3Vlc3QgbmV2ZXIgZXhl cmNpc2UgdGhhdAo+Pj4gZmVhdHVyZS4gV2UgY2FuIGVuYWJsZSB0aGUgaHN0YXRlZW4gYml0cyB0 aGF0IGNvbnRyb2xzIHRoZSBhY2Nlc3MgbGF6aWx5Cj4+PiB1cG9uIGZpcnN0IGFjY2Vzcy4gVGhp cyBwcm92aWRlcnMgS1ZNIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvZiB3aGljaAo+Pj4gZmVhdHVy ZSBpcyBlbmFibGVkIGluIHRoZSBndWVzdCBhdCBydW50aW1lLgo+Pj4KPj4+IEN1cnJlbnRseSwg dGhlIGZvbGxvd2luZyBoc3RhdGVlbiBiaXRzIGFyZSBzdXBwb3J0ZWQgdG8gY29udHJvbCB0aGUg YWNjZXNzCj4+PiBmcm9tIFZTIG1vZGUuCj4+Pgo+Pj4gMS4gQklUKDU4KTogSU1TSUMgICAgIDog U1RPUEVJIGFuZCBJTVNJQyBndWVzdCBpbnRlcnJ1cHQgZmlsZQo+Pj4gMi4gQklUKDU5KTogQUlB ICAgICAgIDogU0lQSC9TSUVIL1NUT1BJCj4+PiAzLiBCSVQoNjApOiBBSUFfSVNFTCAgOiBJbmRp cmVjdCBjc3IgYWNjZXNzIHZpYSBzaXNlbGVjdC9zaXJlZwo+Pj4gNC4gQklUKDYyKTogSFNFTlZD RkcgIDogU0VOVkNGRyBhY2Nlc3MKPj4+IDUuIEJJVCg2Myk6IFNTVEFURUVOMCA6IFNTVEFURUVO MCBhY2Nlc3MKPj4+Cj4+PiBLVk0gYWxyZWFkeSBzdXBwb3J0IHRyYXAvZW5hYmxpbmcgb2YgQklU KDU4KSBhbmQgQklUKDYwKSBpbiBvcmRlcgo+Pj4gdG8gc3VwcG9ydCBzdyB2ZXJzaW9uIG9mIHRo ZSBndWVzdCBpbnRlcnJ1cHQgZmlsZS4KPj4gSSBkb24ndCB0aGluayBLVk0gdG9nZ2xlcyB0aGUg aHN0YXRlZW4gYml0cyBhdCBydW50aW1lLCBiZWNhdXNlIHRoYXQKPj4gd291bGQgbWVhbiB0aGVy ZSBpcyBhIGJ1ZyBldmVuIGluIGN1cnJlbnQgS1ZNLgo+Cj4gVGhpcyB3YXMgYSB0eXBvLiBJIG1l YW50IHRvIHNheSB0cmFwL2VtdWxhdGUgQklUKDU4KSBhbmQgQklUKDYwKS4KPiBUaGlzIHBhdGNo IHNlcmllcyBpcyB0cnlpbmcgdG8gZW5hYmxlIHRoZSB0b2dnbGluZyBvZiB0aGUgaHN0YXRlZW4g Yml0cyAKPiB1cG9uIGZpcnN0IGFjY2Vzcy4KPgo+IFNvcnJ5IGZvciB0aGUgY29uZnVzaW9uLgoK Tm8gd29ycmllcywgaXQncyBteSBmYXVsdCBmb3IgbWlzcmVhZGluZy4KSSBnb3QgY29uZnVzZWQs IGJlY2F1c2UgdGhlIGNvZGUgbG9va2VkIGxpa2UgZ2VuZXJpYyBsYXp5IGVuYWJsZW1lbnQsCndo aWxlIGl0J3MgcmVhbGx5IG9ubHkgZm9yIHRoZSB1cHBlciAzMiBiaXRzIGFuZCB0aGlzIHNlcmll cyBpcyBub3QgbGF6eQp0b2dnbGluZyBhbnkgVlMtbW9kZSB2aXNpYmxlIGJpdHMuCgo+Pj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgc2Vy aWVzIGV4dGVuZHMKPj4+IHRob3NlIHRvIGVuYWJsZSB0byBjb3JyZXBzb25kaW5nIGhzdGF0ZWVu IGJpdHMgaW4gUEFUQ0gxLiBUaGUgcmVtYWluaW5nCj4+PiBwYXRjaGVzIGFkZHMgbGF6eSBlbmFi bGluZyBzdXBwb3J0IG9mIHRoZSBvdGhlciBiaXRzLgo+PiBUaGUgSVNBIGhhcyBhIHBlY3VsaWFy IGRlc2lnbiBmb3IgaHN0YXRlZW4vc3N0YXRlZW4gaW50ZXJhY3Rpb246Cj4+Cj4+ICAgIEZvciBl dmVyeSBiaXQgaW4gYW4gaHN0YXRlZW4gQ1NSIHRoYXQgaXMgemVybyAod2hldGhlciByZWFkLW9u bHkgemVybwo+PiAgICBvciBzZXQgdG8gemVybyksIHRoZSBzYW1lIGJpdCBhcHBlYXJzIGFzIHJl YWQtb25seSB6ZXJvIGluIHNzdGF0ZWVuCj4+ICAgIHdoZW4gYWNjZXNzZWQgaW4gVlMtbW9kZS4K Pgo+IENvcnJlY3QuCj4KPj4gVGhpcyBtZWFucyB3ZSBtdXN0IGNsZWFyIGJpdCA2MyBpbiBoc3Rh dGVlbiBhbmQgdHJhcCBvbiBzc3RhdGVlbgo+PiBhY2Nlc3NlcyBpZiBhbnkgb2YgdGhlIHNzdGF0 ZWVuIGJpdHMgYXJlIG5vdCBzdXBwb3NlZCB0byBiZSByZWFkLW9ubHkgMAo+PiB0byB0aGUgZ3Vl c3Qgd2hpbGUgdGhlIGh5cGVydmlzb3Igd2FudHMgdG8gaGF2ZSB0aGVtIGFzIDAuCj4KPiBDdXJy ZW50bHksIHRoZXJlIGFyZSB0d28gYml0cyBpbiBzc3RhdGVlbi4gRkNTUiBhbmQgWlZUIHdoaWNo IGFyZSBub3QgCj4gdXNlZCBhbnl3aGVyZSBpbiBvcGVuc2JpL0xpbnV4L0tWTSBzdGFjay4KClRy dWUsIEkgZ3Vlc3Mgd2UgY2FuIGp1c3QgbWFrZSBzdXJlIHRoZSBjdXJyZW50IGNvZGUgY2FuJ3Qg YnkgbWlzdGFrZQpsYXppbHkgZW5hYmxlIGFueSBvZiB0aGUgYm90dG9tIDMyIGhzdGF0ZWVuIGJp dHMgYW5kIGhhbmRsZSB0aGUgY2FzZQpwcm9wZXJseSBsYXRlci4KCj4gSW4gY2FzZSwgd2UgbmVl ZCB0byBlbmFibGUgb25lIG9mIHRoZSBiaXRzIGluIHRoZSBmdXR1cmUsIGRvZXMgaHlwZXZpc29y IAo+IG5lZWQgdG8gdHJhcCBldmVyeSBzc3RhdGVlbiBhY2Nlc3MgPwoKV2UgbmVlZCB0byB0cmFw IHNzdGF0ZWVuIGFjY2Vzc2VzIGlmIHRoZSBndWVzdCBpcyBzdXBwb3NlZCB0byBiZSBhYmxlIHRv CmNvbnRyb2wgYSBiaXQgaW4gc3N0YXRlZW4sIGJ1dCB0aGUgaHlwZXJ2aXNvciB3YW50cyB0byBs YXppbHkgZW5hYmxlCnRoYXQgZmVhdHVyZSBhbmQgc2V0cyAwIGluIGhzdGF0ZWVuIHVudGlsIHRo ZSBmaXJzdCB0cmFwLgoKSWYgaHN0YXRlZW4gaXMgMSBmb3IgYWxsIGZlYXR1cmVzIHRoYXQgdGhl IGd1ZXN0IGNvdWxkIGNvbnRyb2wgdGhyb3VnaApzc3RhdGVlbiwgd2UgY2FuIGFuZCBzaG91bGQg anVzdCBzZXQgdGhlIFNFIGJpdCAoNjMpIHRvIDEgYXMgd2VsbC4KCj4gQXMgcGVyIG15IHVuZGVy c3RhbmRpbmcsIGl0IHNob3VsZCBiZSBoYW5kbGVkIGluIHRoZSBoYXJkd2FyZSBhbmQgYW55IAo+ IHdyaXRlIGFjY2VzcyB0byB0byB0aG9zZSBiaXRzIHNob3VsZCBiZSBtYXNrZWQKPiB3aXRoIGhz dGF0ZWVuIGJpdCB2YWx1ZSBzbyB0aGF0IGl0IG1hdGNoZXMuIFRoYXQncyB3aGF0IHdlIGRvIGlu IFFlbXUgYXMgCj4gd2VsbC4KClJpZ2h0LCBoYXJkd2FyZSB3aWxsIGRvIHRoZSBqb2IgbW9zdCBv ZiB0aGUgdGltZS4gIEl0J3MgcmVhbGx5IG9ubHkgZm9yCnRoZSBsYXp5IG1hc2tpbmcsIGJlYXVz ZSBpZiB3ZSBkb24ndCB0cmFwIHRoZSBzdGF0ZWVuIGFjY2Vzc2VzLCB0aGV5CndvdWxkIGRpZmZl ciBmcm9tIHdoYXQgdGhlIGd1ZXN0IHNob3VsZCBzZWUuCgotLSAKa3ZtLXJpc2N2IG1haWxpbmcg bGlzdAprdm0tcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2t2bS1yaXNjdgo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E6836288CBD for ; Wed, 7 May 2025 14:36:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746628594; cv=none; b=kllDncbsu1clSJaWlZgL4yW5Cs1l9yP47Bqfr6MgyFlKn1Q1/pIiKZmGiyGmB7S6GmpfWEzjo5YPaXfKCKzX8VCA/+amnmD0fEl3UqEsdu97D6HB6Hx/sLUWV/SzKLW0PUBtVI8A/FTh8YuUGlZukIC26mKKNZ27XmyC+bjJAgA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746628594; c=relaxed/simple; bh=fVlSFbG3u628EYseVWSf4N6fNlIkvPxjlWaKQ+obPNo=; h=Mime-Version:Content-Type:Date:Message-Id:Cc:To:From:Subject: References:In-Reply-To; b=ctY/zezNTm6PpOgdFiwj+JNGRom0Qkeyl3hcHkmHwOXUw4BGCzlMrpPO+byMghXThEbpEEYUkJLDB4A+bH8ToX3vqDpVDgVKTqYCMeDSzsm/QuJ4J5CFMbF0LI0AXPjBeKWMYiWBVP/WaLN3SHo6/JnsrwX0bSaBJBuOFKQTRnA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=GGpJfSiD; arc=none smtp.client-ip=209.85.221.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="GGpJfSiD" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-39c2688e2bbso467853f8f.1 for ; Wed, 07 May 2025 07:36:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1746628591; x=1747233391; darn=vger.kernel.org; h=in-reply-to:references:subject:from:to:cc:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ziqHwwsRYBlnOytFFSvfeo7+WCPTNxHeZbIxMBlJdhs=; b=GGpJfSiDkF+av8Huk4dE9niZ99bCkYcYkCWrZbetJrdHyzZxjyLSN4DT6E1eJrTjAr EYvegDuqJtBtE/L2W+JIfJkA9r3eZPAi9OE4GsB0LdiUJapHnYU0drsD6Fh+/GwXrwJ6 D+ZaDKxlf9vhbJApMTqwGQ7PeiUEtsBGaPd6DdHB0j8Z5HWPRqbYSQcJN1j2YV3yi/5l IXaIlKuL2qAas8IkLSfCuW0cHIH9KCIkD4AR90f0pA8O6p9rjIb9EoNjNVDsA5crd+54 xgn7M30UZd0wsyQmLIKpb/Tm1VeLA20t0J8KyKrEBst1YeK86p7g4D80bTCn/eOltZkn ILEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746628591; x=1747233391; h=in-reply-to:references:subject:from:to:cc:message-id:date :content-transfer-encoding:mime-version:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ziqHwwsRYBlnOytFFSvfeo7+WCPTNxHeZbIxMBlJdhs=; b=rZJKad+g0I6fFL7Q/wbCFDkU+pkzT0SAj3YOA68oLay4wKfOjpQa3JcBQfdqnv88pV 0PKWpKow3fRWBx0VKilIxrNBnGrfcU8R1Ou5WebQUsoLO7yebalYdAzbGdz1xIl1oMmP IAnEkkMUwCurHLoKnlCeQYtrJVzAVIOhlFELOQ+ObpKgKpWNw83Caftms0gXutVsY3li yaDahgzd+ZUCQk/Abpej8dhvSHvshUmZ61irF1npwmfY8+qgajIuF4zELQtsqOEzJqto q/kYAgbLN7LPvIrE2lL9a/yx/P/zzYRiaJV1k3Aa6Pbvc0dEUYY+eQX7AQWV9kFbhTuR R0+Q== X-Gm-Message-State: AOJu0YyaPYt1CM4NyeUtSVcPZdQU4i8tUZdmgMiKHR8dhBaHWTVyh5wt NZuvjxBjAPruqCG1KOH0N+sb78uV2LcLes8hnw2KQKuZsNBv93qfZDM1v+efe8Q= X-Gm-Gg: ASbGncuYarV/G5CLvXzLpKpnzbJ3T9Zh8IoFYI7pfls7oYuF8Dss1fpwY//QTTNV8ze GXOUutSLSbP3G4o47bmIzmrgqbj6g2mfY8WM8RwA7LoI+e7gUuVHhQa+8vuLYTFTSThOUEC9u56 GwBTeifx5a3xdtxwSL8BaPxCD29lQHmUAWBuH8pjvGiXebG1U/TnENNJffwm46aOpGwPcR3Njyl UobnzpZ9ZGijAdfcKMCxbx7lXnv5/bedXm2Ip0GdMfdiSxgRW9UxrOLlxhOuxj8/36s4eppsf4v ESlkJYFcC0cV50JgcotHM7T++WR7ZBcjhnYjwFP3OUbX078c X-Google-Smtp-Source: AGHT+IEajZZzNeyoeib2XsmQjInc2KEWeUmYjGy4p5Qc/30lHXvX26EPvLDj1a/b0VLqz2Zq6F2iCA== X-Received: by 2002:a5d:64e2:0:b0:3a0:7e53:b52d with SMTP id ffacd0b85a97d-3a0b4a69bdamr1109869f8f.15.1746628590982; Wed, 07 May 2025 07:36:30 -0700 (PDT) Received: from localhost ([2a02:8308:a00c:e200:f39f:9517:bfc5:cd5e]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a099b0efbfsm17536249f8f.69.2025.05.07.07.36.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 07:36:30 -0700 (PDT) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Wed, 07 May 2025 16:36:30 +0200 Message-Id: Cc: , , , , "linux-riscv" To: "Atish Patra" , "Anup Patel" , "Atish Patra" , "Paul Walmsley" , "Palmer Dabbelt" , "Alexandre Ghiti" From: =?utf-8?q?Radim_Kr=C4=8Dm=C3=A1=C5=99?= Subject: Re: [PATCH 0/5] Enable hstateen bits lazily for the KVM RISC-V Guests References: <20250505-kvm_lazy_enable_stateen-v1-0-3bfc4008373c@rivosinc.com> In-Reply-To: 2025-05-06T11:24:41-07:00, Atish Patra : > On 5/6/25 2:24 AM, Radim Kr=C4=8Dm=C3=A1=C5=99 wrote: >> 2025-05-05T14:39:25-07:00, Atish Patra : >>> This series adds support for enabling hstateen bits lazily at runtime >>> instead of statically at bootime. The boot time enabling happens for >>> all the guests if the required extensions are present in the host and/o= r >>> guest. That may not be necessary if the guest never exercise that >>> feature. We can enable the hstateen bits that controls the access lazil= y >>> upon first access. This providers KVM more granular control of which >>> feature is enabled in the guest at runtime. >>> >>> Currently, the following hstateen bits are supported to control the acc= ess >>> from VS mode. >>> >>> 1. BIT(58): IMSIC : STOPEI and IMSIC guest interrupt file >>> 2. BIT(59): AIA : SIPH/SIEH/STOPI >>> 3. BIT(60): AIA_ISEL : Indirect csr access via siselect/sireg >>> 4. BIT(62): HSENVCFG : SENVCFG access >>> 5. BIT(63): SSTATEEN0 : SSTATEEN0 access >>> >>> KVM already support trap/enabling of BIT(58) and BIT(60) in order >>> to support sw version of the guest interrupt file. >> I don't think KVM toggles the hstateen bits at runtime, because that >> would mean there is a bug even in current KVM. > > This was a typo. I meant to say trap/emulate BIT(58) and BIT(60). > This patch series is trying to enable the toggling of the hstateen bits= =20 > upon first access. > > Sorry for the confusion. No worries, it's my fault for misreading. I got confused, because the code looked like generic lazy enablement, while it's really only for the upper 32 bits and this series is not lazy toggling any VS-mode visible bits. >>> This series extends >>> those to enable to correpsonding hstateen bits in PATCH1. The remaining >>> patches adds lazy enabling support of the other bits. >> The ISA has a peculiar design for hstateen/sstateen interaction: >> >> For every bit in an hstateen CSR that is zero (whether read-only zero >> or set to zero), the same bit appears as read-only zero in sstateen >> when accessed in VS-mode. > > Correct. > >> This means we must clear bit 63 in hstateen and trap on sstateen >> accesses if any of the sstateen bits are not supposed to be read-only 0 >> to the guest while the hypervisor wants to have them as 0. > > Currently, there are two bits in sstateen. FCSR and ZVT which are not=20 > used anywhere in opensbi/Linux/KVM stack. True, I guess we can just make sure the current code can't by mistake lazily enable any of the bottom 32 hstateen bits and handle the case properly later. > In case, we need to enable one of the bits in the future, does hypevisor= =20 > need to trap every sstateen access ? We need to trap sstateen accesses if the guest is supposed to be able to control a bit in sstateen, but the hypervisor wants to lazily enable that feature and sets 0 in hstateen until the first trap. If hstateen is 1 for all features that the guest could control through sstateen, we can and should just set the SE bit (63) to 1 as well. > As per my understanding, it should be handled in the hardware and any=20 > write access to to those bits should be masked > with hstateen bit value so that it matches. That's what we do in Qemu as= =20 > well. Right, hardware will do the job most of the time. It's really only for the lazy masking, beause if we don't trap the stateen accesses, they would differ from what the guest should see. 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 35D6DC3ABBF for ; Wed, 7 May 2025 15:03:20 +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:References:Subject:From:To: Cc:Message-Id:Date:Mime-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=4AnfImlOyWTzs9U3QAo1HbSTbPHnpmqHQkJMbVIPxp4=; b=lTkh/kNiGNZ8MU mPbfh16G+EJKcSS0Honyw2RR5yc+1v4lliiSYSOkVb6NYDn7pudPrk8m/7nChCHcTmNk22hmtgH79 Y9TOomcNGnzQUHKkzO2pFqfGgwWBc4cQXvxQJy6gERJWvu9qL0Q2b3zaj3jXcBH5Jq+L/zqCzBSpM UDDHcnsmqXPxEPq2tXQsYEJtihHfS9t41vXSYeH5w5C2tRyKP7UPxsi8mW7HKAr9VvN1Pd0hCF3JW pWPKdd8y/mLq7e7b7AXCz+z211IazDpzmGkLfAo/olAkY+RrUA1iyp4azFaFYJ5xc5T9Whse5+dHz yuSdRBFkV2MbKa1dnO6Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uCgId-0000000Fsy5-0eFa; Wed, 07 May 2025 15:03:07 +0000 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uCfsv-0000000Fo3a-1Evf for linux-riscv@lists.infradead.org; Wed, 07 May 2025 14:36:34 +0000 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-441c0d42233so4360375e9.0 for ; Wed, 07 May 2025 07:36:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1746628591; x=1747233391; darn=lists.infradead.org; h=in-reply-to:references:subject:from:to:cc:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ziqHwwsRYBlnOytFFSvfeo7+WCPTNxHeZbIxMBlJdhs=; b=eZP26Te2X9rJjtl6ajKyQDGJOZmdoQIb2+faNgxHFamE1ofey+ab2gX1s6vY3phMHM oPT/QDAwQyql/+xGU1oVgPZBVLVbJpTRrCBVAsOb94/cVvveHA5GDOJOv8teJY5ES54i f/BrtHM+6c1tFsSCi4ztf5kB/0bGGmJZiDdea6CtiCVyt1ZgYSsPYeZt55AiyzjXbqnx 0QHuKpaX56u14C16E/JKucSxyNv4vSQn7kMD2gBUJ9+Jv3deV5i4c5LA/ZdQ4QZD0mTA qcXBRl1AxNkhcotQye0XNiwByknX7f+aiAGeNDZTgTnmkKj/a5zpwT1Vz106lP03DZEp 9IpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746628591; x=1747233391; h=in-reply-to:references:subject:from:to:cc:message-id:date :content-transfer-encoding:mime-version:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ziqHwwsRYBlnOytFFSvfeo7+WCPTNxHeZbIxMBlJdhs=; b=uzxE+VJvNHin/TBqOQc8LnxrPcvNHK7VElMLePN+h5028EyNEpDczeMEaI0eIZxpA8 LyhSzDQ7H8fakyAjwRrURborxnT7r6R7T2HmmhEspLXMjK4cTVK7LG7Xl0sHVfxO6gti oPrWdHoDCjAX2gQ1Q0zOpFVqmYfRL8tqQ0Ieo5j0iW659YhhiqrDpdogFpltRIXQrra2 pVOcWhzHC16GLPV3eL4wPZZ0ORTl1Q18h98EJAYT0XKmHvwfYXJU7IveBV0bBQrRPgK/ dsPfQlyPv5iwUTXJ2yOqIG/44JQibudoR0HVysBIeggNlUmQ5xmTKQQvC2T7Hu2A6rH8 JpVA== X-Forwarded-Encrypted: i=1; AJvYcCUHUBIDj/LjaqSf8/0e8gm893iGhvcRNWL6RwUGotJt7UlC9Ae4NgAM3+7zCOQWORGqPmDe7h9EoWBGAg==@lists.infradead.org X-Gm-Message-State: AOJu0Yzf8Bt66KwjcysJFglNEiApXoAoOLA0F6EHbvcghxDmDICixDBm Ji1U/yWPG2KWNMQuzpNIbyIvHQAuZaG3gWtq2r6ubT7oHnoAyyP/51BnLjLf4p0= X-Gm-Gg: ASbGncvToMkYs/VPrKdWDqFa43q3PX6Cz0XK3OuI3Ea1BlqRFbmGs0YHgbEf8HpG8cs nO22zgPFD8ZXs4cWVtmJqe4xnOn+oV7B/fYTxR2lVtTOWczHbDivs3Zln7vKnatAwA4D9iI9Ubs qhax3FhYPDVoRbF9j5qSrBkQiDR/j8ulzIDG7VqAXZR8Te/M00EL0+iG++fvP8qI+pBzvZmpLta W+/97sNYyHkQtciD9ly6Pbe4Hl5U034ZTbXbvbs7wH+tJtmOL+eZJ5A4ygmvGKD3q+DpYElGLOX bZQUJVCUFtXGATWBym2IhumJvS4mYeLBlWtKz90w8nZNX58W X-Google-Smtp-Source: AGHT+IEajZZzNeyoeib2XsmQjInc2KEWeUmYjGy4p5Qc/30lHXvX26EPvLDj1a/b0VLqz2Zq6F2iCA== X-Received: by 2002:a5d:64e2:0:b0:3a0:7e53:b52d with SMTP id ffacd0b85a97d-3a0b4a69bdamr1109869f8f.15.1746628590982; Wed, 07 May 2025 07:36:30 -0700 (PDT) Received: from localhost ([2a02:8308:a00c:e200:f39f:9517:bfc5:cd5e]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a099b0efbfsm17536249f8f.69.2025.05.07.07.36.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 07:36:30 -0700 (PDT) Mime-Version: 1.0 Date: Wed, 07 May 2025 16:36:30 +0200 Message-Id: Cc: , , , , "linux-riscv" To: "Atish Patra" , "Anup Patel" , "Atish Patra" , "Paul Walmsley" , "Palmer Dabbelt" , "Alexandre Ghiti" From: =?utf-8?q?Radim_Kr=C4=8Dm=C3=A1=C5=99?= Subject: Re: [PATCH 0/5] Enable hstateen bits lazily for the KVM RISC-V Guests References: <20250505-kvm_lazy_enable_stateen-v1-0-3bfc4008373c@rivosinc.com> In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250507_073633_367476_8F3033ED X-CRM114-Status: GOOD ( 26.08 ) 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 MjAyNS0wNS0wNlQxMToyNDo0MS0wNzowMCwgQXRpc2ggUGF0cmEgPGF0aXNoLnBhdHJhQGxpbnV4 LmRldj46Cj4gT24gNS82LzI1IDI6MjQgQU0sIFJhZGltIEtyxI1tw6HFmSB3cm90ZToKPj4gMjAy NS0wNS0wNVQxNDozOToyNS0wNzowMCwgQXRpc2ggUGF0cmEgPGF0aXNocEByaXZvc2luYy5jb20+ Ogo+Pj4gVGhpcyBzZXJpZXMgYWRkcyBzdXBwb3J0IGZvciBlbmFibGluZyBoc3RhdGVlbiBiaXRz IGxhemlseSBhdCBydW50aW1lCj4+PiBpbnN0ZWFkIG9mIHN0YXRpY2FsbHkgYXQgYm9vdGltZS4g VGhlIGJvb3QgdGltZSBlbmFibGluZyBoYXBwZW5zIGZvcgo+Pj4gYWxsIHRoZSBndWVzdHMgaWYg dGhlIHJlcXVpcmVkIGV4dGVuc2lvbnMgYXJlIHByZXNlbnQgaW4gdGhlIGhvc3QgYW5kL29yCj4+ PiBndWVzdC4gVGhhdCBtYXkgbm90IGJlIG5lY2Vzc2FyeSBpZiB0aGUgZ3Vlc3QgbmV2ZXIgZXhl cmNpc2UgdGhhdAo+Pj4gZmVhdHVyZS4gV2UgY2FuIGVuYWJsZSB0aGUgaHN0YXRlZW4gYml0cyB0 aGF0IGNvbnRyb2xzIHRoZSBhY2Nlc3MgbGF6aWx5Cj4+PiB1cG9uIGZpcnN0IGFjY2Vzcy4gVGhp cyBwcm92aWRlcnMgS1ZNIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvZiB3aGljaAo+Pj4gZmVhdHVy ZSBpcyBlbmFibGVkIGluIHRoZSBndWVzdCBhdCBydW50aW1lLgo+Pj4KPj4+IEN1cnJlbnRseSwg dGhlIGZvbGxvd2luZyBoc3RhdGVlbiBiaXRzIGFyZSBzdXBwb3J0ZWQgdG8gY29udHJvbCB0aGUg YWNjZXNzCj4+PiBmcm9tIFZTIG1vZGUuCj4+Pgo+Pj4gMS4gQklUKDU4KTogSU1TSUMgICAgIDog U1RPUEVJIGFuZCBJTVNJQyBndWVzdCBpbnRlcnJ1cHQgZmlsZQo+Pj4gMi4gQklUKDU5KTogQUlB ICAgICAgIDogU0lQSC9TSUVIL1NUT1BJCj4+PiAzLiBCSVQoNjApOiBBSUFfSVNFTCAgOiBJbmRp cmVjdCBjc3IgYWNjZXNzIHZpYSBzaXNlbGVjdC9zaXJlZwo+Pj4gNC4gQklUKDYyKTogSFNFTlZD RkcgIDogU0VOVkNGRyBhY2Nlc3MKPj4+IDUuIEJJVCg2Myk6IFNTVEFURUVOMCA6IFNTVEFURUVO MCBhY2Nlc3MKPj4+Cj4+PiBLVk0gYWxyZWFkeSBzdXBwb3J0IHRyYXAvZW5hYmxpbmcgb2YgQklU KDU4KSBhbmQgQklUKDYwKSBpbiBvcmRlcgo+Pj4gdG8gc3VwcG9ydCBzdyB2ZXJzaW9uIG9mIHRo ZSBndWVzdCBpbnRlcnJ1cHQgZmlsZS4KPj4gSSBkb24ndCB0aGluayBLVk0gdG9nZ2xlcyB0aGUg aHN0YXRlZW4gYml0cyBhdCBydW50aW1lLCBiZWNhdXNlIHRoYXQKPj4gd291bGQgbWVhbiB0aGVy ZSBpcyBhIGJ1ZyBldmVuIGluIGN1cnJlbnQgS1ZNLgo+Cj4gVGhpcyB3YXMgYSB0eXBvLiBJIG1l YW50IHRvIHNheSB0cmFwL2VtdWxhdGUgQklUKDU4KSBhbmQgQklUKDYwKS4KPiBUaGlzIHBhdGNo IHNlcmllcyBpcyB0cnlpbmcgdG8gZW5hYmxlIHRoZSB0b2dnbGluZyBvZiB0aGUgaHN0YXRlZW4g Yml0cyAKPiB1cG9uIGZpcnN0IGFjY2Vzcy4KPgo+IFNvcnJ5IGZvciB0aGUgY29uZnVzaW9uLgoK Tm8gd29ycmllcywgaXQncyBteSBmYXVsdCBmb3IgbWlzcmVhZGluZy4KSSBnb3QgY29uZnVzZWQs IGJlY2F1c2UgdGhlIGNvZGUgbG9va2VkIGxpa2UgZ2VuZXJpYyBsYXp5IGVuYWJsZW1lbnQsCndo aWxlIGl0J3MgcmVhbGx5IG9ubHkgZm9yIHRoZSB1cHBlciAzMiBiaXRzIGFuZCB0aGlzIHNlcmll cyBpcyBub3QgbGF6eQp0b2dnbGluZyBhbnkgVlMtbW9kZSB2aXNpYmxlIGJpdHMuCgo+Pj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgc2Vy aWVzIGV4dGVuZHMKPj4+IHRob3NlIHRvIGVuYWJsZSB0byBjb3JyZXBzb25kaW5nIGhzdGF0ZWVu IGJpdHMgaW4gUEFUQ0gxLiBUaGUgcmVtYWluaW5nCj4+PiBwYXRjaGVzIGFkZHMgbGF6eSBlbmFi bGluZyBzdXBwb3J0IG9mIHRoZSBvdGhlciBiaXRzLgo+PiBUaGUgSVNBIGhhcyBhIHBlY3VsaWFy IGRlc2lnbiBmb3IgaHN0YXRlZW4vc3N0YXRlZW4gaW50ZXJhY3Rpb246Cj4+Cj4+ICAgIEZvciBl dmVyeSBiaXQgaW4gYW4gaHN0YXRlZW4gQ1NSIHRoYXQgaXMgemVybyAod2hldGhlciByZWFkLW9u bHkgemVybwo+PiAgICBvciBzZXQgdG8gemVybyksIHRoZSBzYW1lIGJpdCBhcHBlYXJzIGFzIHJl YWQtb25seSB6ZXJvIGluIHNzdGF0ZWVuCj4+ICAgIHdoZW4gYWNjZXNzZWQgaW4gVlMtbW9kZS4K Pgo+IENvcnJlY3QuCj4KPj4gVGhpcyBtZWFucyB3ZSBtdXN0IGNsZWFyIGJpdCA2MyBpbiBoc3Rh dGVlbiBhbmQgdHJhcCBvbiBzc3RhdGVlbgo+PiBhY2Nlc3NlcyBpZiBhbnkgb2YgdGhlIHNzdGF0 ZWVuIGJpdHMgYXJlIG5vdCBzdXBwb3NlZCB0byBiZSByZWFkLW9ubHkgMAo+PiB0byB0aGUgZ3Vl c3Qgd2hpbGUgdGhlIGh5cGVydmlzb3Igd2FudHMgdG8gaGF2ZSB0aGVtIGFzIDAuCj4KPiBDdXJy ZW50bHksIHRoZXJlIGFyZSB0d28gYml0cyBpbiBzc3RhdGVlbi4gRkNTUiBhbmQgWlZUIHdoaWNo IGFyZSBub3QgCj4gdXNlZCBhbnl3aGVyZSBpbiBvcGVuc2JpL0xpbnV4L0tWTSBzdGFjay4KClRy dWUsIEkgZ3Vlc3Mgd2UgY2FuIGp1c3QgbWFrZSBzdXJlIHRoZSBjdXJyZW50IGNvZGUgY2FuJ3Qg YnkgbWlzdGFrZQpsYXppbHkgZW5hYmxlIGFueSBvZiB0aGUgYm90dG9tIDMyIGhzdGF0ZWVuIGJp dHMgYW5kIGhhbmRsZSB0aGUgY2FzZQpwcm9wZXJseSBsYXRlci4KCj4gSW4gY2FzZSwgd2UgbmVl ZCB0byBlbmFibGUgb25lIG9mIHRoZSBiaXRzIGluIHRoZSBmdXR1cmUsIGRvZXMgaHlwZXZpc29y IAo+IG5lZWQgdG8gdHJhcCBldmVyeSBzc3RhdGVlbiBhY2Nlc3MgPwoKV2UgbmVlZCB0byB0cmFw IHNzdGF0ZWVuIGFjY2Vzc2VzIGlmIHRoZSBndWVzdCBpcyBzdXBwb3NlZCB0byBiZSBhYmxlIHRv CmNvbnRyb2wgYSBiaXQgaW4gc3N0YXRlZW4sIGJ1dCB0aGUgaHlwZXJ2aXNvciB3YW50cyB0byBs YXppbHkgZW5hYmxlCnRoYXQgZmVhdHVyZSBhbmQgc2V0cyAwIGluIGhzdGF0ZWVuIHVudGlsIHRo ZSBmaXJzdCB0cmFwLgoKSWYgaHN0YXRlZW4gaXMgMSBmb3IgYWxsIGZlYXR1cmVzIHRoYXQgdGhl IGd1ZXN0IGNvdWxkIGNvbnRyb2wgdGhyb3VnaApzc3RhdGVlbiwgd2UgY2FuIGFuZCBzaG91bGQg anVzdCBzZXQgdGhlIFNFIGJpdCAoNjMpIHRvIDEgYXMgd2VsbC4KCj4gQXMgcGVyIG15IHVuZGVy c3RhbmRpbmcsIGl0IHNob3VsZCBiZSBoYW5kbGVkIGluIHRoZSBoYXJkd2FyZSBhbmQgYW55IAo+ IHdyaXRlIGFjY2VzcyB0byB0byB0aG9zZSBiaXRzIHNob3VsZCBiZSBtYXNrZWQKPiB3aXRoIGhz dGF0ZWVuIGJpdCB2YWx1ZSBzbyB0aGF0IGl0IG1hdGNoZXMuIFRoYXQncyB3aGF0IHdlIGRvIGlu IFFlbXUgYXMgCj4gd2VsbC4KClJpZ2h0LCBoYXJkd2FyZSB3aWxsIGRvIHRoZSBqb2IgbW9zdCBv ZiB0aGUgdGltZS4gIEl0J3MgcmVhbGx5IG9ubHkgZm9yCnRoZSBsYXp5IG1hc2tpbmcsIGJlYXVz ZSBpZiB3ZSBkb24ndCB0cmFwIHRoZSBzdGF0ZWVuIGFjY2Vzc2VzLCB0aGV5CndvdWxkIGRpZmZl ciBmcm9tIHdoYXQgdGhlIGd1ZXN0IHNob3VsZCBzZWUuCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QKbGludXgt cmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg==