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 12355C54F2E for ; Fri, 23 May 2025 10:20:56 +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:MIME-Version:Message-ID:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=TKRDLAijOpwYklypdi2WXc4CtqBH6B8lZbW81AY4biE=; b=p337Y8JwDOwNnY QpCcYwwmFpybzbAFPZG0kTqyvhuACXQncNRgR6P2KZ/dPxAcyOy2Tpkw5WOieYdW87PpG1LDYQn09 9tMwAbVH4e/gU9hj74AuOAYq7pdmF7iE2C/bdyJH5cUQPS/nKKwSWdWtq2I4aufsXxEQzVel5owOr /M8FiIbqtphYNSQf9lT2e5cqfVUokBKDmgykrFX1afAG3xlEgjrJyITWUehTB/BpeQaOOJMDsrLj8 OHW5XtjIDWi47CAQFvHS3htkDOLyUp7nazKLamNyNYeGiqQeFFCi9HiJ6Yu0AzKxj7ebVd+Hl1xxo ZWK4lyh4h7OPYBlcjXKQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uIPWE-00000003Z6x-18Qq; Fri, 23 May 2025 10:20:50 +0000 Received: from mail-pf1-x42f.google.com ([2607:f8b0:4864:20::42f]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uIPWB-00000003Z6W-0IWJ for linux-riscv@lists.infradead.org; Fri, 23 May 2025 10:20:48 +0000 Received: by mail-pf1-x42f.google.com with SMTP id d2e1a72fcca58-742c5f3456fso4571733b3a.0 for ; Fri, 23 May 2025 03:20:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1747995646; x=1748600446; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=PcccdexedjdJTtFmXwsVUsVKEhg4QFkUCYHYRVB4dvk=; b=o1Xpsq4YwNYXBqlSCXMxpo3K0E0P3MUQOwKsQKlHOR27r+aIN//yDsTLynn9Oc1mJV 9Dln+kLzYlw5hLEOwaw6IWl7ajUYx4wRT1nhq5WyfkfnRJOJhFmm993cH4xxowivGdBl 48Jdk9lSbYSqSC8eQbOhE8ely3yHgmkhxj5iLtfBgp8U8/2uCMS5YfmkGbsflaX75WVE kcwc3BBq20RtweKcA6lCTVGKdLVqjcD9hvynuznU8L2ALG2oRWVCDOrg93B+Ibi/Dhfi kVmtFdgFwjIQRVoTF/3aHh5qOebUFnRD/Q86zvRPgnI8EXyxBseAhsVWGcKfQ3Uarez4 I5Og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747995646; x=1748600446; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=PcccdexedjdJTtFmXwsVUsVKEhg4QFkUCYHYRVB4dvk=; b=nHoovUnUkpyrknCf5Axafms3Xdo0nY4p+WSb9Dl+eq6gEkcslh1nxfMcdOzjwovG5v 96kCVWXVZxJGVDuEKFkTQ9ZeQkYkc2p1kC8hcxr2Usv40zN8d1+H4ARVuuZRyBzSX7rG KVpaMK75a7ScXUSWy12Kc+gHaOU4lsuY3o60LLjzbufTCGQXW214oQjeZhSu00S2sV1z Otk92Y1qnKTFxxUDNSDEVNClDtm+X5ySM9BSWtoVMTnC7a4xzhnJOIXLqwtcvvjyI4wB UdCfu2iU+e8PpFFynQaibeONGJXDM3cXQVa+GHP5NMcitKyRkjoy6AaUfwr2Ex0IG7H7 bAtg== X-Forwarded-Encrypted: i=1; AJvYcCUBA1SS+RilWMCzuobU4aSP63y2z8Ho94KbCWFPA7RjT/EGa6ziQ/iXq77D+fKZrOqZgj13AAKBRIwM8Q==@lists.infradead.org X-Gm-Message-State: AOJu0YyGfF8tsVXe8nP/rSt61/ayC2+YWJnUSRYYS5TuUqUmCdr+VyTQ XPYfeiuyD8HgVItbJ98UnDIUH3jFdZbfi7Q45xf49IvKpC11zFAmT0tVGQz2noAb/DE= X-Gm-Gg: ASbGnctFTsEZZUBHxpn4jS1E5QaoeVmT8wdxGAPoSY3Ci50IxUKFa27igCD2niAABo1 ZvP03prRSxaYbhgeyFhvFpxgDvyuh8DH0wZClpJOX2W9dYxzjI5ISAHTrHF1RZBVyGtCHFNaKhh /doyrf36MQ7bIK1aNv+BVAWH2QnMwCajVM3etGLIIDB8XAhnBGkQg1Unpcr+MxeGTR8nLJWizYa lpFvGB2vcvYDeLAlXTDRE8ID11OTUXlqsfwu9LsH8Etdz0SYa/GQ6JtGcax+eldL2fd73cg2z6H VAgAoB9Ida3Rt9zGslK5z/+rharEVOgIXJOEZh8cb6T9YpawEcft X-Google-Smtp-Source: AGHT+IGW5MQq2RPWnXafJRg+YIczQ4DhpPwC8Bknbai+r2sLMAlywyZ0F0gvby/uq/dGmtRTBiBSXA== X-Received: by 2002:a05:6a00:4fd6:b0:736:41ec:aaad with SMTP id d2e1a72fcca58-745ed87cdc4mr3458465b3a.14.1747995646026; Fri, 23 May 2025 03:20:46 -0700 (PDT) Received: from carbon-x1.. ([2a01:e0a:e17:9700:16d2:7456:6634:9626]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-742a9829ce8sm12466688b3a.118.2025.05.23.03.20.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 May 2025 03:20:45 -0700 (PDT) From: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= To: Paul Walmsley , Palmer Dabbelt , Anup Patel , Atish Patra , Shuah Khan , Jonathan Corbet , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-kselftest@vger.kernel.org Cc: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= , Samuel Holland , Andrew Jones , Deepak Gupta , Charlie Jenkins Subject: [PATCH v8 00/14] riscv: add SBI FWFT misaligned exception delegation support Date: Fri, 23 May 2025 12:19:17 +0200 Message-ID: <20250523101932.1594077-1-cleger@rivosinc.com> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250523_032047_379934_395522D8 X-CRM114-Status: GOOD ( 19.43 ) 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 VGhlIFNCSSBGaXJtd2FyZSBGZWF0dXJlIGV4dGVuc2lvbiBhbGxvd3MgdGhlIFMtbW9kZSB0byBy ZXF1ZXN0IHNvbWUKc3BlY2lmaWMgZmVhdHVyZXMgKGVpdGhlciBoYXJkd2FyZSBvciBzb2Z0d2Fy ZSkgdG8gYmUgZW5hYmxlZC4gVGhpcwpzZXJpZXMgdXNlcyB0aGlzIGV4dGVuc2lvbiB0byByZXF1 ZXN0IG1pc2FsaWduZWQgYWNjZXNzIGV4Y2VwdGlvbgpkZWxlZ2F0aW9uIHRvIFMtbW9kZSBpbiBv cmRlciB0byBsZXQgdGhlIGtlcm5lbCBoYW5kbGUgaXQuIEl0IGFsc28gYWRkcwpzdXBwb3J0IGZv ciB0aGUgS1ZNIEZXRlQgU0JJIGV4dGVuc2lvbiBiYXNlZCBvbiB0aGUgbWlzYWxpZ25lZCBhY2Nl c3MKaGFuZGxpbmcgaW5mcmFzdHJ1Y3R1cmUuCgpGV0ZUIFNCSSBleHRlbnNpb24gaXMgcGFydCBv ZiB0aGUgU0JJIFYzLjAgc3BlY2lmaWNhdGlvbnMgWzFdLiBJdCBjYW4gYmUKdGVzdGVkIHVzaW5n IHRoZSBxZW11IHByb3ZpZGVkIGF0IFsyXSB3aGljaCBjb250YWlucyB0aGUgc2VyaWVzIGZyb20K WzNdLiBVcHN0cmVhbSBrdm0tdW5pdC10ZXN0cyBjYW4gYmUgdXNlZCBpbnNpZGUga3ZtIHRvIHRl c3RzIHRoZSBjb3JyZWN0CmRlbGVnYXRpb24gb2YgbWlzYWxpZ25lZCBleGNlcHRpb25zLiBVcHN0 cmVhbSBPcGVuU0JJIGNhbiBiZSB1c2VkLgoKTm90ZTogU2luY2UgU0JJIFYzLjAgaXMgbm90IHll dCByYXRpZmllZCwgRldGVCBleHRlbnNpb24gQVBJIGlzIHNwbGl0CmJldHdlZW4gaW50ZXJmYWNl IG9ubHkgYW5kIGltcGxlbWVudGF0aW9uLCBhbGxvd2luZyB0byBwaWNrIG9ubHkgdGhlCmludGVy ZmFjZSB3aGljaCBkbyBub3QgaGF2ZSBoYXJkIGRlcGVuZGVuY2llcyBvbiBTQkkuCgpUaGUgdGVz dHMgY2FuIGJlIHJ1biB1c2luZyB0aGUga3NlbGZ0ZXN0IGZyb20gc2VyaWVzIFs0XS4KCiQgcWVt dS1zeXN0ZW0tcmlzY3Y2NCBcCgktY3B1IHJ2NjQsdHJhcC1taXNhbGlnbmVkLWFjY2Vzcz10cnVl LHY9dHJ1ZSBcCgktTSB2aXJ0IFwKCS1tIDEwMjRNIFwKCS1iaW9zIGZ3X2R5bmFtaWMuYmluIFwK CS1rZXJuZWwgSW1hZ2UKIC4uLgoKICMgLi9taXNhbGlnbmVkCiBUQVAgdmVyc2lvbiAxMwogMS4u MjMKICMgU3RhcnRpbmcgMjMgdGVzdHMgZnJvbSAxIHRlc3QgY2FzZXMuCiAjICBSVU4gICAgICAg ICAgIGdsb2JhbC5ncF9sb2FkX2xoIC4uLgogIyAgICAgICAgICAgIE9LICBnbG9iYWwuZ3BfbG9h ZF9saAogb2sgMSBnbG9iYWwuZ3BfbG9hZF9saAogIyAgUlVOICAgICAgICAgICBnbG9iYWwuZ3Bf bG9hZF9saHUgLi4uCiAjICAgICAgICAgICAgT0sgIGdsb2JhbC5ncF9sb2FkX2xodQogb2sgMiBn bG9iYWwuZ3BfbG9hZF9saHUKICMgIFJVTiAgICAgICAgICAgZ2xvYmFsLmdwX2xvYWRfbHcgLi4u CiAjICAgICAgICAgICAgT0sgIGdsb2JhbC5ncF9sb2FkX2x3CiBvayAzIGdsb2JhbC5ncF9sb2Fk X2x3CiAjICBSVU4gICAgICAgICAgIGdsb2JhbC5ncF9sb2FkX2x3dSAuLi4KICMgICAgICAgICAg ICBPSyAgZ2xvYmFsLmdwX2xvYWRfbHd1CiBvayA0IGdsb2JhbC5ncF9sb2FkX2x3dQogIyAgUlVO ICAgICAgICAgICBnbG9iYWwuZ3BfbG9hZF9sZCAuLi4KICMgICAgICAgICAgICBPSyAgZ2xvYmFs LmdwX2xvYWRfbGQKIG9rIDUgZ2xvYmFsLmdwX2xvYWRfbGQKICMgIFJVTiAgICAgICAgICAgZ2xv YmFsLmdwX2xvYWRfY19sdyAuLi4KICMgICAgICAgICAgICBPSyAgZ2xvYmFsLmdwX2xvYWRfY19s dwogb2sgNiBnbG9iYWwuZ3BfbG9hZF9jX2x3CiAjICBSVU4gICAgICAgICAgIGdsb2JhbC5ncF9s b2FkX2NfbGQgLi4uCiAjICAgICAgICAgICAgT0sgIGdsb2JhbC5ncF9sb2FkX2NfbGQKIG9rIDcg Z2xvYmFsLmdwX2xvYWRfY19sZAogIyAgUlVOICAgICAgICAgICBnbG9iYWwuZ3BfbG9hZF9jX2xk c3AgLi4uCiAjICAgICAgICAgICAgT0sgIGdsb2JhbC5ncF9sb2FkX2NfbGRzcAogb2sgOCBnbG9i YWwuZ3BfbG9hZF9jX2xkc3AKICMgIFJVTiAgICAgICAgICAgZ2xvYmFsLmdwX2xvYWRfc2ggLi4u CiAjICAgICAgICAgICAgT0sgIGdsb2JhbC5ncF9sb2FkX3NoCiBvayA5IGdsb2JhbC5ncF9sb2Fk X3NoCiAjICBSVU4gICAgICAgICAgIGdsb2JhbC5ncF9sb2FkX3N3IC4uLgogIyAgICAgICAgICAg IE9LICBnbG9iYWwuZ3BfbG9hZF9zdwogb2sgMTAgZ2xvYmFsLmdwX2xvYWRfc3cKICMgIFJVTiAg ICAgICAgICAgZ2xvYmFsLmdwX2xvYWRfc2QgLi4uCiAjICAgICAgICAgICAgT0sgIGdsb2JhbC5n cF9sb2FkX3NkCiBvayAxMSBnbG9iYWwuZ3BfbG9hZF9zZAogIyAgUlVOICAgICAgICAgICBnbG9i YWwuZ3BfbG9hZF9jX3N3IC4uLgogIyAgICAgICAgICAgIE9LICBnbG9iYWwuZ3BfbG9hZF9jX3N3 CiBvayAxMiBnbG9iYWwuZ3BfbG9hZF9jX3N3CiAjICBSVU4gICAgICAgICAgIGdsb2JhbC5ncF9s b2FkX2Nfc2QgLi4uCiAjICAgICAgICAgICAgT0sgIGdsb2JhbC5ncF9sb2FkX2Nfc2QKIG9rIDEz IGdsb2JhbC5ncF9sb2FkX2Nfc2QKICMgIFJVTiAgICAgICAgICAgZ2xvYmFsLmdwX2xvYWRfY19z ZHNwIC4uLgogIyAgICAgICAgICAgIE9LICBnbG9iYWwuZ3BfbG9hZF9jX3Nkc3AKIG9rIDE0IGds b2JhbC5ncF9sb2FkX2Nfc2RzcAogIyAgUlVOICAgICAgICAgICBnbG9iYWwuZnB1X2xvYWRfZmx3 IC4uLgogIyAgICAgICAgICAgIE9LICBnbG9iYWwuZnB1X2xvYWRfZmx3CiBvayAxNSBnbG9iYWwu ZnB1X2xvYWRfZmx3CiAjICBSVU4gICAgICAgICAgIGdsb2JhbC5mcHVfbG9hZF9mbGQgLi4uCiAj ICAgICAgICAgICAgT0sgIGdsb2JhbC5mcHVfbG9hZF9mbGQKIG9rIDE2IGdsb2JhbC5mcHVfbG9h ZF9mbGQKICMgIFJVTiAgICAgICAgICAgZ2xvYmFsLmZwdV9sb2FkX2NfZmxkIC4uLgogIyAgICAg ICAgICAgIE9LICBnbG9iYWwuZnB1X2xvYWRfY19mbGQKIG9rIDE3IGdsb2JhbC5mcHVfbG9hZF9j X2ZsZAogIyAgUlVOICAgICAgICAgICBnbG9iYWwuZnB1X2xvYWRfY19mbGRzcCAuLi4KICMgICAg ICAgICAgICBPSyAgZ2xvYmFsLmZwdV9sb2FkX2NfZmxkc3AKIG9rIDE4IGdsb2JhbC5mcHVfbG9h ZF9jX2ZsZHNwCiAjICBSVU4gICAgICAgICAgIGdsb2JhbC5mcHVfc3RvcmVfZnN3IC4uLgogIyAg ICAgICAgICAgIE9LICBnbG9iYWwuZnB1X3N0b3JlX2Zzdwogb2sgMTkgZ2xvYmFsLmZwdV9zdG9y ZV9mc3cKICMgIFJVTiAgICAgICAgICAgZ2xvYmFsLmZwdV9zdG9yZV9mc2QgLi4uCiAjICAgICAg ICAgICAgT0sgIGdsb2JhbC5mcHVfc3RvcmVfZnNkCiBvayAyMCBnbG9iYWwuZnB1X3N0b3JlX2Zz ZAogIyAgUlVOICAgICAgICAgICBnbG9iYWwuZnB1X3N0b3JlX2NfZnNkIC4uLgogIyAgICAgICAg ICAgIE9LICBnbG9iYWwuZnB1X3N0b3JlX2NfZnNkCiBvayAyMSBnbG9iYWwuZnB1X3N0b3JlX2Nf ZnNkCiAjICBSVU4gICAgICAgICAgIGdsb2JhbC5mcHVfc3RvcmVfY19mc2RzcCAuLi4KICMgICAg ICAgICAgICBPSyAgZ2xvYmFsLmZwdV9zdG9yZV9jX2ZzZHNwCiBvayAyMiBnbG9iYWwuZnB1X3N0 b3JlX2NfZnNkc3AKICMgIFJVTiAgICAgICAgICAgZ2xvYmFsLmdlbl9zaWdidXMgLi4uCiBbMTI3 OTcuOTg4NjQ3XSBtaXNhbGlnbmVkWzYxOF06IHVuaGFuZGxlZCBzaWduYWwgNyBjb2RlIDB4MSBh dCAweDAwMDAwMDAwMDAwMTRkYzAgaW4gbWlzYWxpZ25lZFs0ZGMwLDEwMDAwKzc2MDAwXQogWzEy Nzk3Ljk4ODk5MF0gQ1BVOiAwIFVJRDogMCBQSUQ6IDYxOCBDb21tOiBtaXNhbGlnbmVkIE5vdCB0 YWludGVkIDYuMTMuMC1yYzYtMDAwMDgtZzRlYzQ0Njg5NjdjOS1kaXJ0eSAjNTEKIFsxMjc5Ny45 ODkxNjldIEhhcmR3YXJlIG5hbWU6IHJpc2N2LXZpcnRpbyxxZW11IChEVCkKIFsxMjc5Ny45ODky NjRdIGVwYyA6IDAwMDAwMDAwMDAwMTRkYzAgcmEgOiAwMDAwMDAwMDAwMDE0ZDAwIHNwIDogMDAw MDdmZmZlMTY1ZDEwMAogWzEyNzk3Ljk4OTQwN10gIGdwIDogMDAwMDAwMDAwMDA4ZjZlOCB0cCA6 IDAwMDAwMDAwMDAwOTU3NjAgdDAgOiAwMDAwMDAwMDAwMDAwMDA4CiBbMTI3OTcuOTg5NTQ0XSAg dDEgOiAwMDAwMDAwMDAwMDk2NWQ4IHQyIDogMDAwMDAwMDAwMDA4ZTgzMCBzMCA6IDAwMDA3ZmZm ZTE2NWQxNjAKIFsxMjc5Ny45ODk2OTJdICBzMSA6IDAwMDAwMDAwMDAwMDAwMWEgYTAgOiAwMDAw MDAwMDAwMDAwMDAwIGExIDogMDAwMDAwMDAwMDAwMDAwMgogWzEyNzk3Ljk4OTgzMV0gIGEyIDog MDAwMDAwMDAwMDAwMDAwMCBhMyA6IDAwMDAwMDAwMDAwMDAwMDAgYTQgOiBmZmZmZmZmZmRlYWRi ZWVmCiBbMTI3OTcuOTg5OTY0XSAgYTUgOiAwMDAwMDAwMDAwMDhlZjYxIGE2IDogNjI2NzY5NzM1 ZjZlMDAwMCBhNyA6IGZmZmZmZmZmZmZmZmYwMDAKIFsxMjc5Ny45OTAwOTRdICBzMiA6IDAwMDAw MDAwMDAwMDAwMDEgczMgOiAwMDAwN2ZmZmUxNjVkODM4IHM0IDogMDAwMDdmZmZlMTY1ZDg0OAog WzEyNzk3Ljk5MDIzOF0gIHM1IDogMDAwMDAwMDAwMDAwMDAxYSBzNiA6IDAwMDAwMDAwMDAwMTA0 NDIgczcgOiAwMDAwMDAwMDAwMDEwMjAwCiBbMTI3OTcuOTkwMzkxXSAgczggOiAwMDAwMDAwMDAw MDAwMDNhIHM5IDogMDAwMDAwMDAwMDA5NDUwOCBzMTA6IDAwMDAwMDAwMDAwMDAwMDAKIFsxMjc5 Ny45OTA1MjZdICBzMTE6IDAwMDA1NTU1Njc0NjA2NjggdDMgOiAwMDAwN2ZmZmUxNjVkMDcwIHQ0 IDogMDAwMDAwMDAwMDA5NjVkMAogWzEyNzk3Ljk5MDY1Nl0gIHQ1IDogZmVmZWZlZmVmZWZlZmVm ZiB0NiA6IDAwMDAwMDAwMDAwMDAwNzMKIFsxMjc5Ny45OTA3NTZdIHN0YXR1czogMDAwMDAwMDIw MDAwNDAyMCBiYWRhZGRyOiAwMDAwMDAwMDAwMDhlZjYxIGNhdXNlOiAwMDAwMDAwMDAwMDAwMDA2 CiBbMTI3OTcuOTkwOTExXSBDb2RlOiA4NzkzIDg3OTEgMzQyMyBmY2Y0IDM3ODMgZmM4NCBjNzM3 IGRlYWQgMDcxMyBlZWY3IChjMzk4KSAwMDAxCiAjICAgICAgICAgICAgT0sgIGdsb2JhbC5nZW5f c2lnYnVzCiBvayAyMyBnbG9iYWwuZ2VuX3NpZ2J1cwogIyBQQVNTRUQ6IDIzIC8gMjMgdGVzdHMg cGFzc2VkLgogIyBUb3RhbHM6IHBhc3M6MjMgZmFpbDowIHhmYWlsOjAgeHBhc3M6MCBza2lwOjAg ZXJyb3I6MAoKV2l0aCBrdm0tdG9vbHM6CgogIyBsa3ZtIHJ1biAtayBzYmkuZmxhdCAtbSAxMjgK ICBJbmZvOiAjIGxrdm0gcnVuIC1rIHNiaS5mbGF0IC1tIDEyOCAtYyAxIC0tbmFtZSBndWVzdC05 NwogIEluZm86IFJlbW92ZWQgZ2hvc3Qgc29ja2V0IGZpbGUgIi9yb290Ly5sa3ZtLy9ndWVzdC05 Ny5zb2NrIi4KCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyAgICBrdm0tdW5pdC10ZXN0cwogIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKCiAuLi4gW3Rlc3QgbWVzc2FnZXMgZWxpZGVkXQogUEFTUzogc2JpOiBmd2Z0 OiBGV0ZUIGV4dGVuc2lvbiBwcm9iaW5nIG5vIGVycm9yCiBQQVNTOiBzYmk6IGZ3ZnQ6IGdldC9z ZXQgcmVzZXJ2ZWQgZmVhdHVyZSAweDYgZXJyb3IgPT0gU0JJX0VSUl9ERU5JRUQKIFBBU1M6IHNi aTogZndmdDogZ2V0L3NldCByZXNlcnZlZCBmZWF0dXJlIDB4M2ZmZmZmZmYgZXJyb3IgPT0gU0JJ X0VSUl9ERU5JRUQKIFBBU1M6IHNiaTogZndmdDogZ2V0L3NldCByZXNlcnZlZCBmZWF0dXJlIDB4 ODAwMDAwMDAgZXJyb3IgPT0gU0JJX0VSUl9ERU5JRUQKIFBBU1M6IHNiaTogZndmdDogZ2V0L3Nl dCByZXNlcnZlZCBmZWF0dXJlIDB4YmZmZmZmZmYgZXJyb3IgPT0gU0JJX0VSUl9ERU5JRUQKIFBB U1M6IHNiaTogZndmdDogbWlzYWxpZ25lZF9kZWxlZzogR2V0IG1pc2FsaWduZWQgZGVsZWcgZmVh dHVyZSBubyBlcnJvcgogUEFTUzogc2JpOiBmd2Z0OiBtaXNhbGlnbmVkX2RlbGVnOiBTZXQgbWlz YWxpZ25lZCBkZWxlZyBmZWF0dXJlIGludmFsaWQgdmFsdWUgZXJyb3IKIFBBU1M6IHNiaTogZndm dDogbWlzYWxpZ25lZF9kZWxlZzogU2V0IG1pc2FsaWduZWQgZGVsZWcgZmVhdHVyZSBpbnZhbGlk IHZhbHVlIGVycm9yCiBQQVNTOiBzYmk6IGZ3ZnQ6IG1pc2FsaWduZWRfZGVsZWc6IFNldCBtaXNh bGlnbmVkIGRlbGVnIGZlYXR1cmUgdmFsdWUgbm8gZXJyb3IKIFBBU1M6IHNiaTogZndmdDogbWlz YWxpZ25lZF9kZWxlZzogU2V0IG1pc2FsaWduZWQgZGVsZWcgZmVhdHVyZSB2YWx1ZSAwCiBQQVNT OiBzYmk6IGZ3ZnQ6IG1pc2FsaWduZWRfZGVsZWc6IFNldCBtaXNhbGlnbmVkIGRlbGVnIGZlYXR1 cmUgdmFsdWUgbm8gZXJyb3IKIFBBU1M6IHNiaTogZndmdDogbWlzYWxpZ25lZF9kZWxlZzogU2V0 IG1pc2FsaWduZWQgZGVsZWcgZmVhdHVyZSB2YWx1ZSAxCiBQQVNTOiBzYmk6IGZ3ZnQ6IG1pc2Fs aWduZWRfZGVsZWc6IFZlcmlmeSBtaXNhbGlnbmVkIGxvYWQgZXhjZXB0aW9uIHRyYXAgaW4gc3Vw ZXJ2aXNvcgogU1VNTUFSWTogNTAgdGVzdHMsIDIgdW5leHBlY3RlZCBmYWlsdXJlcywgMTIgc2tp cHBlZAoKVGhpcyBzZXJpZXMgaXMgYXZhaWxhYmxlIGF0IFs1XS4KCkxpbms6IGh0dHBzOi8vZ2l0 aHViLmNvbS9yaXNjdi1ub24taXNhL3Jpc2N2LXNiaS1kb2MvcmVsZWFzZXMvZG93bmxvYWQvdnYz LjAtcmMyL3Jpc2N2LXNiaS5wZGYgWzFdCkxpbms6IGh0dHBzOi8vZ2l0aHViLmNvbS9yaXZvc2lu Yy9xZW11L3RyZWUvZGV2L2NsZWdlci9taXNhbGlnbmVkIFsyXQpMaW5rOiBodHRwczovL2xvcmUu a2VybmVsLm9yZy9hbGwvMjAyNDEyMTEyMTE5MzMuMTk4NzkyLTMtZmtvbnJhZEBhbWQuY29tL1Qv IFszXQpMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1yaXNjdi8yMDI1MDQxNDEy MzU0My4xNjE1NDc4LTEtY2xlZ2VyQHJpdm9zaW5jLmNvbSBbNF0KTGluazogaHR0cHM6Ly9naXRo dWIuY29tL3Jpdm9zaW5jL2xpbnV4L3RyZWUvZGV2L2NsZWdlci9md2Z0IFs1XQotLS0KClY4Ogog LSBNb3ZlIG1pc2FsaWduZWRfYWNjZXNzX3NwZWVkIHVuZGVyIENPTkZJR19SSVNDVl9NSVNBTElH TkVEIGFuZCBhZGQgYQogICBzZXBhcmF0ZSBjb21taXQgZm9yIHRoYXQuCgpWNzoKIC0gRml4IGlm ZGVmZXJ5IGJ1aWxkIHByb2JsZW1zCiAtIE1vdmUgc2JpX2Z3ZnRfaXNfc3VwcG9ydGVkIHdpdGgg ZndmdF9zZXRfcmVxIHN0cnVjdAogLSBBZGRlZCBBdGlzaCBSZXZpZXdlZC1ieQogLSBVcGRhdGVk IEtWTSB2Y3B1IGNmZyBoZWRlbGVnIHZhbHVlIGluIHNldF9kZWxlZ2F0aW9uCiAtIENoYW5nZWQg U0JJIEVUSU1FIGVycm9yIG1hcHBpbmcgdG8gRVRJTUVET1VUCiAtIEZpeGVkIGEgZmV3IHR5cG8g cmVwb3J0ZWQgYnkgQWxvawoKVjY6CiAtIFJlbmFtZSBGV0ZUIGludGVyZmFjZSB0byByZW1vdmUg Il9sb2NhbCIKIC0gRml4IHRlc3QgZm9yIE1FREVMRUcgdmFsdWVzIGluIEtWTSBGV0ZUIHN1cHBv cnQKIC0gQWRkIF9faW5pdCBmb3IgdW5hbGlnbmVkX2FjY2Vzc19pbml0KCkKIC0gUmViYXNlZCBv biBtYXN0ZXIKClY1OgogLSBSZXR1cm4gRVJBTkdFIGFzIG1hcHBpbmcgZm9yIFNCSV9FUlJfQkFE X1JBTkdFCiAtIFJlbW92ZWQgdW51c2VkIHNiaV9md2Z0X2dldCgpCiAtIEZpeCBrZXJuZWwgZm9y IHNiaV9md2Z0X2xvY2FsX3NldF9jcHVtYXNrKCkKIC0gRml4IGluZGVudGF0aW9uIGZvciBzYmlf ZndmdF9sb2NhbF9zZXQoKQogLSBSZW1vdmUgc3B1cmlvdXMgc3BhY2UgaW4ga3ZtX3NiaV9md2Z0 X29wcy4KIC0gUmViYXNlZCBvbiBvcmlnaW4vbWFzdGVyCiAtIFJlbW92ZSBmaXhlcyBjb21taXRz IGFuZCBzZW50IHRoZW0gYXMgYSBzZXBhcmF0ZSBzZXJpZXMgWzRdCgpWNDoKIC0gQ2hlY2sgU0JJ IHZlcnNpb24gMy4wIGluc3RlYWQgb2YgMi4wIGZvciBGV0ZUIHByZXNlbmNlCiAtIFVzZSBsb25n IGZvciBrdm1fc2JpX2Z3ZnQgb3BlcmF0aW9uIHJldHVybiB2YWx1ZQogLSBJbml0IEtWTSBzYmkg ZXh0ZW5zaW9uIGV2ZW4gaWYgZGVmYXVsdF9kaXNhYmxlZAogLSBSZW1vdmUgcmV2ZXJ0X29uX2Zh aWwgcGFyYW1ldGVyIGZvciBzYmlfZndmdF9mZWF0dXJlX3NldCgpLgogLSBGaXggY29tbWVudHMg Zm9yIHNiaV9md2Z0X3NldC9nZXQoKQogLSBPbmx5IGhhbmRsZSBsb2NhbCBmZWF0dXJlcyAodGhl cmUgYXJlIG5vIGdsb2JhbHMgeWV0IGluIHRoZSBzcGVjKQogLSBBZGQgbmV3IFNCSSBlcnJvcnMg dG8gc2JpX2Vycl9tYXBfbGludXhfZXJybm8oKQoKVjM6CiAtIEFkZGVkIGNvbW1lbnQgYWJvdXQg a3ZtIHNiaSBmd2Z0IHN1cHBvcnRlZC9zZXQvZ2V0IGNhbGxiYWNrCiAgIHJlcXVpcmVtZW50cwog LSBNb3ZlIHN0cnVjdCBrdm1fc2JpX2Z3ZnRfZmVhdHVyZSBpbiBrdm1fc2JpX2Z3ZnQuYwogLSBB ZGQgYSBGV0ZUIGludGVyZmFjZQoKVjI6CiAtIEFkZGVkIEtzZWxmdGVzdCBmb3IgbWlzYWxpZ25l ZCB0ZXN0aW5nCiAtIEFkZGVkIGdldF91c2VyKCkgdXNhZ2UgaW5zdGVhZCBvZiBfX2dldF91c2Vy KCkKIC0gUmVlbmFibGUgaW50ZXJydXB0IHdoZW4gcG9zc2libGUgaW4gbWlzYWxpZ25lZCBhY2Nl c3MgaGFuZGxpbmcKIC0gRG9jdW1lbnQgdGhhdCByaXNjdiBzdXBwb3J0cyB1bmFsaWduZWQtdHJh cHMKIC0gRml4IEtWTSBleHRlbnNpb24gc3RhdGUgd2hlbiBhbiBpbml0IGZ1bmN0aW9uIGlzIHBy ZXNlbnQKIC0gUmV3b3JrIFNCSSBtaXNhbGlnbmVkIGFjY2Vzc2VzIHRyYXAgZGVsZWdhdGlvbiBj b2RlCiAtIEFkZGVkIHN1cHBvcnQgZm9yIENQVSBob3RwbHVnZ2luZwogLSBBZGRlZCBLVk0gU0JJ IHJlc2V0IGNhbGxiYWNrCiAtIEFkZGVkIHJlc2V0IGZvciBLVk0gU0JJIEZXRlQgbG9jawogLSBS ZXR1cm4gU0JJX0VSUl9ERU5JRURfTE9DS0VEIHdoZW4gTE9DSyBmbGFnIGlzIHNldAoKQ2zDqW1l bnQgTMOpZ2VyICgxNCk6CiAgcmlzY3Y6IHNiaTogYWRkIEZpcm13YXJlIEZlYXR1cmUgKEZXRlQp IFNCSSBleHRlbnNpb25zIGRlZmluaXRpb25zCiAgcmlzY3Y6IHNiaTogcmVtb3ZlIHVzZWxlc3Mg cGFyZW50aGVzaXMKICByaXNjdjogc2JpOiBhZGQgbmV3IFNCSSBlcnJvciBtYXBwaW5ncwogIHJp c2N2OiBzYmk6IGFkZCBGV0ZUIGV4dGVuc2lvbiBpbnRlcmZhY2UKICByaXNjdjogc2JpOiBhZGQg U0JJIEZXRlQgZXh0ZW5zaW9uIGNhbGxzCiAgcmlzY3Y6IG1pc2FsaWduZWQ6IHJlcXVlc3QgbWlz YWxpZ25lZCBleGNlcHRpb24gZnJvbSBTQkkKICByaXNjdjogbWlzYWxpZ25lZDogdXNlIG9uX2Vh Y2hfY3B1KCkgZm9yIHNjYWxhciBtaXNhbGlnbmVkIGFjY2VzcwogICAgcHJvYmluZwogIHJpc2N2 OiBtaXNhbGlnbmVkOiBkZWNsYXJlIG1pc2FsaWduZWRfYWNjZXNzX3NwZWVkIHVuZGVyCiAgICBD T05GSUdfUklTQ1ZfTUlTQUxJR05FRAogIHJpc2N2OiBtaXNhbGlnbmVkOiBtb3ZlIGVtdWxhdGVk IGFjY2VzcyB1bmlmb3JtaXR5IGNoZWNrIGluIGEgZnVuY3Rpb24KICByaXNjdjogbWlzYWxpZ25l ZDogYWRkIGEgZnVuY3Rpb24gdG8gY2hlY2sgbWlzYWxpZ24gdHJhcCBkZWxlZ2FiaWxpdHkKICBS SVNDLVY6IEtWTTogYWRkIFNCSSBleHRlbnNpb24gaW5pdCgpL2RlaW5pdCgpIGZ1bmN0aW9ucwog IFJJU0MtVjogS1ZNOiBhZGQgU0JJIGV4dGVuc2lvbiByZXNldCBjYWxsYmFjawogIFJJU0MtVjog S1ZNOiBhZGQgc3VwcG9ydCBmb3IgRldGVCBTQkkgZXh0ZW5zaW9uCiAgUklTQy1WOiBLVk06IGFk ZCBzdXBwb3J0IGZvciBTQklfRldGVF9NSVNBTElHTkVEX0RFTEVHCgogYXJjaC9yaXNjdi9pbmNs dWRlL2FzbS9jcHVmZWF0dXJlLmggICAgICAgIHwgIDE0ICstCiBhcmNoL3Jpc2N2L2luY2x1ZGUv YXNtL2t2bV9ob3N0LmggICAgICAgICAgfCAgIDUgKy0KIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20v a3ZtX3ZjcHVfc2JpLmggICAgICB8ICAxMiArCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2t2bV92 Y3B1X3NiaV9md2Z0LmggfCAgMjkgKysrCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3NiaS5oICAg ICAgICAgICAgICAgfCAgNjAgKysrKysKIGFyY2gvcmlzY3YvaW5jbHVkZS91YXBpL2FzbS9rdm0u aCAgICAgICAgICB8ICAgMSArCiBhcmNoL3Jpc2N2L2tlcm5lbC9zYmkuYyAgICAgICAgICAgICAg ICAgICAgfCAgODEgKysrKysrLQogYXJjaC9yaXNjdi9rZXJuZWwvdHJhcHNfbWlzYWxpZ25lZC5j ICAgICAgIHwgMTEyICsrKysrKysrLQogYXJjaC9yaXNjdi9rZXJuZWwvdW5hbGlnbmVkX2FjY2Vz c19zcGVlZC5jIHwgICA4ICstCiBhcmNoL3Jpc2N2L2t2bS9NYWtlZmlsZSAgICAgICAgICAgICAg ICAgICAgfCAgIDEgKwogYXJjaC9yaXNjdi9rdm0vdmNwdS5jICAgICAgICAgICAgICAgICAgICAg IHwgICA0ICstCiBhcmNoL3Jpc2N2L2t2bS92Y3B1X3NiaS5jICAgICAgICAgICAgICAgICAgfCAg NTQgKysrKysKIGFyY2gvcmlzY3Yva3ZtL3ZjcHVfc2JpX2Z3ZnQuYyAgICAgICAgICAgICB8IDI1 NyArKysrKysrKysrKysrKysrKysrKysKIGFyY2gvcmlzY3Yva3ZtL3ZjcHVfc2JpX3N0YS5jICAg ICAgICAgICAgICB8ICAgMyArLQogMTQgZmlsZXMgY2hhbmdlZCwgNjIwIGluc2VydGlvbnMoKyks IDIxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvcmlzY3YvaW5jbHVkZS9h c20va3ZtX3ZjcHVfc2JpX2Z3ZnQuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvcmlzY3Yva3Zt L3ZjcHVfc2JpX2Z3ZnQuYwoKLS0gCjIuNDkuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNj dkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtcmlzY3YK