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 6798DD24454 for ; Thu, 10 Oct 2024 21:46:05 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sz0ws-0001gK-1o; Thu, 10 Oct 2024 17:43:54 -0400 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 1sz0wq-0001ft-Oz for grub-devel@gnu.org; Thu, 10 Oct 2024 17:43:52 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sz0wo-0003tU-DZ for grub-devel@gnu.org; Thu, 10 Oct 2024 17:43:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1728596629; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=IFpPzpArDPei31MdNhbGC4+0cOfw3xQ0lE+XyakzfkY=; b=ICSeBs6UV8BjWpVBjwe4EM+yMtgh1kN/taR9U2ac1lOmBe4evQcV4zirC+ljQv1D29hGQQ p8s/rfQMNfCBrJRSIWdr0Rs6HGIgLEWo3xgqdjgrnPmCI1k5YMEivXzsvFCLKw4/6zeO10 c88UltnPxex7oUvDASoj2OQUQMr2s1U= Received: from mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-563-48bRGBiPO26eQrPNFq1ngw-1; Thu, 10 Oct 2024 17:43:48 -0400 X-MC-Unique: 48bRGBiPO26eQrPNFq1ngw-1 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 2A8DF1955EAD for ; Thu, 10 Oct 2024 21:43:47 +0000 (UTC) Received: from localhost.localdomain (unknown [10.2.16.8]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 74E0719560A3 for ; Thu, 10 Oct 2024 21:43:46 +0000 (UTC) From: Leo Sandoval To: grub-devel@gnu.org Subject: [PATCH v3 01/16] ieee1275/openfw: IBM client architecture (CAS) reboot support Date: Thu, 10 Oct 2024 15:43:19 -0600 Message-ID: <20241010214334.1749167-2-lsandova@redhat.com> In-Reply-To: <20241010214334.1749167-1-lsandova@redhat.com> References: <20241010214334.1749167-1-lsandova@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=170.10.129.124; envelope-from=lsandova@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.149, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The development of GNU GRUB Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org RnJvbTogUGF1bG8gRmxhYmlhbm8gU21vcmlnbyA8cGZzbW9yaWdvQGJyLmlibS5jb20+CgpUaGlz IGlzIGFuIGltcGxlbWVudGF0aW9uIG9mIElCTSBjbGllbnQgYXJjaGl0ZWN0dXJlIChDQVMpIHJl Ym9vdCBmb3IgR1JVQi4KClRoZXJlIGFyZSBjYXNlcyB3aGVyZSB0aGUgUE9XRVIgZmlybXdhcmUg bXVzdCByZWJvb3QgaW4gb3JkZXIgdG8gc3VwcG9ydApzcGVjaWZpYyBmZWF0dXJlcyByZXF1ZXN0 ZWQgYnkgYSBrZXJuZWwuIFRoZSBrZXJuZWwgY2FsbHMKaWJtLGNsaWVudC1hcmNoaXRlY3R1cmUt c3VwcG9ydCBhbmQgaXQgbWF5IGVpdGhlciByZXR1cm4gb3IgcmVib290IHdpdGgKdGhlIG5ldyBm ZWF0dXJlIHNldC4gZWc6CgpDYWxsaW5nIGlibSxjbGllbnQtYXJjaGl0ZWN0dXJlLXN1cHBvcnQu Li4vCkVsYXBzZWQgdGltZSBzaW5jZSByZWxlYXNlIG9mIHN5c3RlbSBwcm9jZXNzb3JzOiA3MDk1 OSBtaW5zIDUwIHNlY3MKV2VsY29tZSB0byBHUlVCIQoKSW5zdGVhZCBvZiByZXR1cm4gdG8gdGhl IEdSVUIgbWVudSwgaXQgd2lsbCBjaGVjayBpZiB0aGUgZmxhZyBmb3IgQ0FTCnJlYm9vdCBpcyBz ZXQuIElmIHNvLCBncnViIHdpbGwgYXV0b21hdGljYWxseSBib290IHRoZSBsYXN0IGJvb3RlZApr ZXJuZWwgdXNpbmcgdGhlIHNhbWUgcGFyYW1ldGVycwoKU2lnbmVkLW9mZi1ieTogUGF1bG8gRmxh Ymlhbm8gU21vcmlnbyA8cGZzbW9yaWdvQGJyLmlibS5jb20+CltyaGFyd29vZEByZWRoYXQuY29t OiBjb21taXQgbWVzc2FnZSByZXdyYXBdClNpZ25lZC1vZmYtYnk6IFJvYmJpZSBIYXJ3b29kIDxy aGFyd29vZEByZWRoYXQuY29tPgotLS0KIGdydWItY29yZS9rZXJuL2llZWUxMjc1L29wZW5mdy5j IHwgNjMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGdydWItY29yZS9ub3JtYWwv bWFpbi5jICAgICAgICAgIHwgMTkgKysrKysrKysrKwogZ3J1Yi1jb3JlL3NjcmlwdC9leGVjdXRl LmMgICAgICAgfCAgNyArKysrCiBpbmNsdWRlL2dydWIvaWVlZTEyNzUvaWVlZTEyNzUuaCB8ICAy ICsKIDQgZmlsZXMgY2hhbmdlZCwgOTEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2dydWIt Y29yZS9rZXJuL2llZWUxMjc1L29wZW5mdy5jIGIvZ3J1Yi1jb3JlL2tlcm4vaWVlZTEyNzUvb3Bl bmZ3LmMKaW5kZXggMTFiMmJlYjJmLi5lMmVjYzY1ZDIgMTAwNjQ0Ci0tLSBhL2dydWItY29yZS9r ZXJuL2llZWUxMjc1L29wZW5mdy5jCisrKyBiL2dydWItY29yZS9rZXJuL2llZWUxMjc1L29wZW5m dy5jCkBAIC01OTEsMyArNTkxLDY2IEBAIGdydWJfaWVlZTEyNzVfZ2V0X2Jvb3RfZGV2ICh2b2lk KQogCiAgIHJldHVybiBib290cGF0aDsKIH0KKworLyogQ2hlY2sgaWYgaXQncyBhIENBUyByZWJv b3QuIElmIHNvLCBzZXQgdGhlIHNjcmlwdCB0byBiZSBleGVjdXRlZC4gICovCitpbnQKK2dydWJf aWVlZTEyNzVfY2FzX3JlYm9vdCAoY2hhciAqc2NyaXB0KQoreworICBncnViX3VpbnQzMl90IGli bV9jYV9zdXBwb3J0X3JlYm9vdDsKKyAgZ3J1Yl91aW50MzJfdCBpYm1fZndfbmJyX3JlYm9vdHM7 CisgIGNoYXIgcHJvcGVydHlfdmFsdWVbMTBdOworICBncnViX3NzaXplX3QgYWN0dWFsOworICBn cnViX2llZWUxMjc1X2loYW5kbGVfdCBvcHRpb25zOworCisgIGlmIChncnViX2llZWUxMjc1X2Zp bmRkZXZpY2UgKCIvb3B0aW9ucyIsICZvcHRpb25zKSA8IDApCisgICAgcmV0dXJuIC0xOworCisg IC8qIENoZWNrIHR3byBwcm9wZXJ0aWVzLCBvbmUgaXMgZW5vdWdoIHRvIGdldCBjYXMgcmVib290 IHZhbHVlICovCisgIGlibV9jYV9zdXBwb3J0X3JlYm9vdCA9IDA7CisgIGlmIChncnViX2llZWUx Mjc1X2dldF9pbnRlZ2VyX3Byb3BlcnR5IChncnViX2llZWUxMjc1X2Nob3NlbiwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpYm0sY2xpZW50LWFyY2hpdGVjdHVy ZS1zdXBwb3J0LXJlYm9vdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmaWJtX2NhX3N1cHBvcnRfcmVib290LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2l6ZW9mIChpYm1fY2Ffc3VwcG9ydF9yZWJvb3QpLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFjdHVhbCkgPj0gMCkKKyAgICBncnVi X2RwcmludGYoImllZWUxMjc1IiwgImlibSxjbGllbnQtYXJjaGl0ZWN0dXJlLXN1cHBvcnQtcmVi b290OiAldVxuIiwKKyAgICAgICAgICAgICAgICAgaWJtX2NhX3N1cHBvcnRfcmVib290KTsKKwor ICBpYm1fZndfbmJyX3JlYm9vdHMgPSAwOworICBpZiAoZ3J1Yl9pZWVlMTI3NV9nZXRfcHJvcGVy dHkgKG9wdGlvbnMsICJpYm0sZnctbmJyLXJlYm9vdHMiLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHByb3BlcnR5X3ZhbHVlLCBzaXplb2YgKHByb3BlcnR5X3ZhbHVlKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYWN0dWFsKSA+PSAwKQorICAgIHsKKyAg ICAgIHByb3BlcnR5X3ZhbHVlW3NpemVvZiAocHJvcGVydHlfdmFsdWUpIC0gMV0gPSAwOworICAg ICAgaWJtX2Z3X25icl9yZWJvb3RzID0gKGdydWJfdWludDhfdCkgZ3J1Yl9zdHJ0b3VsIChwcm9w ZXJ0eV92YWx1ZSwgMCwgMTApOworICAgICAgZ3J1Yl9kcHJpbnRmKCJpZWVlMTI3NSIsICJpYm0s ZnctbmJyLXJlYm9vdHM6ICV1XG4iLCBpYm1fZndfbmJyX3JlYm9vdHMpOworICAgIH0KKworICBp ZiAoaWJtX2NhX3N1cHBvcnRfcmVib290IHx8IGlibV9md19uYnJfcmVib290cykKKyAgICB7Cisg ICAgICBpZiAoISBncnViX2llZWUxMjc1X2dldF9wcm9wZXJ0eV9sZW5ndGggKG9wdGlvbnMsICJi b290LWxhc3QtbGFiZWwiLCAmYWN0dWFsKSkKKyAgICAgICAgeworICAgICAgICAgIGlmIChhY3R1 YWwgPiAxMDI0KQorICAgICAgICAgICAgc2NyaXB0ID0gZ3J1Yl9yZWFsbG9jIChzY3JpcHQsIGFj dHVhbCArIDEpOworICAgICAgICAgIGdydWJfaWVlZTEyNzVfZ2V0X3Byb3BlcnR5IChvcHRpb25z LCAiYm9vdC1sYXN0LWxhYmVsIiwgc2NyaXB0LCBhY3R1YWwsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZhY3R1YWwpOworICAgICAgICAgIHJldHVybiAwOworICAgICAg ICB9CisgICAgfQorCisgIGdydWJfaWVlZTEyNzVfc2V0X2Jvb3RfbGFzdF9sYWJlbCAoIiIpOwor CisgIHJldHVybiAtMTsKK30KKworaW50IGdydWJfaWVlZTEyNzVfc2V0X2Jvb3RfbGFzdF9sYWJl bCAoY29uc3QgY2hhciAqdGV4dCkKK3sKKyAgZ3J1Yl9pZWVlMTI3NV9paGFuZGxlX3Qgb3B0aW9u czsKKyAgZ3J1Yl9zc2l6ZV90IGFjdHVhbDsKKworICBncnViX2RwcmludGYoImllZWUxMjc1Iiwg InNldCBib290X2xhc3RfbGFiZWwgKHNpemU6ICV1KVxuIiwgZ3J1Yl9zdHJsZW4odGV4dCkpOwor ICBpZiAoISBncnViX2llZWUxMjc1X2ZpbmRkZXZpY2UgKCIvb3B0aW9ucyIsICZvcHRpb25zKSAm JgorICAgICAgb3B0aW9ucyAhPSAoZ3J1Yl9pZWVlMTI3NV9paGFuZGxlX3QpIC0xKQorICAgIGdy dWJfaWVlZTEyNzVfc2V0X3Byb3BlcnR5IChvcHRpb25zLCAiYm9vdC1sYXN0LWxhYmVsIiwgdGV4 dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3J1Yl9zdHJsZW4gKHRleHQpLCAm YWN0dWFsKTsKKyAgcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9ncnViLWNvcmUvbm9ybWFsL21h aW4uYyBiL2dydWItY29yZS9ub3JtYWwvbWFpbi5jCmluZGV4IGJkNDQzMTAwMC4uZDNmNTNkOTNk IDEwMDY0NAotLS0gYS9ncnViLWNvcmUvbm9ybWFsL21haW4uYworKysgYi9ncnViLWNvcmUvbm9y bWFsL21haW4uYwpAQCAtMzQsNiArMzQsOSBAQAogI2luY2x1ZGUgPGdydWIvY2hhcnNldC5oPgog I2luY2x1ZGUgPGdydWIvc2NyaXB0X3NoLmg+CiAjaW5jbHVkZSA8Z3J1Yi9idWZpby5oPgorI2lm ZGVmIEdSVUJfTUFDSElORV9JRUVFMTI3NQorI2luY2x1ZGUgPGdydWIvaWVlZTEyNzUvaWVlZTEy NzUuaD4KKyNlbmRpZgogCiBHUlVCX01PRF9MSUNFTlNFICgiR1BMdjMrIik7CiAKQEAgLTI3Niw2 ICsyNzksMjIgQEAgZ3J1Yl9ub3JtYWxfZXhlY3V0ZSAoY29uc3QgY2hhciAqY29uZmlnLCBpbnQg bmVzdGVkLCBpbnQgYmF0Y2gpCiAgICAgewogICAgICAgbWVudSA9IHJlYWRfY29uZmlnX2ZpbGUg KGNvbmZpZyk7CiAKKyNpZmRlZiBHUlVCX01BQ0hJTkVfSUVFRTEyNzUKKyAgICAgIGludCBib290 OworICAgICAgYm9vdCA9IDA7CisgICAgICBjaGFyICpzY3JpcHQ7CisgICAgICBzY3JpcHQgPSBn cnViX21hbGxvYyAoMTAyNCk7CisgICAgICBpZiAoISBncnViX2llZWUxMjc1X2Nhc19yZWJvb3Qg KHNjcmlwdCkpCisgICAgICAgIHsKKyAgICAgICAgICBjaGFyICpkdW1teVsxXSA9IHsgTlVMTCB9 OworICAgICAgICAgIGlmICghIGdydWJfc2NyaXB0X2V4ZWN1dGVfc291cmNlY29kZSAoc2NyaXB0 KSkKKyAgICAgICAgICAgIGJvb3QgPSAxOworICAgICAgICB9CisgICAgICBncnViX2ZyZWUgKHNj cmlwdCk7CisgICAgICBpZiAoYm9vdCkKKyAgICAgICAgZ3J1Yl9jb21tYW5kX2V4ZWN1dGUgKCJi b290IiwgMCwgMCk7CisjZW5kaWYKKwogICAgICAgLyogSWdub3JlIGFueSBlcnJvci4gICovCiAg ICAgICBncnViX2Vycm5vID0gR1JVQl9FUlJfTk9ORTsKICAgICB9CmRpZmYgLS1naXQgYS9ncnVi LWNvcmUvc2NyaXB0L2V4ZWN1dGUuYyBiL2dydWItY29yZS9zY3JpcHQvZXhlY3V0ZS5jCmluZGV4 IDE0ZmYwOTA5NC4uZGFiOGZkMmFlIDEwMDY0NAotLS0gYS9ncnViLWNvcmUvc2NyaXB0L2V4ZWN1 dGUuYworKysgYi9ncnViLWNvcmUvc2NyaXB0L2V4ZWN1dGUuYwpAQCAtMjgsNiArMjgsOSBAQAog I2luY2x1ZGUgPGdydWIvZXh0Y21kLmg+CiAjaW5jbHVkZSA8Z3J1Yi9pMThuLmg+CiAjaW5jbHVk ZSA8Z3J1Yi92ZXJpZnkuaD4KKyNpZmRlZiBHUlVCX01BQ0hJTkVfSUVFRTEyNzUKKyNpbmNsdWRl IDxncnViL2llZWUxMjc1L2llZWUxMjc1Lmg+CisjZW5kaWYKIAogLyogTWF4IGRpZ2l0cyBmb3Ig YSBjaGFyIGlzIDMgKDB4RkYgaXMgMjU1KSwgc2ltaWxhcmx5IGZvciBhbiBpbnQgaXQKICAgIGlz IHNpemVvZiAoaW50KSAqIDMsIGFuZCBvbmUgZXh0cmEgZm9yIGEgcG9zc2libGUgLXZlIHNpZ24u ICAqLwpAQCAtODgzLDYgKzg4NiwxMCBAQCBncnViX3NjcmlwdF9leGVjdXRlX3NvdXJjZWNvZGUg KGNvbnN0IGNoYXIgKnNvdXJjZSkKICAgZ3J1Yl9lcnJfdCByZXQgPSAwOwogICBzdHJ1Y3QgZ3J1 Yl9zY3JpcHQgKnBhcnNlZF9zY3JpcHQ7CiAKKyNpZmRlZiBHUlVCX01BQ0hJTkVfSUVFRTEyNzUK KyAgZ3J1Yl9pZWVlMTI3NV9zZXRfYm9vdF9sYXN0X2xhYmVsIChzb3VyY2UpOworI2VuZGlmCisK ICAgd2hpbGUgKHNvdXJjZSkKICAgICB7CiAgICAgICBjaGFyICpsaW5lOwpkaWZmIC0tZ2l0IGEv aW5jbHVkZS9ncnViL2llZWUxMjc1L2llZWUxMjc1LmggYi9pbmNsdWRlL2dydWIvaWVlZTEyNzUv aWVlZTEyNzUuaAppbmRleCBkZGRiMzg1MTQuLjRmNmU2YWFhMCAxMDA2NDQKLS0tIGEvaW5jbHVk ZS9ncnViL2llZWUxMjc1L2llZWUxMjc1LmgKKysrIGIvaW5jbHVkZS9ncnViL2llZWUxMjc1L2ll ZWUxMjc1LmgKQEAgLTI1MSw2ICsyNTEsOCBAQCBpbnQgRVhQT1JUX0ZVTkMoZ3J1Yl9pZWVlMTI3 NV9kZXZhbGlhc19uZXh0KSAoc3RydWN0IGdydWJfaWVlZTEyNzVfZGV2YWxpYXMgKmFsaQogdm9p ZCBFWFBPUlRfRlVOQyhncnViX2llZWUxMjc1X2NoaWxkcmVuX3BlZXIpIChzdHJ1Y3QgZ3J1Yl9p ZWVlMTI3NV9kZXZhbGlhcyAqYWxpYXMpOwogdm9pZCBFWFBPUlRfRlVOQyhncnViX2llZWUxMjc1 X2NoaWxkcmVuX2ZpcnN0KSAoY29uc3QgY2hhciAqZGV2cGF0aCwKIAkJCQkJCXN0cnVjdCBncnVi X2llZWUxMjc1X2RldmFsaWFzICphbGlhcyk7CitpbnQgRVhQT1JUX0ZVTkMoZ3J1Yl9pZWVlMTI3 NV9jYXNfcmVib290KSAoY2hhciAqc2NyaXB0KTsKK2ludCBFWFBPUlRfRlVOQyhncnViX2llZWUx Mjc1X3NldF9ib290X2xhc3RfbGFiZWwpIChjb25zdCBjaGFyICp0ZXh0KTsKIAogY2hhciAqRVhQ T1JUX0ZVTkMoZ3J1Yl9pZWVlMTI3NV9nZXRfYm9vdF9kZXYpICh2b2lkKTsKIAotLSAKMi40Ni4y CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KR3J1Yi1k ZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1kZXZlbEBnbnUub3JnCmh0dHBzOi8vbGlzdHMuZ251Lm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2dydWItZGV2ZWwK