From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [CI 1/2] drm/i915: Move aliasing_ppgtt underneath its i915_ggtt Date: Tue, 30 Jul 2019 15:32:08 +0100 Message-ID: <20190730143209.4549-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id AE8CD6E57F for ; Tue, 30 Jul 2019 14:32:13 +0000 (UTC) Received: from haswell.alporthouse.com (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP id 17732230-1500050 for ; Tue, 30 Jul 2019 15:32:09 +0100 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhlIGFsaWFzaW5nX3BwZ3R0IHByb3ZpZGVzIGEgUElOX1VTRVIgYWxpYXMgZm9yIHRoZSBnbG9i YWwgZ3R0LCBzbyBtb3ZlCml0IHVuZGVyIHRoZSBpOTE1X2dndHQgdG8gc2ltcGxpZnkgbGF0ZXIg dHJhbnNmb3JtYXRpb25zIHRvIGVuYWJsZQppbnRlbF9jb250ZXh0LnZtLgoKU2lnbmVkLW9mZi1i eTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClJldmlld2VkLWJ5OiBU dnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMgICB8ICA3ICstCiAuLi4vZHJtL2k5MTUv Z2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jICAgIHwgNjkgKysrKysrKysrKysrLS0tLS0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgIHwgIDMgLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgICAgICAgICAgIHwgMzYgKysrKystLS0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggICAgICAgICAgIHwgIDMgKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuYyAgICAgICAgICAgICAgIHwgIDIgKy0KIDcg ZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKSwgNTEgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMKaW5kZXggZmZiNTlkOTZkNGQ4 Li4wZjZiMDY3OGY1NDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9jb250ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2Nv bnRleHQuYwpAQCAtNDU5LDggKzQ1OSw3IEBAIF9fY3JlYXRlX2NvbnRleHQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpCiAJaTkxNV9nZW1fY29udGV4dF9zZXRfcmVjb3ZlcmFibGUoY3R4 KTsKIAogCWN0eC0+cmluZ19zaXplID0gNCAqIFBBR0VfU0laRTsKLQljdHgtPmRlc2NfdGVtcGxh dGUgPQotCQlkZWZhdWx0X2Rlc2NfdGVtcGxhdGUoaTkxNSwgJmk5MTUtPm1tLmFsaWFzaW5nX3Bw Z3R0LT52bSk7CisJY3R4LT5kZXNjX3RlbXBsYXRlID0gZGVmYXVsdF9kZXNjX3RlbXBsYXRlKGk5 MTUsIE5VTEwpOwogCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY3R4LT5oYW5nX3RpbWVz dGFtcCk7IGkrKykKIAkJY3R4LT5oYW5nX3RpbWVzdGFtcFtpXSA9IGppZmZpZXMgLSBDT05URVhU X0ZBU1RfSEFOR19KSUZGSUVTOwpAQCAtMjI1OCw4ICsyMjU3LDggQEAgaW50IGk5MTVfZ2VtX2Nv bnRleHRfZ2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK IAkJYXJncy0+c2l6ZSA9IDA7CiAJCWlmIChjdHgtPnZtKQogCQkJYXJncy0+dmFsdWUgPSBjdHgt PnZtLT50b3RhbDsKLQkJZWxzZSBpZiAodG9faTkxNShkZXYpLT5tbS5hbGlhc2luZ19wcGd0dCkK LQkJCWFyZ3MtPnZhbHVlID0gdG9faTkxNShkZXYpLT5tbS5hbGlhc2luZ19wcGd0dC0+dm0udG90 YWw7CisJCWVsc2UgaWYgKHRvX2k5MTUoZGV2KS0+Z2d0dC5hbGlhcykKKwkJCWFyZ3MtPnZhbHVl ID0gdG9faTkxNShkZXYpLT5nZ3R0LmFsaWFzLT52bS50b3RhbDsKIAkJZWxzZQogCQkJYXJncy0+ dmFsdWUgPSB0b19pOTE1KGRldiktPmdndHQudm0udG90YWw7CiAJCWJyZWFrOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQuYwpp bmRleCBkYjc4NTZmMGYzMWUuLmJiZDE3ZDRiOGZmZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMKQEAgLTExOTAsNyAr MTE5MCw3IEBAIHN0YXRpYyBpbnQgaWd0X2N0eF9yZWFkb25seSh2b2lkICphcmcpCiAJCWdvdG8g b3V0X3VubG9jazsKIAl9CiAKLQl2bSA9IGN0eC0+dm0gPzogJmk5MTUtPm1tLmFsaWFzaW5nX3Bw Z3R0LT52bTsKKwl2bSA9IGN0eC0+dm0gPzogJmk5MTUtPmdndHQuYWxpYXMtPnZtOwogCWlmICgh dm0gfHwgIXZtLT5oYXNfcmVhZF9vbmx5KSB7CiAJCWVyciA9IDA7CiAJCWdvdG8gb3V0X3VubG9j azsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYwppbmRleCA1Yzdm MmZkYzVlYzMuLjExYWZlNjRjYzI1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfcmluZ2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVs X3JpbmdidWZmZXIuYwpAQCAtMTM3NiwzMCArMTM3Niw0MSBAQCBzdGF0aWMgdm9pZCByaW5nX2Nv bnRleHRfZGVzdHJveShzdHJ1Y3Qga3JlZiAqcmVmKQogCWludGVsX2NvbnRleHRfZnJlZShjZSk7 CiB9CiAKLXN0YXRpYyBpbnQgX19jb250ZXh0X3Bpbl9wcGd0dChzdHJ1Y3QgaTkxNV9nZW1fY29u dGV4dCAqY3R4KQorc3RhdGljIHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtX2FsaWFzKHN0 cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKK3sKKwlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2 bTsKKworCXZtID0gY2UtPmdlbV9jb250ZXh0LT52bTsKKwlpZiAoIXZtKQorCQl2bSA9ICZjZS0+ ZW5naW5lLT5ndC0+Z2d0dC0+YWxpYXMtPnZtOworCisJcmV0dXJuIHZtOworfQorCitzdGF0aWMg aW50IF9fY29udGV4dF9waW5fcHBndHQoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQogewogCXN0 cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtOwogCWludCBlcnIgPSAwOwogCi0Jdm0gPSBjdHgt PnZtID86ICZjdHgtPmk5MTUtPm1tLmFsaWFzaW5nX3BwZ3R0LT52bTsKKwl2bSA9IHZtX2FsaWFz KGNlKTsKIAlpZiAodm0pCiAJCWVyciA9IGdlbjZfcHBndHRfcGluKGk5MTVfdm1fdG9fcHBndHQo KHZtKSkpOwogCiAJcmV0dXJuIGVycjsKIH0KIAotc3RhdGljIHZvaWQgX19jb250ZXh0X3VucGlu X3BwZ3R0KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpCitzdGF0aWMgdm9pZCBfX2NvbnRl eHRfdW5waW5fcHBndHQoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQogewogCXN0cnVjdCBpOTE1 X2FkZHJlc3Nfc3BhY2UgKnZtOwogCi0Jdm0gPSBjdHgtPnZtID86ICZjdHgtPmk5MTUtPm1tLmFs aWFzaW5nX3BwZ3R0LT52bTsKKwl2bSA9IHZtX2FsaWFzKGNlKTsKIAlpZiAodm0pCiAJCWdlbjZf cHBndHRfdW5waW4oaTkxNV92bV90b19wcGd0dCh2bSkpOwogfQogCiBzdGF0aWMgdm9pZCByaW5n X2NvbnRleHRfdW5waW4oc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQogewotCV9fY29udGV4dF91 bnBpbl9wcGd0dChjZS0+Z2VtX2NvbnRleHQpOworCV9fY29udGV4dF91bnBpbl9wcGd0dChjZSk7 CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgaTkxNV92bWEgKgpAQCAtMTQ5Myw3ICsxNTA0LDcgQEAgc3Rh dGljIGludCByaW5nX2NvbnRleHRfcGluKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKIAlpZiAo ZXJyKQogCQlyZXR1cm4gZXJyOwogCi0JZXJyID0gX19jb250ZXh0X3Bpbl9wcGd0dChjZS0+Z2Vt X2NvbnRleHQpOworCWVyciA9IF9fY29udGV4dF9waW5fcHBndHQoY2UpOwogCWlmIChlcnIpCiAJ CWdvdG8gZXJyX2FjdGl2ZTsKIApAQCAtMTY4NSw3ICsxNjk2LDcgQEAgc3RhdGljIGlubGluZSBp bnQgbWlfc2V0X2NvbnRleHQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiBmbGFncykKIAly ZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCByZW1hcF9sMyhzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpy cSwgaW50IHNsaWNlKQorc3RhdGljIGludCByZW1hcF9sM19zbGljZShzdHJ1Y3QgaTkxNV9yZXF1 ZXN0ICpycSwgaW50IHNsaWNlKQogewogCXUzMiAqY3MsICpyZW1hcF9pbmZvID0gcnEtPmk5MTUt PmwzX3Bhcml0eS5yZW1hcF9pbmZvW3NsaWNlXTsKIAlpbnQgaTsKQEAgLTE3MTMsMTUgKzE3MjQs MzQgQEAgc3RhdGljIGludCByZW1hcF9sMyhzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwgaW50IHNs aWNlKQogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IHJlbWFwX2wzKHN0cnVjdCBpOTE1X3Jl cXVlc3QgKnJxKQoreworCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHggPSBycS0+Z2VtX2Nv bnRleHQ7CisJaW50IGksIGVycjsKKworCWlmICghY3R4LT5yZW1hcF9zbGljZSkKKwkJcmV0dXJu IDA7CisKKwlmb3IgKGkgPSAwOyBpIDwgTUFYX0wzX1NMSUNFUzsgaSsrKSB7CisJCWlmICghKGN0 eC0+cmVtYXBfc2xpY2UgJiBCSVQoaSkpKQorCQkJY29udGludWU7CisKKwkJZXJyID0gcmVtYXBf bDNfc2xpY2UocnEsIGkpOworCQlpZiAoZXJyKQorCQkJcmV0dXJuIGVycjsKKwl9CisKKwljdHgt PnJlbWFwX3NsaWNlID0gMDsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBzd2l0Y2hfY29u dGV4dChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIHsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUgPSBycS0+ZW5naW5lOwotCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHggPSBy cS0+Z2VtX2NvbnRleHQ7Ci0Jc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0gPQotCQljdHgt PnZtID86ICZycS0+aTkxNS0+bW0uYWxpYXNpbmdfcHBndHQtPnZtOworCXN0cnVjdCBpOTE1X2Fk ZHJlc3Nfc3BhY2UgKnZtID0gdm1fYWxpYXMocnEtPmh3X2NvbnRleHQpOwogCXVuc2lnbmVkIGlu dCB1bndpbmRfbW0gPSAwOwogCXUzMiBod19mbGFncyA9IDA7Ci0JaW50IHJldCwgaTsKKwlpbnQg cmV0OwogCiAJR0VNX0JVR19PTihIQVNfRVhFQ0xJU1RTKHJxLT5pOTE1KSk7CiAKQEAgLTE3NjUs NyArMTc5NSw3IEBAIHN0YXRpYyBpbnQgc3dpdGNoX2NvbnRleHQoc3RydWN0IGk5MTVfcmVxdWVz dCAqcnEpCiAJCSAqIGFzIG5vdGhpbmcgYWN0dWFsbHkgZXhlY3V0ZXMgdXNpbmcgdGhlIGtlcm5l bCBjb250ZXh0OyBpdAogCQkgKiBpcyBwdXJlbHkgdXNlZCBmb3IgZmx1c2hpbmcgdXNlciBjb250 ZXh0cy4KIAkJICovCi0JCWlmIChpOTE1X2dlbV9jb250ZXh0X2lzX2tlcm5lbChjdHgpKQorCQlp ZiAoaTkxNV9nZW1fY29udGV4dF9pc19rZXJuZWwocnEtPmdlbV9jb250ZXh0KSkKIAkJCWh3X2Zs YWdzID0gTUlfUkVTVE9SRV9JTkhJQklUOwogCiAJCXJldCA9IG1pX3NldF9jb250ZXh0KHJxLCBo d19mbGFncyk7CkBAIC0xNzk5LDE4ICsxODI5LDkgQEAgc3RhdGljIGludCBzd2l0Y2hfY29udGV4 dChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIAkJCWdvdG8gZXJyX21tOwogCX0KIAotCWlmIChj dHgtPnJlbWFwX3NsaWNlKSB7Ci0JCWZvciAoaSA9IDA7IGkgPCBNQVhfTDNfU0xJQ0VTOyBpKysp IHsKLQkJCWlmICghKGN0eC0+cmVtYXBfc2xpY2UgJiBCSVQoaSkpKQotCQkJCWNvbnRpbnVlOwot Ci0JCQlyZXQgPSByZW1hcF9sMyhycSwgaSk7Ci0JCQlpZiAocmV0KQotCQkJCWdvdG8gZXJyX21t OwotCQl9Ci0KLQkJY3R4LT5yZW1hcF9zbGljZSA9IDA7Ci0JfQorCXJldCA9IHJlbWFwX2wzKHJx KTsKKwlpZiAocmV0KQorCQlnb3RvIGVycl9tbTsKIAogCXJldHVybiAwOwogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAppbmRleCA1OWQ0YTExNDYwMzkuLmE0ZjUyNGU3OTFiMSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCkBAIC03ODQsOSArNzg0LDYgQEAgc3RydWN0IGk5MTVfZ2VtX21tIHsKIAkg Ki8KIAlzdHJ1Y3QgdmZzbW91bnQgKmdlbWZzOwogCi0JLyoqIFBQR1RUIHVzZWQgZm9yIGFsaWFz aW5nIHRoZSBQUEdUVCB3aXRoIHRoZSBHVFQgKi8KLQlzdHJ1Y3QgaTkxNV9wcGd0dCAqYWxpYXNp bmdfcHBndHQ7Ci0KIAlzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgb29tX25vdGlmaWVyOwogCXN0cnVj dCBub3RpZmllcl9ibG9jayB2bWFwX25vdGlmaWVyOwogCXN0cnVjdCBzaHJpbmtlciBzaHJpbmtl cjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggNDIzYzg5MGQwM2JmLi5jMzAy ODcyMmQ0ZTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC0yNDQ2LDE4ICsy NDQ2LDE4IEBAIHN0YXRpYyBpbnQgYWxpYXNpbmdfZ3R0X2JpbmRfdm1hKHN0cnVjdCBpOTE1X3Zt YSAqdm1hLAogCQlwdGVfZmxhZ3MgfD0gUFRFX1JFQURfT05MWTsKIAogCWlmIChmbGFncyAmIEk5 MTVfVk1BX0xPQ0FMX0JJTkQpIHsKLQkJc3RydWN0IGk5MTVfcHBndHQgKmFwcGd0dCA9IGk5MTUt Pm1tLmFsaWFzaW5nX3BwZ3R0OworCQlzdHJ1Y3QgaTkxNV9wcGd0dCAqYWxpYXMgPSBpOTE1X3Zt X3RvX2dndHQodm1hLT52bSktPmFsaWFzOwogCiAJCWlmICghKHZtYS0+ZmxhZ3MgJiBJOTE1X1ZN QV9MT0NBTF9CSU5EKSkgewotCQkJcmV0ID0gYXBwZ3R0LT52bS5hbGxvY2F0ZV92YV9yYW5nZSgm YXBwZ3R0LT52bSwKLQkJCQkJCQkgICB2bWEtPm5vZGUuc3RhcnQsCi0JCQkJCQkJICAgdm1hLT5z aXplKTsKKwkJCXJldCA9IGFsaWFzLT52bS5hbGxvY2F0ZV92YV9yYW5nZSgmYWxpYXMtPnZtLAor CQkJCQkJCSAgdm1hLT5ub2RlLnN0YXJ0LAorCQkJCQkJCSAgdm1hLT5zaXplKTsKIAkJCWlmIChy ZXQpCiAJCQkJcmV0dXJuIHJldDsKIAkJfQogCi0JCWFwcGd0dC0+dm0uaW5zZXJ0X2VudHJpZXMo JmFwcGd0dC0+dm0sIHZtYSwgY2FjaGVfbGV2ZWwsCi0JCQkJCSAgcHRlX2ZsYWdzKTsKKwkJYWxp YXMtPnZtLmluc2VydF9lbnRyaWVzKCZhbGlhcy0+dm0sIHZtYSwKKwkJCQkJIGNhY2hlX2xldmVs LCBwdGVfZmxhZ3MpOwogCX0KIAogCWlmIChmbGFncyAmIEk5MTVfVk1BX0dMT0JBTF9CSU5EKSB7 CkBAIC0yNDg1LDcgKzI0ODUsOCBAQCBzdGF0aWMgdm9pZCBhbGlhc2luZ19ndHRfdW5iaW5kX3Zt YShzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKIAl9CiAKIAlpZiAodm1hLT5mbGFncyAmIEk5MTVfVk1B X0xPQ0FMX0JJTkQpIHsKLQkJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0gPSAmaTkxNS0+ bW0uYWxpYXNpbmdfcHBndHQtPnZtOworCQlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSA9 CisJCQkmaTkxNV92bV90b19nZ3R0KHZtYS0+dm0pLT5hbGlhcy0+dm07CiAKIAkJdm0tPmNsZWFy X3JhbmdlKHZtLCB2bWEtPm5vZGUuc3RhcnQsIHZtYS0+c2l6ZSk7CiAJfQpAQCAtMjU0MiwxMyAr MjU0MywxMiBAQCBzdGF0aWMgdm9pZCBpOTE1X2d0dF9jb2xvcl9hZGp1c3QoY29uc3Qgc3RydWN0 IGRybV9tbV9ub2RlICpub2RlLAogCQkqZW5kIC09IEk5MTVfR1RUX1BBR0VfU0laRTsKIH0KIAot c3RhdGljIGludCBpbml0X2FsaWFzaW5nX3BwZ3R0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1KQorc3RhdGljIGludCBpbml0X2FsaWFzaW5nX3BwZ3R0KHN0cnVjdCBpOTE1X2dndHQgKmdn dHQpCiB7Ci0Jc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCA9ICZpOTE1LT5nZ3R0OwogCXN0cnVjdCBp OTE1X3BwZ3R0ICpwcGd0dDsKIAlpbnQgZXJyOwogCi0JcHBndHQgPSBpOTE1X3BwZ3R0X2NyZWF0 ZShpOTE1KTsKKwlwcGd0dCA9IGk5MTVfcHBndHRfY3JlYXRlKGdndHQtPnZtLmk5MTUpOwogCWlm IChJU19FUlIocHBndHQpKQogCQlyZXR1cm4gUFRSX0VSUihwcGd0dCk7CiAKQEAgLTI1NjcsNyAr MjU2Nyw3IEBAIHN0YXRpYyBpbnQgaW5pdF9hbGlhc2luZ19wcGd0dChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSkKIAlpZiAoZXJyKQogCQlnb3RvIGVycl9wcGd0dDsKIAotCWk5MTUtPm1t LmFsaWFzaW5nX3BwZ3R0ID0gcHBndHQ7CisJZ2d0dC0+YWxpYXMgPSBwcGd0dDsKIAogCUdFTV9C VUdfT04oZ2d0dC0+dm0udm1hX29wcy5iaW5kX3ZtYSAhPSBnZ3R0X2JpbmRfdm1hKTsKIAlnZ3R0 LT52bS52bWFfb3BzLmJpbmRfdm1hID0gYWxpYXNpbmdfZ3R0X2JpbmRfdm1hOwpAQCAtMjU4Miwx NCArMjU4MiwxNCBAQCBzdGF0aWMgaW50IGluaXRfYWxpYXNpbmdfcHBndHQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpCiAJcmV0dXJuIGVycjsKIH0KIAotc3RhdGljIHZvaWQgZmluaV9h bGlhc2luZ19wcGd0dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3N0YXRpYyB2b2lk IGZpbmlfYWxpYXNpbmdfcHBndHQoc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCkKIHsKLQlzdHJ1Y3Qg aTkxNV9nZ3R0ICpnZ3R0ID0gJmk5MTUtPmdndHQ7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUgPSBnZ3R0LT52bS5pOTE1OwogCXN0cnVjdCBpOTE1X3BwZ3R0ICpwcGd0dDsKIAogCW11 dGV4X2xvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwogCi0JcHBndHQgPSBmZXRjaF9hbmRf emVybygmaTkxNS0+bW0uYWxpYXNpbmdfcHBndHQpOworCXBwZ3R0ID0gZmV0Y2hfYW5kX3plcm8o JmdndHQtPmFsaWFzKTsKIAlpZiAoIXBwZ3R0KQogCQlnb3RvIG91dDsKIApAQCAtMjcwNiw3ICsy NzA2LDcgQEAgaW50IGk5MTVfaW5pdF9nZ3R0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KQogCQlyZXR1cm4gcmV0OwogCiAJaWYgKElOVEVMX1BQR1RUKGk5MTUpID09IElOVEVMX1BQR1RU X0FMSUFTSU5HKSB7Ci0JCXJldCA9IGluaXRfYWxpYXNpbmdfcHBndHQoaTkxNSk7CisJCXJldCA9 IGluaXRfYWxpYXNpbmdfcHBndHQoJmk5MTUtPmdndHQpOwogCQlpZiAocmV0KQogCQkJY2xlYW51 cF9pbml0X2dndHQoJmk5MTUtPmdndHQpOwogCX0KQEAgLTI3NTUsNyArMjc1NSw3IEBAIHZvaWQg aTkxNV9nZ3R0X2RyaXZlcl9yZWxlYXNlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQog ewogCXN0cnVjdCBwYWdldmVjICpwdmVjOwogCi0JZmluaV9hbGlhc2luZ19wcGd0dChpOTE1KTsK KwlmaW5pX2FsaWFzaW5nX3BwZ3R0KCZpOTE1LT5nZ3R0KTsKIAogCWdndHRfY2xlYW51cF9odygm aTkxNS0+Z2d0dCk7CiAKQEAgLTM1ODgsNyArMzU4OCw3IEBAIGludCBpOTE1X2dlbV9ndHRfcmVz ZXJ2ZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAlHRU1fQlVHX09OKCFJU19BTElH TkVEKHNpemUsIEk5MTVfR1RUX1BBR0VfU0laRSkpOwogCUdFTV9CVUdfT04oIUlTX0FMSUdORUQo b2Zmc2V0LCBJOTE1X0dUVF9NSU5fQUxJR05NRU5UKSk7CiAJR0VNX0JVR19PTihyYW5nZV9vdmVy Zmxvd3Mob2Zmc2V0LCBzaXplLCB2bS0+dG90YWwpKTsKLQlHRU1fQlVHX09OKHZtID09ICZ2bS0+ aTkxNS0+bW0uYWxpYXNpbmdfcHBndHQtPnZtKTsKKwlHRU1fQlVHX09OKHZtID09ICZ2bS0+aTkx NS0+Z2d0dC5hbGlhcy0+dm0pOwogCUdFTV9CVUdfT04oZHJtX21tX25vZGVfYWxsb2NhdGVkKG5v ZGUpKTsKIAogCW5vZGUtPnNpemUgPSBzaXplOwpAQCAtMzY4NSw3ICszNjg1LDcgQEAgaW50IGk5 MTVfZ2VtX2d0dF9pbnNlcnQoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJR0VNX0JV R19PTihzdGFydCA+PSBlbmQpOwogCUdFTV9CVUdfT04oc3RhcnQgPiAwICAmJiAhSVNfQUxJR05F RChzdGFydCwgSTkxNV9HVFRfUEFHRV9TSVpFKSk7CiAJR0VNX0JVR19PTihlbmQgPCBVNjRfTUFY ICYmICFJU19BTElHTkVEKGVuZCwgSTkxNV9HVFRfUEFHRV9TSVpFKSk7Ci0JR0VNX0JVR19PTih2 bSA9PSAmdm0tPmk5MTUtPm1tLmFsaWFzaW5nX3BwZ3R0LT52bSk7CisJR0VNX0JVR19PTih2bSA9 PSAmdm0tPmk5MTUtPmdndHQuYWxpYXMtPnZtKTsKIAlHRU1fQlVHX09OKGRybV9tbV9ub2RlX2Fs bG9jYXRlZChub2RlKSk7CiAKIAlpZiAodW5saWtlbHkocmFuZ2Vfb3ZlcmZsb3dzKHN0YXJ0LCBz aXplLCBlbmQpKSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0 dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKaW5kZXggY2VhNTllZjFh MzY1Li41MTI3NDQ4MzUwMmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2d0dC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCkBAIC0z OTQsNiArMzk0LDkgQEAgc3RydWN0IGk5MTVfZ2d0dCB7CiAJdm9pZCBfX2lvbWVtICpnc207CiAJ dm9pZCAoKmludmFsaWRhdGUpKHN0cnVjdCBpOTE1X2dndHQgKmdndHQpOwogCisJLyoqIFBQR1RU IHVzZWQgZm9yIGFsaWFzaW5nIHRoZSBQUEdUVCB3aXRoIHRoZSBHVFQgKi8KKwlzdHJ1Y3QgaTkx NV9wcGd0dCAqYWxpYXM7CisKIAlib29sIGRvX2lkbGVfbWFwczsKIAogCWludCBtdHJyOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfdm1hLmMKaW5kZXggZWU3M2JhZjI5NDE1Li5lYjE2YTFhOTNiYmMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV92bWEuYwpAQCAtMTA0LDcgKzEwNCw3IEBAIHZtYV9jcmVhdGUoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlzdHJ1Y3QgcmJfbm9kZSAqcmIsICoqcDsKIAog CS8qIFRoZSBhbGlhc2luZ19wcGd0dCBzaG91bGQgbmV2ZXIgYmUgdXNlZCBkaXJlY3RseSEgKi8K LQlHRU1fQlVHX09OKHZtID09ICZ2bS0+aTkxNS0+bW0uYWxpYXNpbmdfcHBndHQtPnZtKTsKKwlH RU1fQlVHX09OKHZtID09ICZ2bS0+aTkxNS0+Z2d0dC5hbGlhcy0+dm0pOwogCiAJdm1hID0gaTkx NV92bWFfYWxsb2MoKTsKIAlpZiAodm1hID09IE5VTEwpCi0tIAoyLjIyLjAKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==