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 lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 C91FFE9A047 for ; Wed, 18 Feb 2026 01:53:47 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vsWk0-0007Di-AO; Tue, 17 Feb 2026 20:52:36 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vsWjy-0007D5-Kq; Tue, 17 Feb 2026 20:52:34 -0500 Received: from pdx-out-010.esa.us-west-2.outbound.mail-perimeter.amazon.com ([52.12.53.23]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vsWjw-0005GB-Hi; Tue, 17 Feb 2026 20:52:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazoncorp2; t=1771379552; x=1802915552; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=QVGSh6QomGasFEgLBMFo/YmaboU2VJXN/YN9VZOxI5s=; b=k/Pu82E8T0hox3JXGYDfA+5rmYDpwh5d2MS0Dr+v13eY35PMAJpZNzMi 0q3jDu69pBei5LrXEiwJu4vrIE+d2UOjMcvUsQSlFlGGgmffED4MYFT9h hCtvlS+EZkNEfv0JP75sA3iUOR65ZTGth3lzf17qO+QDsh01K8i/6rEMV JYkaBpXKUOU7TDQMWCafrpg5LjP4I5ag13Y+y42iNMnvMki77sfnOX87U /QPFZYTIAsJEq5SepFwtB3Vva7wR7sMSLGuUBQboQi2f1vOIsBUZ3JT+K qxm5Pa0fPeGVVzypOQ3EwDXpuMOHzFRo/joTS7tN4yvMOROCZu9wzayrn w==; X-CSE-ConnectionGUID: JaUHGOg3QVKPhJFJtHZSHw== X-CSE-MsgGUID: atKWgTiwTpKoGKsb9VXQbg== X-IronPort-AV: E=Sophos;i="6.21,297,1763424000"; d="scan'208";a="13134030" Received: from ip-10-5-9-48.us-west-2.compute.internal (HELO smtpout.naws.us-west-2.prod.farcaster.email.amazon.dev) ([10.5.9.48]) by internal-pdx-out-010.esa.us-west-2.outbound.mail-perimeter.amazon.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Feb 2026 01:52:28 +0000 Received: from EX19MTAUWB002.ant.amazon.com [205.251.233.48:31640] by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.55.107:2525] with esmtp (Farcaster) id 415e14a0-c25f-4b68-92fd-684b081b5a96; Wed, 18 Feb 2026 01:52:27 +0000 (UTC) X-Farcaster-Flow-ID: 415e14a0-c25f-4b68-92fd-684b081b5a96 Received: from EX19D020UWC004.ant.amazon.com (10.13.138.149) by EX19MTAUWB002.ant.amazon.com (10.250.64.231) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.2562.35; Wed, 18 Feb 2026 01:52:27 +0000 Received: from ip-10-253-83-51.amazon.com (172.19.99.218) by EX19D020UWC004.ant.amazon.com (10.13.138.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.2562.35; Wed, 18 Feb 2026 01:52:25 +0000 From: Alexander Graf To: CC: , Peter Maydell , "Thomas Huth" , , , , , Cornelia Huck , , Dorjoy Chowdhury , Pierrick Bouvier , Paolo Bonzini , Tyler Fanelli , , Subject: [PATCH 04/10] hw/nitro/nitro-serial-vsock: Nitro Enclaves vsock console Date: Wed, 18 Feb 2026 01:51:44 +0000 Message-ID: <20260218015151.4052-5-graf@amazon.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20260218015151.4052-1-graf@amazon.com> References: <20260218015151.4052-1-graf@amazon.com> MIME-Version: 1.0 X-Originating-IP: [172.19.99.218] X-ClientProxiedBy: EX19D043UWC001.ant.amazon.com (10.13.139.202) To EX19D020UWC004.ant.amazon.com (10.13.138.149) Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Received-SPF: pass client-ip=52.12.53.23; envelope-from=prvs=502105d20=graf@amazon.de; helo=pdx-out-010.esa.us-west-2.outbound.mail-perimeter.amazon.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.043, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, UNPARSEABLE_RELAY=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-arm@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-arm-bounces+qemu-arm=archiver.kernel.org@nongnu.org Sender: qemu-arm-bounces+qemu-arm=archiver.kernel.org@nongnu.org Tml0cm8gRW5jbGF2ZXMgc3VwcG9ydCBhIHNwZWNpYWwgImRlYnVnIiBtb2RlLiBXaGVuIGluIGRl YnVnIG1vZGUsIHRoZQpOaXRybyBIeXBlcnZpc29yIHByb3ZpZGVzIGEgdnNvY2sgcG9ydCB0aGF0 IHRoZSBwYXJlbnQgY2FuIGNvbm5lY3QgdG8gdG8KcmVjZWl2ZSBzZXJpYWwgY29uc29sZSBvdXRw dXQgb2YgdGhlIEVuY2xhdmUuIEFkZCBhIG5ldyBuaXRyby1zZXJpYWwtdnNvY2sKZHJpdmVyIHRo YXQgaW1wbGVtZW50cyBzaG9ydC1jaXJjdWl0IGxvZ2ljIHRvIGVzdGFibGlzaCB0aGUgdnNvY2sK Y29ubmVjdGlvbiB0byB0aGF0IHBvcnQgYW5kIGZlZWQgaXRzIGRhdGEgaW50byBhIGNoYXJkZXYs IHNvIHRoYXQgYSBtYWNoaW5lCm1vZGVsIGNhbiB1c2UgaXQgYXMgc2VyaWFsIGRldmljZS4KClNp Z25lZC1vZmYtYnk6IEFsZXhhbmRlciBHcmFmIDxncmFmQGFtYXpvbi5jb20+Ci0tLQogTUFJTlRB SU5FUlMgICAgICAgICAgICAgICAgICAgICB8ICAgNiArKwogaHcvS2NvbmZpZyAgICAgICAgICAg ICAgICAgICAgICB8ICAgMSArCiBody9tZXNvbi5idWlsZCAgICAgICAgICAgICAgICAgIHwgICAx ICsKIGh3L25pdHJvL0tjb25maWcgICAgICAgICAgICAgICAgfCAgIDMgKwogaHcvbml0cm8vbWVz b24uYnVpbGQgICAgICAgICAgICB8ICAgMSArCiBody9uaXRyby9zZXJpYWwtdnNvY2suYyAgICAg ICAgIHwgMTU0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBody9uaXRyby90cmFj ZS1ldmVudHMgICAgICAgICAgIHwgICA0ICsKIGh3L25pdHJvL3RyYWNlLmggICAgICAgICAgICAg ICAgfCAgIDQgKwogaW5jbHVkZS9ody9uaXRyby9zZXJpYWwtdnNvY2suaCB8ICAyNiArKysrKysK IG1lc29uLmJ1aWxkICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogMTAgZmlsZXMgY2hhbmdl ZCwgMjAxIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBody9uaXRyby9LY29uZmln CiBjcmVhdGUgbW9kZSAxMDA2NDQgaHcvbml0cm8vbWVzb24uYnVpbGQKIGNyZWF0ZSBtb2RlIDEw MDY0NCBody9uaXRyby9zZXJpYWwtdnNvY2suYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGh3L25pdHJv L3RyYWNlLWV2ZW50cwogY3JlYXRlIG1vZGUgMTAwNjQ0IGh3L25pdHJvL3RyYWNlLmgKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2h3L25pdHJvL3NlcmlhbC12c29jay5oCgpkaWZmIC0tZ2l0 IGEvTUFJTlRBSU5FUlMgYi9NQUlOVEFJTkVSUwppbmRleCAzZDAwMjE0M2FlLi41M2NlMDc1ZTlh IDEwMDY0NAotLS0gYS9NQUlOVEFJTkVSUworKysgYi9NQUlOVEFJTkVSUwpAQCAtMzAyMiw2ICsz MDIyLDEyIEBAIEY6IGh3L3ZtYXBwbGUvKgogRjogaW5jbHVkZS9ody92bWFwcGxlLyoKIEY6IGRv Y3Mvc3lzdGVtL2FybS92bWFwcGxlLnJzdAogCitOaXRybyBFbmNsYXZlcyAobmF0aXZlKQorTTog QWxleGFuZGVyIEdyYWYgPGdyYWZAYW1hem9uLmNvbT4KK1M6IE1haW50YWluZWQKK0Y6IGh3L25p dHJvLworRjogaW5jbHVkZS9ody9uaXRyby8KKwogU3Vic3lzdGVtcwogLS0tLS0tLS0tLQogT3Zl cmFsbCBBdWRpbyBiYWNrZW5kcwpkaWZmIC0tZ2l0IGEvaHcvS2NvbmZpZyBiL2h3L0tjb25maWcK aW5kZXggZjhmOTJiNWQwMy4uYjNjZTE1MjBhNiAxMDA2NDQKLS0tIGEvaHcvS2NvbmZpZworKysg Yi9ody9LY29uZmlnCkBAIC0yMiw2ICsyMiw3IEBAIHNvdXJjZSBpc2EvS2NvbmZpZwogc291cmNl IG1lbS9LY29uZmlnCiBzb3VyY2UgbWlzYy9LY29uZmlnCiBzb3VyY2UgbmV0L0tjb25maWcKK3Nv dXJjZSBuaXRyby9LY29uZmlnCiBzb3VyY2UgbnVidXMvS2NvbmZpZwogc291cmNlIG52bWUvS2Nv bmZpZwogc291cmNlIG52cmFtL0tjb25maWcKZGlmZiAtLWdpdCBhL2h3L21lc29uLmJ1aWxkIGIv aHcvbWVzb24uYnVpbGQKaW5kZXggNjZlNDZiODA5MC4uMzZkYTUzMjJmNyAxMDA2NDQKLS0tIGEv aHcvbWVzb24uYnVpbGQKKysrIGIvaHcvbWVzb24uYnVpbGQKQEAgLTQ0LDYgKzQ0LDcgQEAgc3Vi ZGlyKCdpc2EnKQogc3ViZGlyKCdtZW0nKQogc3ViZGlyKCdtaXNjJykKIHN1YmRpcignbmV0JykK K3N1YmRpcignbml0cm8nKQogc3ViZGlyKCdudWJ1cycpCiBzdWJkaXIoJ252bWUnKQogc3ViZGly KCdudnJhbScpCmRpZmYgLS1naXQgYS9ody9uaXRyby9LY29uZmlnIGIvaHcvbml0cm8vS2NvbmZp ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi44NmM4MTdjNzY2Ci0tLSAv ZGV2L251bGwKKysrIGIvaHcvbml0cm8vS2NvbmZpZwpAQCAtMCwwICsxLDMgQEAKK2NvbmZpZyBO SVRST19TRVJJQUxfVlNPQ0sKKyAgICBib29sCisgICAgZGVwZW5kcyBvbiBOSVRSTwpkaWZmIC0t Z2l0IGEvaHcvbml0cm8vbWVzb24uYnVpbGQgYi9ody9uaXRyby9tZXNvbi5idWlsZApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5kOTVlZDhkZDc5Ci0tLSAvZGV2L251bGwK KysrIGIvaHcvbml0cm8vbWVzb24uYnVpbGQKQEAgLTAsMCArMSBAQAorc3lzdGVtX3NzLmFkZCh3 aGVuOiAnQ09ORklHX05JVFJPX1NFUklBTF9WU09DSycsIGlmX3RydWU6IGZpbGVzKCdzZXJpYWwt dnNvY2suYycpKQpkaWZmIC0tZ2l0IGEvaHcvbml0cm8vc2VyaWFsLXZzb2NrLmMgYi9ody9uaXRy by9zZXJpYWwtdnNvY2suYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi4x MmQ2ODA0YTMzCi0tLSAvZGV2L251bGwKKysrIGIvaHcvbml0cm8vc2VyaWFsLXZzb2NrLmMKQEAg LTAsMCArMSwxNTQgQEAKKy8qCisgKiBOaXRybyBFbmNsYXZlIFZzb2NrIFNlcmlhbAorICoKKyAq IENvcHlyaWdodCDCqSAyMDI2IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFs bCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogQXV0aG9yczoKKyAqICAgQWxleGFuZGVyIEdyYWYg PGdyYWZAYW1hem9uLmNvbT4KKyAqCisgKiBXaXRoIE5pdHJvIEVuY2xhdmVzIGluIGRlYnVnIG1v ZGUsIHRoZSBOaXRybyBIeXBlcnZpc29yIHByb3ZpZGVzIGEgdnNvY2sKKyAqIHBvcnQgdGhhdCB0 aGUgcGFyZW50IGNhbiBjb25uZWN0IHRvIHRvIHJlY2VpdmUgc2VyaWFsIGNvbnNvbGUgb3V0cHV0 IG9mCisgKiB0aGUgRW5jbGF2ZS4gVGhpcyBkcml2ZXIgaW1wbGVtZW50cyBzaG9ydC1jaXJjdWl0 IGxvZ2ljIHRvIGVzdGFibGlzaCB0aGUKKyAqIHZzb2NrIGNvbm5lY3Rpb24gdG8gdGhhdCBwb3J0 IGFuZCBmZWVkIGl0cyBkYXRhIGludG8gYSBjaGFyZGV2LCBzbyB0aGF0CisgKiBhIG1hY2hpbmUg bW9kZWwgY2FuIHVzZSBpdCBhcyBzZXJpYWwgZGV2aWNlLgorICoKKyAqIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCisgKi8KKworI2luY2x1ZGUgInFlbXUvb3NkZXAu aCIKKyNpbmNsdWRlICJxZW11L2Vycm9yLXJlcG9ydC5oIgorI2luY2x1ZGUgInFhcGkvZXJyb3Iu aCIKKyNpbmNsdWRlICJxYXBpL3Zpc2l0b3IuaCIKKyNpbmNsdWRlICJjaGFyZGV2L2NoYXIuaCIK KyNpbmNsdWRlICJjaGFyZGV2L2NoYXItZmUuaCIKKyNpbmNsdWRlICJody9jb3JlL3FkZXYtcHJv cGVydGllcy5oIgorI2luY2x1ZGUgImh3L2NvcmUvcWRldi1wcm9wZXJ0aWVzLXN5c3RlbS5oIgor I2luY2x1ZGUgImh3L2NvcmUvc3lzYnVzLmgiCisjaW5jbHVkZSAiaHcvbml0cm8vc2VyaWFsLXZz b2NrLmgiCisjaW5jbHVkZSAidHJhY2UuaCIKKworI2RlZmluZSBDT05TT0xFX1BPUlRfU1RBUlQg MTAwMDAKKyNkZWZpbmUgVk1BRERSX0NJRF9IWVBFUlZJU09SX1NUUiAiMCIKKworc3RhdGljIGlu dCBuaXRyb19zZXJpYWxfdnNvY2tfY2FuX3JlYWQodm9pZCAqb3BhcXVlKQoreworICAgIE5pdHJv U2VyaWFsVnNvY2tTdGF0ZSAqcyA9IG9wYXF1ZTsKKworICAgIC8qIFJlZnVzZSB2c29jayBpbnB1 dCB1bnRpbCB0aGUgb3V0cHV0IGJhY2tlbmQgaXMgcmVhZHkgKi8KKyAgICByZXR1cm4gcWVtdV9j aHJfZmVfYmFja2VuZF9vcGVuKCZzLT5vdXRwdXQpID8gNDA5NiA6IDA7Cit9CisKK3N0YXRpYyB2 b2lkIG5pdHJvX3NlcmlhbF92c29ja19yZWFkKHZvaWQgKm9wYXF1ZSwgY29uc3QgdWludDhfdCAq YnVmLCBpbnQgc2l6ZSkKK3sKKyAgICBOaXRyb1NlcmlhbFZzb2NrU3RhdGUgKnMgPSBvcGFxdWU7 CisKKyAgICAvKiBGb3J3YXJkIGFsbCB2c29jayBkYXRhIHRvIHRoZSBvdXRwdXQgY2hhcmRldiAq LworICAgIHFlbXVfY2hyX2ZlX3dyaXRlX2FsbCgmcy0+b3V0cHV0LCBidWYsIHNpemUpOworfQor CitzdGF0aWMgdm9pZCBuaXRyb19zZXJpYWxfdnNvY2tfZXZlbnQodm9pZCAqb3BhcXVlLCBRRU1V Q2hyRXZlbnQgZXZlbnQpCit7CisgICAgLyogTm8gbmVlZCB0byBhY3Rpb24gb24gY29ubmVjdC9k aXNjb25uZWN0IGV2ZW50cywgYnV0IHRyYWNlIGZvciBkZWJ1ZyAqLworICAgIHRyYWNlX25pdHJv X3NlcmlhbF92c29ja19ldmVudChldmVudCk7Cit9CisKK3N0YXRpYyB2b2lkIG5pdHJvX3Nlcmlh bF92c29ja19zZXRfY2lkKE9iamVjdCAqb2JqLCBWaXNpdG9yICp2LAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqb3BhcXVlLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJwKQorewor ICAgIE5pdHJvU2VyaWFsVnNvY2tTdGF0ZSAqcyA9IE5JVFJPX1NFUklBTF9WU09DSyhvYmopOwor ICAgIHVpbnQzMl90IGNpZCwgcG9ydDsKKyAgICBnX2F1dG9mcmVlIGNoYXIgKmNoYXJkZXZfaWQg PSBOVUxMOworICAgIENoYXJkZXYgKmNocjsKKyAgICBDaGFyZGV2QmFja2VuZCAqYmFja2VuZDsK KyAgICBDaGFyZGV2U29ja2V0ICpzb2NrOworCisgICAgaWYgKCF2aXNpdF90eXBlX3VpbnQzMih2 LCBuYW1lLCAmY2lkLCBlcnJwKSkgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgcy0+ Y2lkID0gY2lkOworICAgIHBvcnQgPSBjaWQgKyBDT05TT0xFX1BPUlRfU1RBUlQ7CisKKyAgICAv KgorICAgICAqIFdlIGtub3cgdGhlIEVuY2xhdmUgQ0lEIHRvIGNvbm5lY3QgdG8gbm93LiBDcmVh dGUgYSB2c29jaworICAgICAqIGNsaWVudCBjaGFyZGV2IHRoYXQgY29ubmVjdHMgdG8gdGhlIEVu Y2xhdmUncyBjb25zb2xlLgorICAgICAqLworICAgIGNoYXJkZXZfaWQgPSBnX3N0cmR1cF9wcmlu dGYoIm5pdHJvLWNvbnNvbGUtJXUiLCBjaWQpOworCisgICAgYmFja2VuZCA9IGdfbmV3MChDaGFy ZGV2QmFja2VuZCwgMSk7CisgICAgYmFja2VuZC0+dHlwZSA9IENIQVJERVZfQkFDS0VORF9LSU5E X1NPQ0tFVDsKKyAgICBzb2NrID0gYmFja2VuZC0+dS5zb2NrZXQuZGF0YSA9IGdfbmV3MChDaGFy ZGV2U29ja2V0LCAxKTsKKyAgICBzb2NrLT5hZGRyID0gZ19uZXcwKFNvY2tldEFkZHJlc3NMZWdh Y3ksIDEpOworICAgIHNvY2stPmFkZHItPnR5cGUgPSBTT0NLRVRfQUREUkVTU19UWVBFX1ZTT0NL OworICAgIHNvY2stPmFkZHItPnUudnNvY2suZGF0YSA9IGdfbmV3MChWc29ja1NvY2tldEFkZHJl c3MsIDEpOworICAgIHNvY2stPmFkZHItPnUudnNvY2suZGF0YS0+Y2lkID0gZ19zdHJkdXAoVk1B RERSX0NJRF9IWVBFUlZJU09SX1NUUik7CisgICAgc29jay0+YWRkci0+dS52c29jay5kYXRhLT5w b3J0ID0gZ19zdHJkdXBfcHJpbnRmKCIldSIsIHBvcnQpOworICAgIHNvY2stPnNlcnZlciA9IGZh bHNlOworICAgIHNvY2stPmhhc19zZXJ2ZXIgPSB0cnVlOworCisgICAgY2hyID0gcWVtdV9jaGFy ZGV2X25ldyhjaGFyZGV2X2lkLCBUWVBFX0NIQVJERVZfU09DS0VULAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmFja2VuZCwgTlVMTCwgZXJycCk7CisgICAgaWYgKCFjaHIpIHsKKyAgICAg ICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghcWVtdV9jaHJfZmVfaW5pdCgmcy0+dnNvY2ss IGNociwgZXJycCkpIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHFlbXVfY2hyX2Zl X3NldF9oYW5kbGVycygmcy0+dnNvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5p dHJvX3NlcmlhbF92c29ja19jYW5fcmVhZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bml0cm9fc2VyaWFsX3Zzb2NrX3JlYWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5p dHJvX3NlcmlhbF92c29ja19ldmVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM TCwgcywgTlVMTCwgdHJ1ZSk7Cit9CisKK3N0YXRpYyB2b2lkIG5pdHJvX3NlcmlhbF92c29ja19n ZXRfY2lkKE9iamVjdCAqb2JqLCBWaXNpdG9yICp2LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqb3BhcXVlLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJwKQoreworICAgIE5pdHJv U2VyaWFsVnNvY2tTdGF0ZSAqcyA9IE5JVFJPX1NFUklBTF9WU09DSyhvYmopOworICAgIHVpbnQz Ml90IGNpZCA9IHMtPmNpZDsKKworICAgIHZpc2l0X3R5cGVfdWludDMyKHYsIG5hbWUsICZjaWQs IGVycnApOworfQorCitzdGF0aWMgdm9pZCBuaXRyb19zZXJpYWxfdnNvY2tfcmVhbGl6ZShEZXZp Y2VTdGF0ZSAqZGV2LCBFcnJvciAqKmVycnApCit7CisgICAgLyoKKyAgICAgKiBBdCByZWFsaXpl IHdlIGRvbid0IGtub3cgdGhlIEVuY2xhdmUgQ0lEIHlldCwgYmVjYXVzZSB0aGUgbml0cm8gYWNj ZWwKKyAgICAgKiBmaXJzdCBuZWVkcyB0byBsYXVuY2ggdGhlIEVuY2xhdmUuIERlbGF5IGNyZWF0 aW9uIG9mIHRoZSBjb25uZWN0aW9uCisgICAgICogdW50aWwgdGhlIG5pdHJvIGFjY2VsIHB1c2hl cyB0aGUgQ0lEIGFzIFFPTSBwcm9wZXJ0eS4KKyAgICAgKi8KK30KKworc3RhdGljIGNvbnN0IFBy b3BlcnR5IG5pdHJvX3NlcmlhbF92c29ja19wcm9wc1tdID0geworICAgIERFRklORV9QUk9QX0NI UigiY2hhcmRldiIsIE5pdHJvU2VyaWFsVnNvY2tTdGF0ZSwgb3V0cHV0KSwKK307CisKK3N0YXRp YyB2b2lkIG5pdHJvX3NlcmlhbF92c29ja19jbGFzc19pbml0KE9iamVjdENsYXNzICpvYywgY29u c3Qgdm9pZCAqZGF0YSkKK3sKKyAgICBEZXZpY2VDbGFzcyAqZGMgPSBERVZJQ0VfQ0xBU1Mob2Mp OworICAgIGRjLT5yZWFsaXplID0gbml0cm9fc2VyaWFsX3Zzb2NrX3JlYWxpemU7CisgICAgZGV2 aWNlX2NsYXNzX3NldF9wcm9wcyhkYywgbml0cm9fc2VyaWFsX3Zzb2NrX3Byb3BzKTsKKworICAg IG9iamVjdF9jbGFzc19wcm9wZXJ0eV9hZGQob2MsICJlbmNsYXZlLWNpZCIsICJ1aW50MzIiLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbml0cm9fc2VyaWFsX3Zzb2NrX2dldF9jaWQs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuaXRyb19zZXJpYWxfdnNvY2tfc2V0X2Np ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworfQorCitzdGF0 aWMgY29uc3QgVHlwZUluZm8gbml0cm9fc2VyaWFsX3Zzb2NrX2luZm8gPSB7CisgICAgLm5hbWUg PSBUWVBFX05JVFJPX1NFUklBTF9WU09DSywKKyAgICAucGFyZW50ID0gVFlQRV9TWVNfQlVTX0RF VklDRSwKKyAgICAuaW5zdGFuY2Vfc2l6ZSA9IHNpemVvZihOaXRyb1NlcmlhbFZzb2NrU3RhdGUp LAorICAgIC5jbGFzc19pbml0ID0gbml0cm9fc2VyaWFsX3Zzb2NrX2NsYXNzX2luaXQsCit9Owor CitzdGF0aWMgdm9pZCBuaXRyb19zZXJpYWxfdnNvY2tfcmVnaXN0ZXIodm9pZCkKK3sKKyAgICB0 eXBlX3JlZ2lzdGVyX3N0YXRpYygmbml0cm9fc2VyaWFsX3Zzb2NrX2luZm8pOworfQorCit0eXBl X2luaXQobml0cm9fc2VyaWFsX3Zzb2NrX3JlZ2lzdGVyKTsKZGlmZiAtLWdpdCBhL2h3L25pdHJv L3RyYWNlLWV2ZW50cyBiL2h3L25pdHJvL3RyYWNlLWV2ZW50cwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwLi4yMDYxN2EwMjRhCi0tLSAvZGV2L251bGwKKysrIGIvaHcvbml0 cm8vdHJhY2UtZXZlbnRzCkBAIC0wLDAgKzEsNCBAQAorIyBTZWUgZG9jcy9kZXZlbC90cmFjaW5n LnJzdCBmb3Igc3ludGF4IGRvY3VtZW50YXRpb24uCisKKyMgc2VyaWFsLXZzb2NrLmMKK25pdHJv X3NlcmlhbF92c29ja19ldmVudChpbnQgZXZlbnQpICJldmVudCAlZCIKZGlmZiAtLWdpdCBhL2h3 L25pdHJvL3RyYWNlLmggYi9ody9uaXRyby90cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLmI0NTVkNmMxN2IKLS0tIC9kZXYvbnVsbAorKysgYi9ody9uaXRyby90 cmFjZS5oCkBAIC0wLDAgKzEsNCBAQAorLyoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wLW9yLWxhdGVyCisgKi8KKyNpbmNsdWRlICJ0cmFjZS90cmFjZS1od19uaXRyby5oIgpk aWZmIC0tZ2l0IGEvaW5jbHVkZS9ody9uaXRyby9zZXJpYWwtdnNvY2suaCBiL2luY2x1ZGUvaHcv bml0cm8vc2VyaWFsLXZzb2NrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MC4uOTJjOTM3NGVlYgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvaHcvbml0cm8vc2VyaWFs LXZzb2NrLmgKQEAgLTAsMCArMSwyNiBAQAorLyoKKyAqIE5pdHJvIEVuY2xhdmUgU2VyaWFsICh2 c29jaykKKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgor ICovCisKKyNpZm5kZWYgSFdfQ0hBUl9OSVRST19TRVJJQUxfVlNPQ0tfSAorI2RlZmluZSBIV19D SEFSX05JVFJPX1NFUklBTF9WU09DS19ICisKKyNpbmNsdWRlICJody9jb3JlL3FkZXYuaCIKKyNp bmNsdWRlICJody9jb3JlL3N5c2J1cy5oIgorI2luY2x1ZGUgImNoYXJkZXYvY2hhci1mZS5oIgor I2luY2x1ZGUgInFvbS9vYmplY3QuaCIKKworI2RlZmluZSBUWVBFX05JVFJPX1NFUklBTF9WU09D SyAibml0cm8tc2VyaWFsLXZzb2NrIgorT0JKRUNUX0RFQ0xBUkVfU0lNUExFX1RZUEUoTml0cm9T ZXJpYWxWc29ja1N0YXRlLCBOSVRST19TRVJJQUxfVlNPQ0spCisKK3N0cnVjdCBOaXRyb1Nlcmlh bFZzb2NrU3RhdGUgeworICAgIFN5c0J1c0RldmljZSBwYXJlbnRfb2JqOworCisgICAgQ2hhckZy b250ZW5kIG91dHB1dDsgICAgLyogY2hhcmRldiB0byB3cml0ZSBjb25zb2xlIG91dHB1dCB0byAq LworICAgIENoYXJGcm9udGVuZCB2c29jazsgICAgIC8qIHZzb2NrIGNoYXJkZXYgdG8gZW5jbGF2 ZSBjb25zb2xlICovCisgICAgdWludDMyX3QgY2lkOworfTsKKworI2VuZGlmIC8qIEhXX0NIQVJf TklUUk9fU0VSSUFMX1ZTT0NLX0ggKi8KZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24u YnVpbGQKaW5kZXggYmRlZWU2NWRiMi4uM2M2ZmE3YTU1YSAxMDA2NDQKLS0tIGEvbWVzb24uYnVp bGQKKysrIGIvbWVzb24uYnVpbGQKQEAgLTM2MzQsNiArMzYzNCw3IEBAIGlmIGhhdmVfc3lzdGVt CiAgICAgJ2h3L21pc2MvbWFjaW8nLAogICAgICdody9uZXQnLAogICAgICdody9uZXQvY2FuJywK KyAgICAnaHcvbml0cm8nLAogICAgICdody9udWJ1cycsCiAgICAgJ2h3L252bWUnLAogICAgICdo dy9udnJhbScsCi0tIAoyLjQ3LjEKCgoKCkFtYXpvbiBXZWIgU2VydmljZXMgRGV2ZWxvcG1lbnQg Q2VudGVyIEdlcm1hbnkgR21iSApUYW1hcmEtRGFuei1TdHIuIDEzCjEwMjQzIEJlcmxpbgpHZXNj aGFlZnRzZnVlaHJ1bmc6IENocmlzdG9mIEhlbGxtaXMsIEFuZHJlYXMgU3RpZWdlcgpFaW5nZXRy YWdlbiBhbSBBbXRzZ2VyaWNodCBDaGFybG90dGVuYnVyZyB1bnRlciBIUkIgMjU3NzY0IEIKU2l0 ejogQmVybGluClVzdC1JRDogREUgMzY1IDUzOCA1OTcK