From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Luis R. Rodriguez" Subject: [PATCH v7 3/3] IB/ipath: use arch_phys_wc_add() and require PAT disabled Date: Thu, 11 Jun 2015 13:19:54 -0700 Message-ID: <1434053994-2196-4-git-send-email-mcgrof@do-not-panic.com> References: <1434053994-2196-1-git-send-email-mcgrof@do-not-panic.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1434053994-2196-1-git-send-email-mcgrof@do-not-panic.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: bp@suse.de Cc: linux-fbdev@vger.kernel.org, "Michael S. Tsirkin" , Daniel Vetter , =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , Dave Hansen , jbeulich@suse.com, Sean Hefty , ville.syrjala@linux.intel.com, xen-devel@lists.xensource.com, Arnd Bergmann , Rickard Strandqvist , linux-rdma@vger.kernel.org, Roland Dreier , Doug Ledford , tomi.valkeinen@ti.com, Suresh Siddha , Dave Airlie , Ingo Molnar , Jean-Christophe Plagniol-Villard , Hal Rosenstock , linux-media@vger.kernel.org, Antonino Daplas , mchehab@osg.samsung.com, "Luis R. Rodriguez" , Stefan List-Id: linux-rdma@vger.kernel.org RnJvbTogIkx1aXMgUi4gUm9kcmlndWV6IiA8bWNncm9mQHN1c2UuY29tPgoKV2UgYXJlIGJ1cnJ5 aW5nIGRpcmVjdCBhY2Nlc3MgdG8gTVRSUiBjb2RlIHN1cHBvcnQgb24KeDg2IGluIG9yZGVyIHRv IHRha2UgYWR2YW50YWdlIG9mIFBBVC4gSW4gdGhlIGZ1dHVyZSB3ZQphbHNvIHdhbnQgdG8gbWFr ZSB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgb2YgaW9yZW1hcF9ub2NhY2hlKCkKdG8gdXNlIHN0cm9u ZyBVQywgdXNlIG9mIG10cnJfYWRkKCkgb24gdGhvc2Ugc3lzdGVtcwp3b3VsZCBtYWtlIHdyaXRl LWNvbWJpbmluZyB2b2lkLgoKSW4gb3JkZXIgdG8gaGVscCBib3RoIGVuYWJsZSB1cyB0byBsYXRl ciBtYWtlIHN0cm9uZwpVQyBkZWZhdWx0IGFuZCBpbiBvcmRlciB0byBwaGFzZSBvdXQgZGlyZWN0 IE1UUlIgYWNjZXNzCmNvZGUgcG9ydCB0aGUgZHJpdmVyIG92ZXIgdG8gYXJjaF9waHlzX3djX2Fk ZCgpIGFuZAphbm5vdGF0ZSB0aGF0IHRoZSBkZXZpY2UgZHJpdmVyIHJlcXVpcmVzIHN5c3RlbXMg dG8KYm9vdCB3aXRoIFBBVCBkaXNhYmxlZCwgd2l0aCB0aGUgbm9wYXQga2VybmVsIHBhcmFtZXRl ci4KClRoaXMgaXMgYSB3b3J0aHkgY29tcHJvbWlzZSBnaXZlbiB0aGF0IHRoZSBpcGF0aCBkZXZp Y2UKZHJpdmVyIHBvd2VycyB0aGUgb2xkIEhUWCBidXMgY2FyZHMgdGhhdCBvbmx5IHdvcmsgaW4K QU1EIHN5c3RlbXMsIHdoaWxlIHRoZSBuZXdlciBJQi9xaWIgZGV2aWNlIGRyaXZlcgpwb3dlcnMg YWxsIFBDSS1lIGNhcmRzLiBUaGUgaXBhdGggZGV2aWNlIGRyaXZlciBpcwpvYnNvbGV0ZSwgaGFy ZHdhcmUgaGFyZCB0byBmaW5kIGFuZCBiZWNhdXNlIG9mIHRoaXMKdGhpcyBpdHMgYSByZWFzb25h YmxlIGNvbXByb21pc2UgdG8gbWFrZSB0byByZXF1aXJlCnVzZXJzIG9mIGlwYXRoIHRvIGJvb3Qg d2l0aCBub3BhdC4KCkFja2VkLWJ5OiBEb3VnIExlZGZvcmQgPGRsZWRmb3JkQHJlZGhhdC5jb20+ CkNjOiBEb3VnIExlZGZvcmQgPGRsZWRmb3JkQHJlZGhhdC5jb20+CkNjOiBBbmR5IFdhbGxzIDxh d2FsbHNAbWQubWV0cm9jYXN0Lm5ldD4KQ2M6IEhhbCBSb3NlbnN0b2NrIDxoYWwucm9zZW5zdG9j a0BnbWFpbC5jb20+CkNjOiBTZWFuIEhlZnR5IDxzZWFuLmhlZnR5QGludGVsLmNvbT4KQ2M6IFN1 cmVzaCBTaWRkaGEgPHNic2lkZGhhQGdtYWlsLmNvbT4KQ2M6IFJpY2thcmQgU3RyYW5kcXZpc3Qg PHJpY2thcmRfc3RyYW5kcXZpc3RAc3BlY3RydW1kaWdpdGFsLnNlPgpDYzogTWlrZSBNYXJjaW5p c3p5biA8bWlrZS5tYXJjaW5pc3p5bkBpbnRlbC5jb20+CkNjOiBSb2xhbmQgRHJlaWVyIDxyb2xh bmRAcHVyZXN0b3JhZ2UuY29tPgpDYzogQW5keSBMdXRvbWlyc2tpIDxsdXRvQGFtYWNhcGl0YWwu bmV0PgpDYzogSW5nbyBNb2xuYXIgPG1pbmdvQGVsdGUuaHU+CkNjOiBMaW51cyBUb3J2YWxkcyA8 dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+CkNjOiBUaG9tYXMgR2xlaXhuZXIgPHRnbHhA bGludXRyb25peC5kZT4KQ2M6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KQ2M6IERh bmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CkNjOiBEYXZlIEFpcmxpZSA8YWly bGllZEByZWRoYXQuY29tPgpDYzogQmpvcm4gSGVsZ2FhcyA8YmhlbGdhYXNAZ29vZ2xlLmNvbT4K Q2M6IEFudG9uaW5vIERhcGxhcyA8YWRhcGxhc0BnbWFpbC5jb20+CkNjOiBKZWFuLUNocmlzdG9w aGUgUGxhZ25pb2wtVmlsbGFyZCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgpDYzogVG9taSBWYWxr ZWluZW4gPHRvbWkudmFsa2VpbmVuQHRpLmNvbT4KQ2M6IFZpbGxlIFN5cmrDpGzDpCA8c3lyamFs YUBzY2kuZmk+CkNjOiBEYXZlIEhhbnNlbiA8ZGF2ZS5oYW5zZW5AbGludXguaW50ZWwuY29tPgpD YzogQXJuZCBCZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4KQ2M6IE1pY2hhZWwgUy4gVHNpcmtpbiA8 bXN0QHJlZGhhdC5jb20+CkNjOiBTdGVmYW4gQmFkZXIgPHN0ZWZhbi5iYWRlckBjYW5vbmljYWwu Y29tPgpDYzoga29ucmFkLndpbGtAb3JhY2xlLmNvbQpDYzogdmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20KQ2M6IGpiZXVsaWNoQHN1c2UuY29tCkNjOiB0b3NoaS5rYW5pQGhwLmNvbQpDYzog Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkNjOiBpbmZpbmlwYXRoQGlu dGVsLmNvbQpDYzogbGludXgtcmRtYUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LWZiZGV2QHZn ZXIua2VybmVsLm9yZwpDYzogbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZwpDYzogeGVuLWRl dmVsQGxpc3RzLnhlbnNvdXJjZS5jb20KU2lnbmVkLW9mZi1ieTogTHVpcyBSLiBSb2RyaWd1ZXog PG1jZ3JvZkBzdXNlLmNvbT4KLS0tCiBkcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvS2NvbmZp ZyAgICAgICAgICAgfCAgMyArKwogZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2Ry aXZlci5jICAgIHwgMTggKysrKysrKy0tLS0KIGRyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9p cGF0aF9rZXJuZWwuaCAgICB8ICA0ICstLQogZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lw YXRoX3djX3g4Nl82NC5jIHwgNDMgKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiA0IGZpbGVz IGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9LY29uZmlnIGIvZHJpdmVycy9pbmZpbmliYW5k L2h3L2lwYXRoL0tjb25maWcKaW5kZXggMWQ5YmIxMS4uOGZlNTRmZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL0tjb25maWcKKysrIGIvZHJpdmVycy9pbmZpbmliYW5k L2h3L2lwYXRoL0tjb25maWcKQEAgLTksMyArOSw2IEBAIGNvbmZpZyBJTkZJTklCQU5EX0lQQVRI CiAJYXMgSVAtb3Zlci1JbmZpbmlCYW5kIGFzIHdlbGwgYXMgd2l0aCB1c2Vyc3BhY2UgYXBwbGlj YXRpb25zCiAJKGluIGNvbmp1bmN0aW9uIHdpdGggSW5maW5pQmFuZCB1c2Vyc3BhY2UgYWNjZXNz KS4KIAlGb3IgUUxvZ2ljIFBDSWUgUUxFIGJhc2VkIGNhcmRzLCB1c2UgdGhlIFFJQiBkcml2ZXIg aW5zdGVhZC4KKworCUlmIHlvdSBoYXZlIHRoaXMgaGFyZHdhcmUgeW91IHdpbGwgbmVlZCB0byBi b290IHdpdGggUEFUIGRpc2FibGVkCisJb24geW91ciB4ODYtNjQgc3lzdGVtcywgdXNlIHRoZSBu b3BhdCBrZXJuZWwgcGFyYW1ldGVyLgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3 L2lwYXRoL2lwYXRoX2RyaXZlci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRo X2RyaXZlci5jCmluZGV4IGJkMGNhZWQuLjJkN2U1MDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5m aW5pYmFuZC9ody9pcGF0aC9pcGF0aF9kcml2ZXIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQv aHcvaXBhdGgvaXBhdGhfZHJpdmVyLmMKQEAgLTQyLDYgKzQyLDkgQEAKICNpbmNsdWRlIDxsaW51 eC9iaXRtYXAuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvbW9k dWxlLmg+CisjaWZkZWYgQ09ORklHX1g4Nl82NAorI2luY2x1ZGUgPGFzbS9wYXQuaD4KKyNlbmRp ZgogCiAjaW5jbHVkZSAiaXBhdGhfa2VybmVsLmgiCiAjaW5jbHVkZSAiaXBhdGhfdmVyYnMuaCIK QEAgLTM5NSw2ICszOTgsMTQgQEAgc3RhdGljIGludCBpcGF0aF9pbml0X29uZShzdHJ1Y3QgcGNp X2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudCkKIAl1bnNpZ25lZCBs b25nIGxvbmcgYWRkcjsKIAl1MzIgYmFyMCA9IDAsIGJhcjEgPSAwOwogCisjaWZkZWYgQ09ORklH X1g4Nl82NAorCWlmIChXQVJOKHBhdF9lbmFibGVkKCksCisJCSAiaXBhdGggbmVlZHMgUEFUIGRp c2FibGVkLCBib290IHdpdGggbm9wYXQga2VybmVsIHBhcmFtZXRlclxuIikpIHsKKwkJcmV0ID0g LUVOT0RFVjsKKwkJZ290byBiYWlsOworCX0KKyNlbmRpZgorCiAJZGQgPSBpcGF0aF9hbGxvY19k ZXZkYXRhKHBkZXYpOwogCWlmIChJU19FUlIoZGQpKSB7CiAJCXJldCA9IFBUUl9FUlIoZGQpOwpA QCAtNTQyLDYgKzU1Myw3IEBAIHN0YXRpYyBpbnQgaXBhdGhfaW5pdF9vbmUoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICplbnQpCiAJZGQtPmlwYXRoX2ty ZWdiYXNlID0gX19pb3JlbWFwKGFkZHIsIGxlbiwKIAkJKF9QQUdFX05PX0NBQ0hFfF9QQUdFX1dS SVRFVEhSVSkpOwogI2Vsc2UKKwkvKiBYWFg6IHNwbGl0IHRoaXMgcHJvcGVybHkgdG8gZW5hYmxl IG9uIFBBVCAqLwogCWRkLT5pcGF0aF9rcmVnYmFzZSA9IGlvcmVtYXBfbm9jYWNoZShhZGRyLCBs ZW4pOwogI2VuZGlmCiAKQEAgLTU4NywxMiArNTk5LDggQEAgc3RhdGljIGludCBpcGF0aF9pbml0 X29uZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVu dCkKIAogCXJldCA9IGlwYXRoX2VuYWJsZV93YyhkZCk7CiAKLQlpZiAocmV0KSB7Ci0JCWlwYXRo X2Rldl9lcnIoZGQsICJXcml0ZSBjb21iaW5pbmcgbm90IGVuYWJsZWQgIgotCQkJICAgICAgIihl cnIgJWQpOiBwZXJmb3JtYW5jZSBtYXkgYmUgcG9vclxuIiwKLQkJCSAgICAgIC1yZXQpOworCWlm IChyZXQpCiAJCXJldCA9IDA7Ci0JfQogCiAJaXBhdGhfdmVyaWZ5X3Bpb3BlcmYoZGQpOwogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfa2VybmVsLmggYi9k cml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfa2VybmVsLmgKaW5kZXggZTA4ZGI3MC4u ZjBmOTQ3MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2tl cm5lbC5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9rZXJuZWwuaApA QCAtNDYzLDkgKzQ2Myw3IEBAIHN0cnVjdCBpcGF0aF9kZXZkYXRhIHsKIAkvKiBvZmZzZXQgaW4g SFQgY29uZmlnIHNwYWNlIG9mIHNsYXZlL3ByaW1hcnkgaW50ZXJmYWNlIGJsb2NrICovCiAJdTgg aXBhdGhfaHRfc2xhdmVfb2ZmOwogCS8qIGZvciB3cml0ZSBjb21iaW5pbmcgc2V0dGluZ3MgKi8K LQl1bnNpZ25lZCBsb25nIGlwYXRoX3djX2Nvb2tpZTsKLQl1bnNpZ25lZCBsb25nIGlwYXRoX3dj X2Jhc2U7Ci0JdW5zaWduZWQgbG9uZyBpcGF0aF93Y19sZW47CisJaW50IHdjX2Nvb2tpZTsKIAkv KiByZWYgY291bnQgZm9yIGVhY2ggcGtleSAqLwogCWF0b21pY190IGlwYXRoX3BrZXlyZWZzWzRd OwogCS8qIHNoYWRvdyBjb3B5IG9mIHN0cnVjdCBwYWdlIConcyBmb3IgZXhwIHRpZCBwYWdlcyAq LwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3djX3g4Nl82 NC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3djX3g4Nl82NC5jCmluZGV4 IDcwYzFmM2EuLjdiNmU0YzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0 aC9pcGF0aF93Y194ODZfNjQuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBh dGhfd2NfeDg2XzY0LmMKQEAgLTM3LDcgKzM3LDYgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgv cGNpLmg+Ci0jaW5jbHVkZSA8YXNtL210cnIuaD4KICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+ CiAKICNpbmNsdWRlICJpcGF0aF9rZXJuZWwuaCIKQEAgLTEyMiwyNyArMTIxLDE0IEBAIGludCBp cGF0aF9lbmFibGVfd2Moc3RydWN0IGlwYXRoX2RldmRhdGEgKmRkKQogCX0KIAogCWlmICghcmV0 KSB7Ci0JCWludCBjb29raWU7Ci0JCWlwYXRoX2NkYmcoVkVSQk9TRSwgIlNldHRpbmcgbXRyciBm b3IgY2hpcCB0byBXQyAiCi0JCQkgICAiKGFkZHIgJWxseCwgbGVuPTB4JWxseClcbiIsCi0JCQkg ICAodW5zaWduZWQgbG9uZyBsb25nKSBwaW9hZGRyLAotCQkJICAgKHVuc2lnbmVkIGxvbmcgbG9u ZykgcGlvbGVuKTsKLQkJY29va2llID0gbXRycl9hZGQocGlvYWRkciwgcGlvbGVuLCBNVFJSX1RZ UEVfV1JDT01CLCAxKTsKLQkJaWYgKGNvb2tpZSA8IDApIHsKLQkJCXsKLQkJCQlkZXZfaW5mbygm ZGQtPnBjaWRldi0+ZGV2LAotCQkJCQkgIm10cnJfYWRkKCkgIFdDIGZvciBQSU8gYnVmcyAiCi0J CQkJCSAiZmFpbGVkICglZClcbiIsCi0JCQkJCSBjb29raWUpOwotCQkJCXJldCA9IC1FSU5WQUw7 Ci0JCQl9Ci0JCX0gZWxzZSB7Ci0JCQlpcGF0aF9jZGJnKFZFUkJPU0UsICJTZXQgbXRyciBmb3Ig Y2hpcCB0byBXQywgIgotCQkJCSAgICJjb29raWUgaXMgJWRcbiIsIGNvb2tpZSk7Ci0JCQlkZC0+ aXBhdGhfd2NfY29va2llID0gY29va2llOwotCQkJZGQtPmlwYXRoX3djX2Jhc2UgPSAodW5zaWdu ZWQgbG9uZykgcGlvYWRkcjsKLQkJCWRkLT5pcGF0aF93Y19sZW4gPSAodW5zaWduZWQgbG9uZykg cGlvbGVuOwotCQl9CisJCWRkLT53Y19jb29raWUgPSBhcmNoX3BoeXNfd2NfYWRkKHBpb2FkZHIs IHBpb2xlbik7CisJCWlmIChkZC0+d2NfY29va2llIDwgMCkgeworCQkJaXBhdGhfZGV2X2Vycihk ZCwgIlNldGluZyBtdHJyIGZhaWxlZCBvbiBQSU8gYnVmZmVyc1xuIik7CisJCQlyZXQgPSAtRU5P REVWOworCQl9IGVsc2UgaWYgKGRkLT53Y19jb29raWUgPT0gMCkKKwkJCWlwYXRoX2NkYmcoVkVS Qk9TRSwgIlNldCBtdHJyIGZvciBjaGlwIHRvIFdDIG5vdCBuZWVkZWRcbiIpOworCQllbHNlCisJ CQlpcGF0aF9jZGJnKFZFUkJPU0UsICJTZXQgbXRyciBmb3IgY2hpcCB0byBXQ1xuIik7CiAJfQog CiAJcmV0dXJuIHJldDsKQEAgLTE1NCwxNiArMTQwLDUgQEAgaW50IGlwYXRoX2VuYWJsZV93Yyhz dHJ1Y3QgaXBhdGhfZGV2ZGF0YSAqZGQpCiAgKi8KIHZvaWQgaXBhdGhfZGlzYWJsZV93YyhzdHJ1 Y3QgaXBhdGhfZGV2ZGF0YSAqZGQpCiB7Ci0JaWYgKGRkLT5pcGF0aF93Y19jb29raWUpIHsKLQkJ aW50IHI7Ci0JCWlwYXRoX2NkYmcoVkVSQk9TRSwgInVuZG9pbmcgV0NDT01CIG9uIHBpbyBidWZm ZXJzXG4iKTsKLQkJciA9IG10cnJfZGVsKGRkLT5pcGF0aF93Y19jb29raWUsIGRkLT5pcGF0aF93 Y19iYXNlLAotCQkJICAgICBkZC0+aXBhdGhfd2NfbGVuKTsKLQkJaWYgKHIgPCAwKQotCQkJZGV2 X2luZm8oJmRkLT5wY2lkZXYtPmRldiwKLQkJCQkgIm10cnJfZGVsKCVseCwgJWx4LCAlbHgpIGZh aWxlZDogJWRcbiIsCi0JCQkJIGRkLT5pcGF0aF93Y19jb29raWUsIGRkLT5pcGF0aF93Y19iYXNl LAotCQkJCSBkZC0+aXBhdGhfd2NfbGVuLCByKTsKLQkJZGQtPmlwYXRoX3djX2Nvb2tpZSA9IDA7 IC8qIGV2ZW4gb24gZmFpbHVyZSAqLwotCX0KKwlhcmNoX3BoeXNfd2NfZGVsKGRkLT53Y19jb29r aWUpOwogfQotLSAKMi4zLjIuMjA5LmdkNjdmOWQ1LmRpcnR5CgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK