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 0D980C6FD18 for ; Wed, 19 Apr 2023 11:10:26 +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=pVX7orpcic7ddxaPI2HqiMf3jubDUYLhUHvm83c9j4w=; b=tJL47yZgKKLqLw QZIsFNSizLmZDJkUx27AEjGFdHdg96mutUbfqrRL5IXVaTks6dmEQmtynWvjnLFXi5QM+A2kncJUr XHusFnfFhP5cPqWTWviM4Qffazdix15izEuOLUEic264FoW5r4O0LRTnkrB0FjN1gmeQGM2WxKXpw vWLtZj9WRdz+ZK/j5cz8jdgZMZZMOZLPTL3+HzoYkYk2sgh6OwUFrowQOdxLhUO6saBgBGnDHtDlt ZocMYsqErv6p5PmWMv3k2hU1mmf4eB5UR/rtHHcNQgMo1xirZb820p+VNe8mZbU7jhXb2BB4v4Ar0 uPExCrWr0IrxZL/dMk/Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pp5hY-00586g-2Z; Wed, 19 Apr 2023 11:10:16 +0000 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pp5hT-005843-1M for linux-riscv@lists.infradead.org; Wed, 19 Apr 2023 11:10:14 +0000 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-1a6bc48aec8so15041335ad.2 for ; Wed, 19 Apr 2023 04:10:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20221208.gappssmtp.com; s=20221208; t=1681902608; x=1684494608; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=GRxxiBJfzhl8k1dZrpJTtiP6uidg6HV6EIWgJAXAlz8=; b=MksivG8vLqH9NrPVCxorQZMwtY+GeU2+xvR1PtsmQeUMxlgwwmbE5e0rsY2JeTY4tQ TwwxlqjtDlMGmOhgci40Z4h8ZJhh0An7vXI5009qh+CiEBy2ZWZi8LNjz96pru5K4/0X vJQ966l18ApD5B1gWE4zmuB1eOHZafloPoBI0cMhVddYG9T6+IpkXr9qSX8O44X1Fsw6 /KavKvHMlx8FfMVxVzP5a+4ujzElw2AwhtUOjRiUDtVwzaFfs7GUGMMoYoIKUxQT65fi oY/3FcoHNiijkBhYyq/yVa4LOtRXm7RLf/rHBhZnu1pdBCVWc1DHFwV0xZ0bYKy0E2PK WrRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681902608; x=1684494608; 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=GRxxiBJfzhl8k1dZrpJTtiP6uidg6HV6EIWgJAXAlz8=; b=EMkuZOZEKbifFv3r/Hsi4vCKo2rnXs1Ndhq2KnD+/OQTKHjVLaKO6ggYC/R0QmjOR4 wHc0RSgnMNlJ3mSK1ltrvO/wY/ZPxRYGYOaNKi9IwxFXhgBSWtHUzCqUWDHw69s+3boP wh3g1/ZAfPx+1R03KjuHwa0jhzW5FkCQYmJLEjntcwpwdT+MLSIM08MAn5QXKD7cBIMt M02yNgolbDSyo3d3aqTA14gbz2Yvt0oG39JCSVMVYoHvIaTKkqkHw9d/B/JU4qk3ayWg W+WExjJNt+1ZXum2YJXDzAVTXntlU158ORHNTzaDQvZrnHLzU7WfxeuQjssVWI4ni8o7 uCBw== X-Gm-Message-State: AAQBX9cbIBjk9IKi78GxO0EWcY1OHhUh49yssogq5Zv77Kw1t50EAYlZ 15pTzNowDPh9p4lHXHbexPHUZ1ZqzLCPywKKsOk= X-Google-Smtp-Source: AKy350YpEs6NK/OwOrdHaX0DN/LCnT9TLRuXI07U+RycILFUDvwXOwVuO4VYNZZckuX0ExSLD4PE6Q== X-Received: by 2002:a17:902:c613:b0:1a2:8c7e:f310 with SMTP id r19-20020a170902c61300b001a28c7ef310mr4465258plr.35.1681902607686; Wed, 19 Apr 2023 04:10:07 -0700 (PDT) Received: from x1.hsd1.or.comcast.net ([2601:1c2:1800:f680:eaf2:1d7a:7338:16cb]) by smtp.gmail.com with ESMTPSA id g12-20020a1709026b4c00b001a24cded097sm11180774plt.236.2023.04.19.04.10.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Apr 2023 04:10:06 -0700 (PDT) From: Drew Fustini To: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Palmer Dabbelt , Paul Walmsley , Conor Dooley , Ved Shanbhogue , =?UTF-8?q?Kornel=20Dul=C4=99ba?= , Adrien Ricciardi , Nicolas Pitre , Fenghua Yu , Reinette Chatre , Babu Moger , Peter Newman , x86@kernel.org, Rob Herring , James Morse Cc: Drew Fustini Subject: [RFC PATCH 00/21] RISC-V: QoS: add CBQRI resctrl interface Date: Wed, 19 Apr 2023 04:10:50 -0700 Message-Id: <20230419111111.477118-1-dfustini@baylibre.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230419_041011_681855_94EB8A5A X-CRM114-Status: GOOD ( 29.20 ) 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 VGhpcyBSRkMgc2VyaWVzIGFkZHMgYSByZXNjdHJsIGludGVyZmFjZSBmb3IgcmVzb3VyY2UgY29u dHJvbGxlcnMgdGhhdAppbXBsZW1lbnQgdGhlIFJJU0MtViBDYXBhY2l0eSBhbmQgQmFuZHdpZHRo IFFvUyBSZWdpc3RlciBJbnRlcmZhY2UKKENCUVJJKSBzcGVjaWZpY2F0aW9uIFsxXS4KClRoZXNl IHBhdGNoZXMgYXJlIGFsc28gYXZhaWxhYmxlIGFzIGEgYnJhbmNoIFsyXS4gUGxlYXNlIG5vdGUg dGhhdCB0aGV5CmFyZSBiYXNlZCBvbiBhIDYuMy1yYzEgYnJhbmNoIGJ5IEphbWVzIE1vcnNlIFsz XSBmb3IgcmVhc29ucyB0aGF0IHdpbGwKYmUgZXhwbGFpbmVkIGJlbG93LgoKVGhlcmUgaXMgYSBj b21wbGltZW50YXJ5IFJGQyBwYXRjaCBzZXJpZXMgZm9yIFFlbXUgWzRdIHRoYXQgaW1wbGVtZW50 cwpDQlFSSSwgYW5kIHRoZXJlIGlzIGEgcWVtdSBicmFuY2ggd2l0aCB0aG9zZSBwYXRjaGVzIHRv byBbNV0uCgpSSVNDLVYgUW9TCi0tLS0tLS0tLS0KUW9TIChRdWFsaXR5IG9mIFNlcnZpY2UpIGlu IHRoaXMgY29udGV4dCBpcyBjb25jZXJuZWQgd2l0aCBzaGFyZWQKcmVzb3VyY2VzIG9uIGFuIFNv QyBzdWNoIGFzIGNhY2hlIGNhcGFjaXR5IGFuZCBtZW1vcnkgYmFuZHdpZHRoLgoKVGhlIFNzcW9z aWQgZXh0ZW5zaW9uIChzdXBlcnZpc29yLW1vZGUgUW9TIElEKSBkZWZpbmVzIHRoZSBzcW9zY2Zn IENTUgp3aGljaCBjb25zaXN0cyBvZiBhIHJlc291cmNlIGNvbnRyb2wgaWRlbnRpZmllciAoUkNJ RCkgYW5kIGEgbW9uaXRvcmluZwpjb3VudGVyIGlkZW50aWZpZXIgKE1DSUQpLiBUaGlzIGFsbG93 cyBhIHNvZnR3YXJlIHdvcmtsb2FkLCBzdWNoIGFzIGEKcHJvY2VzcyBvciBhIHNldCBvZiBwcm9j ZXNzZXMsIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCBlYWNoIHJlcXVlc3QgbWFkZQpieSBhIGhhcnQg dG8gc2hhcmVkIHJlc291cmNlcyBsaWtlIGNhY2hlLgoKQ0JRUkkgZGVmaW5lcyBvcGVyYXRpb25z IHRvIGNvbmZpZ3VyZSByZXNvdXJjZSB1c2FnZSBsaW1pdHMsIGluIHRoZSBmb3JtCm9mIGNhcGFj aXR5IG9yIGJhbmR3aWR0aCwgZm9yIGFuIFJDSUQuIENCUVJJIGFsc28gZGVmaW5lcyBvcGVyYXRp b25zIHRvCmNvbmZpZ3VyZSBjb3VudGVycyB0byB0cmFjayByZXNvdXJjZSB1dGlsaXphdGlvbiBw ZXIgTUNJRC4gRnVydGhlcm1vcmUsCnRoZSBBY2Nlc3MgVHlwZSAoQVQpIGZpZWxkIGFsbG93cyBy ZXNvdXJjZXMgdG8gYmUgZGlmZmVyZW50aWF0ZWQgYmV0d2VlbgpkYXRhIGFuZCBjb2RlLgoKeDg2 IGNvbXBhcmlzb24KLS0tLS0tLS0tLS0tLS0KSW50ZWwgUkRUIGFuZCBBTUQgUW9TIGZlYXR1cmVz IGhhdmUgYWxyZWFkeSBiZWVuIHByZXNlbnQgaW4gc29tZSB4ODYKcHJvY2Vzc29ycyBmb3Igc2V2 ZXJhbCB5ZWFycy4gVGhlIGV4aXN0aW5nIFFvUyBpZGVudGlmaWVycyBvbiB4ODYgbWFwCndlbGwg dG8gdGhlIFJJU0MtViBTc3FvaWQgZXh0ZW5zaW9uOgoKwqAgQ0xPU0lEIChDbGFzcyBvZiBTZXJ2 aWNlIElEKSBvbiB4ODYgaXMgUkNJRCBvbiBSSVNDLVYKwqAgICBSTUlEIChSZXNvdXJjZSBNb25p dG9yaW5nIElEKSBvbiB4ODYgaXMgTUNJRCBvbiBSSVNDLVYKCkluIGFkZGl0aW9uLCBDRFAgKGNv ZGUgZGF0YSBwcmlvcml0aXphdGlvbikgb24geDg2IGlzIHNpbWlsYXIgdG8gdGhlCkFUIChhY2Nl c3MgdHlwZSkgZmllbGQgaW4gQ0JRUkkgd2hpY2ggZGVmaW5lcyBjb2RlIGFuZCBkYXRhIHR5cGVz LgoKCnJlc2N0cmwgYmV5b25kIHg4NgotLS0tLS0tLS0tLS0tLS0tLS0KVGhlIHJlc2N0cmwgdmly dHVhbCBmaWxlc3lzdGVtIFs2XSBpcyBhbiBlc3RhYmxpc2hlZCB1c2Vyc3BhY2UgQUJJIGZvcgpR b1MgZmVhdHVyZXMgb24geDg2LiBIb3dldmVyLCB0aGUgcmVzY3RybCBjb2RlIGlzIHRpZ2h0bHkg Y291cGxlZCB0bwphcmNoL3g2LCBhbmQgaXQgaXMgbm90IGN1cnJlbnRseSBwb3NzaWJsZSB0byB1 c2UgaXQgd2l0aCBhbm90aGVyCmFyY2hpdGVjdHVyZSBpbiBtYWlubGluZS4KCkphbWVzIE1vcnNl IGhhcyBiZWVuIHdvcmtpbmcgdG8gc2VwYXJhdGUgcmVzY3RybCBvdXQgaW50byBhbiBpbmRlcGVu ZGVudAp2aXJ0dWFsIGZpbGVzeXN0ZW0gdGhhdCBjYW4gYmUgdXNlZCBieSBhbnkgYXJjaCB0aGF0 IGltcGxlbWVudHMgYQpyZXNjdHJsIGludGVyZmFjZS4gVGhlIG1vc3QgcmVjZW50IHBhdGNoIHNl cmllcyBpcyB2MyBvZiAieDg2L3Jlc2N0cmw6Cm1vbml0b3JlZCBjbG9zaWQrcm1pZCB0b2dldGhl ciwgc2VwYXJhdGUgYXJjaC9mcyBsb2NraW5nIiBbN10uCgpUaGUgbW90aXZhdGlvbiBiZWhpbmQg dGhpcyB3b3JrIGZyb20gSmFtZXMgTW9yc2UgaXMgdG8gc3VwcG9ydCB0aGUgQXJtCk1lbW9yeSBT eXN0ZW0gUmVzb3VyY2UgUGFydGl0aW9uaW5nIGFuZCBNb25pdG9yaW5nIChNUEFNKSBleHRlbnNp b24gWzhdLgpKYW1lcyBtYWludGFpbnMgYSAic25hcHNob3QiIGJyYW5jaCBmb3IgZWFjaCBtYWlu bGluZSByZWxlYXNlIFs5XSB0aGF0CmhhcyBhIGNvaGVzaXZlIGltcGxlbWVudGF0aW9uIG9mIE1Q QU0gc3VwcG9ydC4gSXQgaW5jbHVkZXMgdGhlIGFiaWxpdHkKdG8gZW5hYmxlIHRoZSByZXNjdHJs IGZpbGVzeXN0ZW0gZm9yIG5vbi14ODYgYXJjaGl0ZWN0dXJlcy4gVGhlcmVmb3JlLAp0aGUgUklT Qy1WIHN1cHBvcnQgZm9yIHJlc2N0cmwgaW4gdGhpcyBSRkMgcGF0Y2ggc2VyaWVzIHJlbGllcyBv biB0aGUKZnMvcmVzY3RybCBjb2RlIGluIHRoZSBzbmFwc2hvdCBicmFuY2guCgpIb3dldmVyLCB0 aGUgY3VycmVudCBtcGFtIHNuYXBzaG90IGJyYW5jaCBvbiBrZXJuZWwub3JnIGlzIGZvciA2LjIu IFRoYXQKaXMgdG9vIG9sZCB0byBiYXNlIHRoaXMgUkZDIG9uIGJlY2F1c2UgUklTQy1WIGV4dGVu c2lvbiBoYW5kbGluZyBoYXMKY2hhbmdlZCBhIGxvdCBzaW5jZSB0aGVuLiBBcyByZXN1bHQsIHRo aXMgUkZDIHBhdGNoZXMgc2VyaWVzIGlzIGJhc2VkIG9uCnRoaXMgNi4zIG1wYW0gc25hcHNob3Qg YnJhbmNoIFszXSBieSBKYW1lcywgYnV0IGl0IHdvbid0IGJlIHB1c2hlZCB0bwprZXJuZWwub3Jn IHVudGlsIDYuMyBpcyBvZmZpY2lhbGx5IHJlbGVhc2VkLgoKTGltaXRhdGlvbnMgb2YgcmVzY3Ry bAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkJvdGggTVBBTSBhbmQgQ0JRUkkgYXJlIGdlbmVyaWMg ZW5vdWdoIHRvIG9mZmVyIGEgbG90IG9mIGZsZXhpYmlsaXR5IGZvcgpoYXJkd2FyZSBpbXBsZW1l bnRhdGlvbnMuIFRoaXMgaXMgaW4gY29udHJhc3QgdG8gdGhlIGZpeGVkIGZ1bmN0aW9uYWxpdHkK b2YgSW50ZWwgUkRUIGFuZCBBTUQgUW9TIGZlYXR1cmVzLgoKRm9yIGV4YW1wbGUsIEludGVsIFJE VCBvbmx5IGNvbnNpZGVycyBMMiBhbmQgTDMgY2FjaGUgcmVzb3VyY2VzLiBUaGUKbWVtb3J5IGJh bmR3aWR0aCByZXNvdXJjZSAoTUJBKSBpcyBhc3N1bWVkIHRvIGJlIHNpdHRpbmcgYXQgdGhlIEwz IGNhY2hlCmxldmVsLiBJbiBhZGRpdGlvbiwgQ0RQIG9ubHkgc3VwcG9ydHMgY2FjaGVzIHNvIHRo ZSB1c2FnZSBvZiB0aGUgQ0JRUkkKQWNjZXNzIFR5cGVzIChBVCBmaWVsZCkgaGFzIHRvIGJlIGxp bWl0ZWQgdG8gQ0JRUkkgY2FwYWNpdHkgY29udHJvbGxlcnMuCgpUaGlzIFJGQyBwYXRjaCBzZXJp ZXMgZm9sbG93cyB0aGF0IHNhbWUgcGhpbG9zb3BoeSBhcyB0aGUgTVBBTSBzdXBwb3J0CmJ5IEph bWVzIE1vcnNlIFsxMF0uIFN1cHBvcnQgb25seSB0aGUgZnVuY3Rpb25hbGl0eSB0aGF0IGlzIGFs cmVhZHkKcG9zc2libGUgd2l0aCB0aGUgZXhpc3RpbmcgcmVzY3RybCBpbnRlcmZhY2UuIFRoZXJl IGlzIG11Y2ggbW9yZQpmdW5jdGlvbmFsaXR5IHRoYXQgYm90aCBNUEFNIGFuZCBDQlFSSSBvZmZl ciwgYnV0IHRoYXQgd2lsbCBiZSBkZWZlcnJlZAp1bnRpbCBhZnRlciB0aGUgZGVjb3VwbGluZyBv ZiByZXNjdHJsIGZyb20geDg2IGlzIG1lcmdlZC4KCk9uZSBhc3BlY3Qgb2YgQ0JRUkkgdGhhdCBz aW1wbGlmaWVzIHRoZSBSSVNDLVYgcmVzY3RybCBpbnRlcmZhY2UgaXMgdGhhdAphbnkgY3B1ICh0 ZWNobmljYWxseSBhIGhhcnQsIG9yIGhhcmR3YXJlIHRocmVhZCwgaW4gUklTQy1WIHRlcm1pbm9s b2d5KQpjYW4gYWNjZXNzIHRoZSBtZW1vcnktbWFwcGVkIHJlZ2lzdGVycyBvZiBhbnkgQ0JRUkkg Y29udHJvbGxlciBpbiB0aGUKc3lzdGVtLiBUaGlzIG1lYW5zIHRoYXQgdW5saWtlIHdpdGggUkRU IGFuZCBNUEFNLCBpdCBkb2VzIG5vdCBtYXR0ZXIKd2hpY2ggY3B1IHJ1bnMgdGhlIHJlc2N0cmwg Y29kZS4gwqAgwqAgwqAgwqAKCkV4YW1wbGUgU29DCi0tLS0tLS0tLS0tClRoaXMgc2VyaWVzIGFs c28gaW5jbHVkZXMgZXhhbXBsZSBkcml2ZXJzIGZvciBhIGh5cG90aGV0aWNhbCBTb0Mgd2l0aCBh CmNhY2hlIGNvbnRyb2xsZXIgdGhhdCBpbXBsZW1lbnRzIENCUVJJIGNhcGFjaXR5IG9wZXJhdGlv bnMgYW5kIGEgbWVtb3J5CmNvbnRyb2xsZXIgdGhhdCBpbXBsZW1lbnRzIENCUVJJIGJhbmR3aWR0 aCBvcGVyYXRpb25zLiBUaGUgZHJpdmVycyBhcmUKaW50ZW5kZWQgdG8gd29yayB3aXRoIHRoZSBR ZW11IGJyYW5jaCBbNV0gd2hpY2ggaW5zdGFudGlhdGVzOgoKICAtIEwyIGNhY2hlIGNvbnRyb2xs ZXJzCiAgICAtIFJlc291cmNlIHR5cGU6IENhcGFjaXR5CiAgICAtIE51bWJlciBvZiBjYXBhY2l0 eSBibG9ja3MgKE5DQkxLUyk6IDEyCiAgICAJLSBJbiB0aGUgY29udGV4dCBvZiBhIHNldC1hc3Nv Y2lhdGl2ZSBjYWNoZSwgdGhlIG51bWJlciBvZgoJICBjYXBhY2l0eSBibG9ja3MgY2FuIGJlIHRo b3VnaHQgb2YgYXMgdGhlIG51bWJlciBvZiB3YXlzCiAgICAtIE51bWJlciBvZiBhY2Nlc3MgdHlw ZXM6IDIgKGNvZGUgYW5kIGRhdGEpCiAgICAtIFVzYWdlIG1vbml0b3Jpbmcgbm90IHN1cHBvcnRl ZAogICAgLSBDYXBhY2l0eSBhbGxvY2F0aW9uIG9wZXJhdGlvbnM6IENPTkZJR19MSU1JVCwgUkVB RF9MSU1JVAoKICAtIExhc3QtbGV2ZWwgY2FjaGUgKExMQykgY29udHJvbGxlcgogICAgLSBSZXNv dXJjZSB0eXBlOiBDYXBhY2l0eQogICAgLSBOdW1iZXIgb2YgY2FwYWNpdHkgYmxvY2tzIChOQ0JM S1MpOiAxNgogICAgLSBOdW1iZXIgb2YgYWNjZXNzIHR5cGVzOiAyIChjb2RlIGFuZCBkYXRhKQog ICAgLSBVc2FnZSBtb25pdG9yaW5nIG9wZXJhdGlvbnM6IENPTkZJR19FVkVOVCwgUkVBRF9DT1VO VEVSCiAgICAtIEV2ZW50IElEcyBzdXBwb3J0ZWQ6IE5vbmUsIE9jY3VwYW5jeQogICAgLSBDYXBh Y2l0eSBhbGxvY2F0aW9uIG9wczogQ09ORklHX0xJTUlULCBSRUFEX0xJTUlULCBGTFVTSF9SQ0lE CgogIC0gTWVtb3J5IGNvbnRyb2xsZXJzCiAgICAtIFJlc291cmNlIHR5cGU6IEJhbmR3aWR0aAog ICAgLSBOdW1iZXIgb2YgYmFuZHdpZHRoIGJsb2NrcyAoTkJXQkxLUyk6IDEwMjQKICAgICAgIC0g QmFuZHdpZHRoIGJsb2NrcyBkbyBub3QgaGF2ZSBhIHVuaXQgYnV0IGluc3RlYWQgcmVwcmVzZW50 IGEKICAgICAgICAgcG9ydGlvbiBvZiB0aGUgdG90YWwgYmFuZHdpZHRoIHJlc291cmNlLiBGb3Ig TldCTEtTIG9mIDEwMjQsCgkgZWFjaCBibG9jayByZXByZXNlbnRzIGFib3V0IDAuMSUgb2YgdGhl IGJhbmR3aWR0aCByZXNvdXJjZS4KICAgIC0gTWF4aW11bSByZXNlcnZlZCBiYW5kd2lkdGggYmxv Y2tzIChNUkJXQik6IDgxOSAoODAlIG9mIE5CV0JMS1MpCiAgICAtIE51bWJlciBvZiBhY2Nlc3Mg dHlwZXM6IDEgKG5vIGNvZGUvZGF0YSBkaWZmZXJlbnRpYXRpb24pCiAgICAtIFVzYWdlIG1vbml0 b3Jpbmcgb3BlcmF0aW9uczogQ09ORklHX0VWRU5ULCBSRUFEX0NPVU5URVIKICAgIC0gRXZlbnQg SURzIHN1cHBvcnRlZDogTm9uZSwgVG90YWwgcmVhZC93cml0ZSBieXRlIGNvdW50LCBUb3RhbAog ICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkIGJ5dGUgY291bnQsIFRvdGFsIHdyaXRlIGJ5 dGUgY291bnQKICAgIC0gQmFuZHdpZHRoIGFsbG9jYXRpb24gb3BlcmF0aW9uczogQ09ORklHX0xJ TUlULCBSRUFEX0xJTUlUCgpUaGUgbWVtb3J5IG1hcCBmb3IgdGhpcyBleGFtcGxlIFNvQzoKCiAg QmFzZSBhZGRyICBTaXplCiAgMHg0ODIwMDAwICA0S0IgIENsdXN0ZXIgMCBMMiBjYWNoZSBjb250 cm9sbGVyCiAgMHg0ODIxMDAwICA0S0IgIENsdXN0ZXIgMSBMMiBjYWNoZSBjb250cm9sbGVyCiAg MHg0ODI4MDAwICA0S0IgIE1lbW9yeSBjb250cm9sbGVyIDAKICAweDQ4MjkwMDAgIDRLQiAgTWVt b3J5IGNvbnRyb2xsZXIgMQogIDBYNDgyYTAwMCAgNEtCICBNZW1vcnkgY29udHJvbGxlciAyCiAg MFg0ODJiMDAwICA0S0IgIFNoYXJlZCBMTEMgY2FjaGUgY29udHJvbGxlcgoKVGhpcyBjb25maWd1 cmF0aW9uIGlzIG9ubHkgbWVhbnQgdG8gcHJvdmlkZSBhICJjb25jcmV0ZSIgZXhhbXBsZSwgYW5k IGl0CnJlcHJlc2VudHMganVzdCBvbmUgb2YgbWFueSBwb3NzaWJsZSB3YXlzIHRoYXQgaGFyZHdh cmUgY2FuIGltcGxlbWVudAp0aGUgQ0JRUkkgc3BlYy4KClN0YXR1cyBvZiBDQlFSSQotLS0tLS0t LS0tLS0tLS0KVGhlIENCUVJJIHNwZWMgaXMgc3RpbGwgaW4gYSBkcmFmdCBzdGF0ZSBhbmQgaXMg dW5kZXJnb2luZyByZXZpZXcgWzExXS4KSXQgaXMgcG9zc2libGUgdGhlcmUgd2lsbCBiZSBjaGFu Z2VzIHRvIHRoZSBTc3Fvc2lkIGV4dGVuc2lvbiBhbmQgdGhlCkNCUVJJIHNwZWMuIEZvciBleGFt cGxlLCB0aGUgc3Fvc2NmZyBDU1IgYWRkcmVzcyBpcyBub3QgeWV0IGZpbmFsaXplZC4KClRoZSBn b2FsIG9mIHRoaXMgUkZDIHBhdGNoIHNlcmllcywgYWxvbmcgd2l0aCB0aGUgY29tcGxpbWVudGFy eSBRZW11CnBhdGNoIHNlcmllcywgaXMgdG8gc2F0aXNmeSB0aGUgc29mdHdhcmUgcHJvb2Ygb2Yg Y29uY2VwdCByZXF1aXJlbWVudApmb3IgQ0JRUkkgdG8gYmVjb21lIGZyb3plbi4KClsxXSBodHRw czovL2dpdGh1Yi5jb20vcmlzY3Ytbm9uLWlzYS9yaXNjdi1jYnFyaS9ibG9iL21haW4vcmlzY3Yt Y2JxcmkucGRmClsyXSBodHRwczovL2dpdGxhYi5iYXlsaWJyZS5jb20vYmF5bGlicmUvbGludXgv LS90cmVlL3Jpc2N2LWNicXJpLXJmYwpbM10gaHR0cHM6Ly9naXRsYWIuYXJtLmNvbS9saW51eC1h cm0vbGludXgtam0vLS90cmVlL21wYW0vc25hcGhvdC8yMDIzMDQwNgpbNF0gaHR0cHM6Ly9sb3Jl Lmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDIzMDQxNjIzMjA1MC40MDk0ODIwLTEtZGZ1c3RpbmlA YmF5bGlicmUuY29tLwpbNV0gaHR0cHM6Ly9naXRsYWIuYmF5bGlicmUuY29tL2JheWxpYnJlL3Fl bXUvLS90cmVlL3Jpc2N2LWNicXJpLXJmYwpbNl0gaHR0cHM6Ly9kb2NzLmtlcm5lbC5vcmcveDg2 L3Jlc2N0cmwuaHRtbApbN10gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGttbC8yMDIzMDMyMDE3 MjYyMC4xODI1NC0xLWphbWVzLm1vcnNlQGFybS5jb20vCls4XSBodHRwczovL2RldmVsb3Blci5h cm0uY29tL2RvY3VtZW50YXRpb24vMTA3NzY4LzAxMDAvQXJtLU1lbW9yeS1TeXN0ZW0tUmVzb3Vy Y2UtUGFydGl0aW9uaW5nLWFuZC1Nb25pdG9yaW5nLS1NUEFNLS1FeHRlbnNpb24KWzldIGh0dHBz Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L21vcnNlL2xpbnV4Lmdp dC9sb2cvP2g9bXBhbS9zbmFwc2hvdC92Ni4yClsxMF0gaHR0cHM6Ly9naXRsYWIuYXJtLmNvbS9s aW51eC1hcm0vbGludXgtam0vLS9ibG9iL21wYW0vc25hcGhvdC8yMDIzMDQwNi9LTk9XTl9JU1NV RVMKWzExXSBodHRwczovL2xpc3RzLnJpc2N2Lm9yZy9nL3RlY2gtY2JxcmkvbWVzc2FnZS8zOAoK RHJldyBGdXN0aW5pICgyMSk6CiAgUklTQy1WOiBEZXRlY3QgdGhlIFNzcW9zaWQgZXh0ZW5zaW9u CiAgUklTQy1WOiBBZGQgc3VwcG9ydCBmb3Igc3Fvc2NmZyBDU1IKICBSSVNDLVY6IFFvUzogZGVm aW5lIHByb3BlcnRpZXMgb2YgQ0JRUkkgY29udHJvbGxlcnMKICBSSVNDLVY6IFFvUzogZGVmaW5l IENCUVJJIGNhcGFjaXR5IGFuZCBiYW5kd2lkdGggY2FwYWJpbGl0aWVzCiAgUklTQy1WOiBRb1M6 IGRlZmluZSBwcm90b3R5cGVzIGZvciByZXNjdHJsIGludGVyZmFjZQogIFJJU0MtVjogUW9TOiBk ZWZpbmUgQ0JRUkkgcmVzY3RybCByZXNvdXJjZXMgYW5kIGRvbWFpbnMKICBSSVNDLVY6IFFvUzog YWRkIHJlc2N0cmwgaW50ZXJmYWNlIGZvciBDQlFSSSBjb250cm9sbGVycwogIFJJU0MtVjogUW9T OiBleHBvc2UgaW1wbGVtZW50YXRpb24gdG8gcmVzY3RybAogIFJJU0MtVjogUW9TOiBhZGQgbGF0 ZV9pbml0Y2FsbCB0byBzZXR1cCByZXNjdHJsIGludGVyZmFjZQogIFJJU0MtVjogUW9TOiBtYWtl IENPTkZJR19SSVNDVl9JU0FfU1NRT1NJRCBzZWxlY3QgcmVzY3RybAogIFJJU0MtVjogUW9TOiBh ZGQgdG8gYnVpbGQgd2hlbiBDT05GSUdfUklTQ1ZfSVNBX1NTUU9TSUQgc2V0CiAgZHQtYmluZGlu Z3M6IHJpc2N2OiBhZGQgcmlzY3YsY2JxcmkgYmluZGluZ3MKICBET19OT1RfTUVSR0UgZHQtYmlu ZGluZ3M6IGFkZCBmb29iYXIgdmVuZG9yLXByZWZpeAogIERPX05PVF9NRVJHRSBkdC1iaW5kaW5n czogc29jOiBhZGQgRm9vYmFyIFNvQyBjYWNoZSBjb250cm9sbGVyCiAgRE9fTk9UX01FUkdFIGR0 LWJpbmRpbmdzOiBzb2M6IGFkZCBGb29iYXIgU29DIG1lbW9yeSBjb250cm9sbGVyCiAgRE9fTk9U X01FUkdFIHNvYzogYWRkIEZvb2JhciBTb0MgY2FjaGUgY29udHJvbGxlciBkcml2ZXIKICBET19O T1RfTUVSR0Ugc29jOiBhZGQgRm9vYmFyIFNvQyBtZW1vcnkgY29udHJvbGxlciBkcml2ZXIKICBE T19OT1RfTUVSR0Ugc29jOiBidWlsZCBGb29iYXIgU29DIGRyaXZlcnMKICBET19OT1RfTUVSR0Ug cmlzY3Y6IGR0czogcWVtdTogYWRkIGR1bXAgZnJvbSByaXNjdi1jYnFyaS1yZmMKICBET19OT1Rf TUVSR0UgcmlzY3Y6IGR0czogcWVtdTogYWRkIGNicXJpLWNhcGFibGUgY29udHJvbGxlcnMKICBE T19OT1RfTUVSR0UgcmlzY3Y6IGR0czogYnVpbGQgcWVtdSB2aXJ0IGRldmljZSB0cmVlCgogLi4u L2JpbmRpbmdzL3Jpc2N2L3Jpc2N2LGNicXJpLnlhbWwgICAgICAgICAgIHwgICAyOCArCiAuLi4v c29jL2Zvb2Jhci9mb29iYXIsY2FjaGUtY29udHJvbGxlci55YW1sICAgfCAgIDUxICsKIC4uLi9z b2MvZm9vYmFyL2Zvb2JhcixtZW1vcnktY29udHJvbGxlci55YW1sICB8ICAgNDkgKwogLi4uL2Rl dmljZXRyZWUvYmluZGluZ3MvdmVuZG9yLXByZWZpeGVzLnlhbWwgIHwgICAgMiArCiBhcmNoL3Jp c2N2L0tjb25maWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIyICsKIGFyY2gvcmlz Y3YvYm9vdC9kdHMvTWFrZWZpbGUgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogYXJjaC9yaXNj di9ib290L2R0cy9xZW11L01ha2VmaWxlICAgICAgICAgICAgIHwgICAgMyArCiBhcmNoL3Jpc2N2 L2Jvb3QvZHRzL3FlbXUvcWVtdS12aXJ0LWNicXJpLmR0cyAgfCAgNDMwICsrKysrKwogYXJjaC9y aXNjdi9pbmNsdWRlL2FzbS9jc3IuaCAgICAgICAgICAgICAgICAgIHwgICAgOCArCiBhcmNoL3Jp c2N2L2luY2x1ZGUvYXNtL2h3Y2FwLmggICAgICAgICAgICAgICAgfCAgICAyICsKIGFyY2gvcmlz Y3YvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmggICAgICAgICAgICB8ICAgIDMgKwogYXJjaC9yaXNj di9pbmNsdWRlL2FzbS9xb3MuaCAgICAgICAgICAgICAgICAgIHwgICA0MCArCiBhcmNoL3Jpc2N2 L2luY2x1ZGUvYXNtL3Jlc2N0cmwuaCAgICAgICAgICAgICAgfCAgICAyICsKIGFyY2gvcmlzY3Yv aW5jbHVkZS9hc20vc3dpdGNoX3RvLmggICAgICAgICAgICB8ICAgIDIgKwogYXJjaC9yaXNjdi9r ZXJuZWwvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgIHwgICAgMiArCiBhcmNoL3Jpc2N2L2tl cm5lbC9jcHUuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsKIGFyY2gvcmlzY3Yva2Vy bmVsL2NwdWZlYXR1cmUuYyAgICAgICAgICAgICAgICB8ICAgIDEgKwogYXJjaC9yaXNjdi9rZXJu ZWwvcW9zL01ha2VmaWxlICAgICAgICAgICAgICAgIHwgICAgMiArCiBhcmNoL3Jpc2N2L2tlcm5l bC9xb3MvaW50ZXJuYWwuaCAgICAgICAgICAgICAgfCAgMTU3ICsrKwogYXJjaC9yaXNjdi9rZXJu ZWwvcW9zL3Fvcy5jICAgICAgICAgICAgICAgICAgIHwgICAzMSArCiBhcmNoL3Jpc2N2L2tlcm5l bC9xb3MvcW9zX3Jlc2N0cmwuYyAgICAgICAgICAgfCAxMjMxICsrKysrKysrKysrKysrKysrCiBk cml2ZXJzL3NvYy9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsKIGRy aXZlcnMvc29jL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogZHJp dmVycy9zb2MvZm9vYmFyL0tjb25maWcgICAgICAgICAgICAgICAgICAgIHwgICAyMSArCiBkcml2 ZXJzL3NvYy9mb29iYXIvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgfCAgICA0ICsKIGRyaXZl cnMvc29jL2Zvb2Jhci9mb29iYXJfY2JxcmlfY2FjaGUuYyAgICAgICB8ICAxMTAgKysKIGRyaXZl cnMvc29jL2Zvb2Jhci9mb29iYXJfY2JxcmlfbWVtb3J5LmMgICAgICB8ICAgODMgKysKIGluY2x1 ZGUvbGludXgvcmlzY3ZfcW9zLmggICAgICAgICAgICAgICAgICAgICB8ICAgOTIgKysKIDI4IGZp bGVzIGNoYW5nZWQsIDIzODAgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3Vt ZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9yaXNjdi9yaXNjdixjYnFyaS55YW1sCiBjcmVh dGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NvYy9mb29i YXIvZm9vYmFyLGNhY2hlLWNvbnRyb2xsZXIueWFtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3Vt ZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zb2MvZm9vYmFyL2Zvb2JhcixtZW1vcnktY29u dHJvbGxlci55YW1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9yaXNjdi9ib290L2R0cy9xZW11 L01ha2VmaWxlCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9yaXNjdi9ib290L2R0cy9xZW11L3Fl bXUtdmlydC1jYnFyaS5kdHMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL3Jpc2N2L2luY2x1ZGUv YXNtL3Fvcy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9yZXNj dHJsLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL3Jpc2N2L2tlcm5lbC9xb3MvTWFrZWZpbGUK IGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL3Jpc2N2L2tlcm5lbC9xb3MvaW50ZXJuYWwuaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IGFyY2gvcmlzY3Yva2VybmVsL3Fvcy9xb3MuYwogY3JlYXRlIG1vZGUg MTAwNjQ0IGFyY2gvcmlzY3Yva2VybmVsL3Fvcy9xb3NfcmVzY3RybC5jCiBjcmVhdGUgbW9kZSAx MDA2NDQgZHJpdmVycy9zb2MvZm9vYmFyL0tjb25maWcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL3NvYy9mb29iYXIvTWFrZWZpbGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3NvYy9m b29iYXIvZm9vYmFyX2NicXJpX2NhY2hlLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3Nv Yy9mb29iYXIvZm9vYmFyX2NicXJpX21lbW9yeS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVk ZS9saW51eC9yaXNjdl9xb3MuaAoKLS0gCjIuMzQuMQoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1y aXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtcmlzY3YK