From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [RFC PATCH 30/42] drm/i915: Introduce DRM_I915_GEM_MMAP_OFFSET Date: Thu, 14 Feb 2019 14:57:28 +0000 Message-ID: <20190214145740.14521-31-matthew.auld@intel.com> References: <20190214145740.14521-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id E0C336E932 for ; Thu, 14 Feb 2019 14:58:20 +0000 (UTC) In-Reply-To: <20190214145740.14521-1-matthew.auld@intel.com> 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 RnJvbTogQWJkaWVsIEphbnVsZ3VlIDxhYmRpZWwuamFudWxndWVAbGludXguaW50ZWwuY29tPgoK Q1BVIG1tYXAgaW1wbGVtZW50YXRpb24gZGVwZW5kaW5nIG9uIHRoZSBvYmplY3QncyBiYWNraW5n IHBhZ2VzLgpBdCB0aGUgbW9tZW50IHdlIGludHJvZHVjZSBzaG1lbSBhbmQgbG9jYWwtbWVtb3J5 IEJBUiBmYXVsdCBoYW5kbGVycwpOb3RlIHRoYXQgdGhlIG1tYXAgdHlwZSBpcyBkb25lIG9uZSBh dCBhIHRpbWUgdG8gY2lyY3VtdmVudCB0aGUgRFJNCm9mZnNldCBtYW5hZ2VyIGxpbWl0YXRpb24u IE5vdGUgdGhhdCB3ZSBtdWx0aXBsZXggbW1hcF9ndHQgYW5kCm1tYXBfb2Zmc2V0IHRocm91Z2gg dGhlIHNhbWUgaW9jdGwsIGFuZCB1c2UgdGhlIHplcm8gZXh0ZW5kaW5nIGJlaGF2aW91cgpvZiBk cm0gdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHRoZW0sIHdoZW4gd2UgaW5zcGVjdCB0aGUgZmxh Z3MuCgpTaWduZWQtb2ZmLWJ5OiBBYmRpZWwgSmFudWxndWUgPGFiZGllbC5qYW51bGd1ZUBsaW51 eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGlu dGVsLmNvbT4KQ2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgICB8ICA1ICst CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICB8ICAzICsKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgIHwgOTQgKysrKysrKysrKysrKysrKysrKysr Ky0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX29iamVjdC5oIHwgMTAgKysrCiBp bmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggICAgICAgICAgICB8IDMwICsrKysrKysrCiA1IGZp bGVzIGNoYW5nZWQsIDEyNiBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuYwppbmRleCBiMTIwMGQ3ZWJkMTMuLjkwNzg1MDMwYTBkZCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5jCkBAIC00MjMsNiArNDIzLDcgQEAgc3RhdGljIGludCBpOTE1X2dldHBh cmFtX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJY2FzZSBJOTE1 X1BBUkFNX0hBU19FWEVDX0NBUFRVUkU6CiAJY2FzZSBJOTE1X1BBUkFNX0hBU19FWEVDX0JBVENI X0ZJUlNUOgogCWNhc2UgSTkxNV9QQVJBTV9IQVNfRVhFQ19GRU5DRV9BUlJBWToKKwljYXNlIEk5 MTVfUEFSQU1fTU1BUF9PRkZTRVRfVkVSU0lPTjoKIAkJLyogRm9yIHRoZSB0aW1lIGJlaW5nIGFs bCBvZiB0aGVzZSBhcmUgYWx3YXlzIHRydWU7CiAJCSAqIGlmIHNvbWUgc3VwcG9ydGVkIGhhcmR3 YXJlIGRvZXMgbm90IGhhdmUgb25lIG9mIHRoZXNlCiAJCSAqIGZlYXR1cmVzIHRoaXMgdmFsdWUg bmVlZHMgdG8gYmUgcHJvdmlkZWQgZnJvbQpAQCAtMjkzNiw3ICsyOTM3LDcgQEAgY29uc3Qgc3Ry dWN0IGRldl9wbV9vcHMgaTkxNV9wbV9vcHMgPSB7CiBzdGF0aWMgY29uc3Qgc3RydWN0IHZtX29w ZXJhdGlvbnNfc3RydWN0IGk5MTVfZ2VtX3ZtX29wcyA9IHsKIAkuZmF1bHQgPSBpOTE1X2dlbV9m YXVsdCwKIAkub3BlbiA9IGRybV9nZW1fdm1fb3BlbiwKLQkuY2xvc2UgPSBkcm1fZ2VtX3ZtX2Ns b3NlLAorCS5jbG9zZSA9IGk5MTVfZ2VtX2Nsb3NlLAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVj dCBmaWxlX29wZXJhdGlvbnMgaTkxNV9kcml2ZXJfZm9wcyA9IHsKQEAgLTI5OTEsNyArMjk5Miw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2lvY3RsX2Rlc2MgaTkxNV9pb2N0bHNbXSA9IHsK IAlEUk1fSU9DVExfREVGX0RSVihJOTE1X0dFTV9QUkVBRCwgaTkxNV9nZW1fcHJlYWRfaW9jdGws IERSTV9SRU5ERVJfQUxMT1cpLAogCURSTV9JT0NUTF9ERUZfRFJWKEk5MTVfR0VNX1BXUklURSwg aTkxNV9nZW1fcHdyaXRlX2lvY3RsLCBEUk1fUkVOREVSX0FMTE9XKSwKIAlEUk1fSU9DVExfREVG X0RSVihJOTE1X0dFTV9NTUFQLCBpOTE1X2dlbV9tbWFwX2lvY3RsLCBEUk1fUkVOREVSX0FMTE9X KSwKLQlEUk1fSU9DVExfREVGX0RSVihJOTE1X0dFTV9NTUFQX0dUVCwgaTkxNV9nZW1fbW1hcF9n dHRfaW9jdGwsIERSTV9SRU5ERVJfQUxMT1cpLAorCURSTV9JT0NUTF9ERUZfRFJWKEk5MTVfR0VN X01NQVBfT0ZGU0VULCBpOTE1X2dlbV9tbWFwX2d0dF9pb2N0bCwgRFJNX1JFTkRFUl9BTExPVyks CiAJRFJNX0lPQ1RMX0RFRl9EUlYoSTkxNV9HRU1fU0VUX0RPTUFJTiwgaTkxNV9nZW1fc2V0X2Rv bWFpbl9pb2N0bCwgRFJNX1JFTkRFUl9BTExPVyksCiAJRFJNX0lPQ1RMX0RFRl9EUlYoSTkxNV9H RU1fU1dfRklOSVNILCBpOTE1X2dlbV9zd19maW5pc2hfaW9jdGwsIERSTV9SRU5ERVJfQUxMT1cp LAogCURSTV9JT0NUTF9ERUZfRFJWKEk5MTVfR0VNX1NFVF9USUxJTkcsIGk5MTVfZ2VtX3NldF90 aWxpbmdfaW9jdGwsIERSTV9SRU5ERVJfQUxMT1cpLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5k ZXggMDY1OTUzYTkyNjRmLi5jNmFlMTU3ZDBlZGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApA QCAtMjc3MCw2ICsyNzcwLDggQEAgaW50IGk5MTVfZ2VtX21tYXBfaW9jdGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsK IGludCBpOTE1X2dlbV9tbWFwX2d0dF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lk ICpkYXRhLAogCQkJc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOworaW50IGk5MTVfZ2VtX21t YXBfb2Zmc2V0X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCisJCQkg ICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwogaW50IGk5MTVfZ2VtX3NldF9kb21h aW5faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCSAgICAgIHN0 cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKIGludCBpOTE1X2dlbV9zd19maW5pc2hfaW9jdGwo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKQEAgLTMwNzMsNiArMzA3NSw3IEBA IHZvaWQgaTkxNV9nZW1fc3VzcGVuZF9sYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdik7CiB2b2lkIGk5MTVfZ2VtX3Jlc3VtZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpOwogaW50IGk5MTVfZ2VtX21tYXAoc3RydWN0IGZpbGUgKmZpbHAsIHN0cnVjdCB2bV9h cmVhX3N0cnVjdCAqdm1hKTsKIHZtX2ZhdWx0X3QgaTkxNV9nZW1fZmF1bHQoc3RydWN0IHZtX2Zh dWx0ICp2bWYpOwordm9pZCBpOTE1X2dlbV9jbG9zZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZt YSk7CiBpbnQgaTkxNV9nZW1fb2JqZWN0X3dhaXQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiwKIAkJCSB1bnNpZ25lZCBpbnQgZmxhZ3MsCiAJCQkgbG9uZyB0aW1lb3V0KTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCmluZGV4IDQ4ZGJiNTdmYmM2ZC4uY2M2Yzg4ZWM3NDlkIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTIxMjMsMTEgKzIxMjMsMTIgQEAgc3RhdGljIHZvaWQgaTkx NV9nZW1fb2JqZWN0X2ZyZWVfbW1hcF9vZmZzZXQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaikKIAlkcm1fZ2VtX2ZyZWVfbW1hcF9vZmZzZXQoJm9iai0+YmFzZSk7CiB9CiAKLWludAot aTkxNV9nZW1fbW1hcF9ndHQoc3RydWN0IGRybV9maWxlICpmaWxlLAotCQkgIHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCi0JCSAgdTMyIGhhbmRsZSwKLQkJICB1NjQgKm9mZnNldCkKK3N0YXRpYyBp bnQKK19fYXNzaWduX2dlbV9vYmplY3RfbW1hcF9kYXRhKHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwK KwkJCSAgICAgIHUzMiBoYW5kbGUsCisJCQkgICAgICBlbnVtIGk5MTVfY3B1X21tYXBfb3JpZ2lu X3R5cGUgbW1hcF90eXBlLAorCQkJICAgICAgdTY0IG1tYXBfZmxhZ3MsCisJCQkgICAgICB1NjQg Km9mZnNldCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwogCWludCByZXQ7 CkBAIC0yMTM2LDE0ICsyMTM3LDM1IEBAIGk5MTVfZ2VtX21tYXBfZ3R0KHN0cnVjdCBkcm1fZmls ZSAqZmlsZSwKIAlpZiAoIW9iaikKIAkJcmV0dXJuIC1FTk9FTlQ7CiAKKwlpZiAoYXRvbWljX3Jl YWQoJm9iai0+bW1hcF9jb3VudCkgJiYKKwkgICAgb2JqLT5tbWFwX29yaWdpbiAhPSBtbWFwX3R5 cGUpIHsKKwkgICAgICAgIC8qIFJlLW1hcCBvYmplY3Qgd2l0aCBleGlzdGluZyBkaWZmZXJlbnQg bWFwLXR5cGUgKi8KKwkJcmV0ID0gLUVJTlZBTDsKKwkJZ290byBlcnI7CisJfQorCiAJcmV0ID0g aTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9tbWFwX29mZnNldChvYmopOwotCWlmIChyZXQgPT0gMCkK KwlpZiAocmV0ID09IDApIHsKKwkJb2JqLT5tbWFwX29yaWdpbiA9IG1tYXBfdHlwZTsKKwkJb2Jq LT5tbWFwX2ZsYWdzID0gbW1hcF9mbGFnczsKIAkJKm9mZnNldCA9IGRybV92bWFfbm9kZV9vZmZz ZXRfYWRkcigmb2JqLT5iYXNlLnZtYV9ub2RlKTsKKwl9CiAKKyBlcnI6CiAJaTkxNV9nZW1fb2Jq ZWN0X3B1dChvYmopOwogCXJldHVybiByZXQ7CiB9CiAKK2ludAoraTkxNV9nZW1fbW1hcF9ndHQo c3RydWN0IGRybV9maWxlICpmaWxlLAorCQkgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCSAg dTMyIGhhbmRsZSwKKwkJICB1NjQgKm9mZnNldCkKK3sKKwlyZXR1cm4gX19hc3NpZ25fZ2VtX29i amVjdF9tbWFwX2RhdGEoZmlsZSwgaGFuZGxlLCBJOTE1X01NQVBfT1JJR0lOX0dUVCwKKwkJCQkJ ICAgICAwLCBvZmZzZXQpOworfQorCiAvKioKICAqIGk5MTVfZ2VtX21tYXBfZ3R0X2lvY3RsIC0g cHJlcGFyZSBhbiBvYmplY3QgZm9yIEdUVCBtbWFwJ2luZwogICogQGRldjogRFJNIGRldmljZQpA QCAtMjE2Myw5ICsyMTg1LDQ1IEBAIGludAogaTkxNV9nZW1fbW1hcF9ndHRfaW9jdGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCXN0cnVjdCBkcm1fZmlsZSAqZmlsZSkK IHsKLQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX21tYXBfZ3R0ICphcmdzID0gZGF0YTsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX21tYXBfb2Zmc2V0ICphcmdzID0gZGF0YTsKKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZGV2KTsKKworCWlmIChhcmdzLT5mbGFncyAmIEk5MTVf TU1BUF9PRkZTRVRfRkxBR1MpCisJCXJldHVybiBpOTE1X2dlbV9tbWFwX29mZnNldF9pb2N0bChk ZXYsIGRhdGEsIGZpbGUpOworCisJaWYgKCFIQVNfTUFQUEFCTEVfQVBFUlRVUkUoaTkxNSkpIHsK KwkJRFJNX0VSUk9SKCJObyBhcGVydHVyZSwgY2Fubm90IG1tYXAgdmlhIGxlZ2FjeSBHVFRcbiIp OworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlyZXR1cm4gX19hc3NpZ25fZ2VtX29iamVjdF9t bWFwX2RhdGEoZmlsZSwgYXJncy0+aGFuZGxlLAorCQkJCQkgICAgIEk5MTVfTU1BUF9PUklHSU5f R1RULAorCQkJCQkgICAgIDAsICZhcmdzLT5vZmZzZXQpOworfQorCitpbnQgaTkxNV9nZW1fbW1h cF9vZmZzZXRfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKKwkJCSAg ICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCit7CisJc3RydWN0IGRybV9pOTE1X2dlbV9tbWFw X29mZnNldCAqYXJncyA9IGRhdGE7CiAKLQlyZXR1cm4gaTkxNV9nZW1fbW1hcF9ndHQoZmlsZSwg ZGV2LCBhcmdzLT5oYW5kbGUsICZhcmdzLT5vZmZzZXQpOworCWlmICgoYXJncy0+ZmxhZ3MgJiAo STkxNV9NTUFQX09GRlNFVF9XQyB8IEk5MTVfTU1BUF9PRkZTRVRfV0IpKSAmJgorCSAgICAhYm9v dF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1BBVCkpCisJCXJldHVybiAtRU5PREVWOworCisgICAgICAg IHJldHVybiBfX2Fzc2lnbl9nZW1fb2JqZWN0X21tYXBfZGF0YShmaWxlLCBhcmdzLT5oYW5kbGUs CisJCQkJCSAgICAgSTkxNV9NTUFQX09SSUdJTl9PRkZTRVQsCisJCQkJCSAgICAgYXJncy0+Zmxh Z3MsCisJCQkJCSAgICAgJmFyZ3MtPm9mZnNldCk7Cit9CisKK3ZvaWQgaTkxNV9nZW1fY2xvc2Uo c3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCit7CisJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpn ZW0gPSB2bWEtPnZtX3ByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqID0gdG9faW50ZWxfYm8oZ2VtKTsKKworCWF0b21pY19kZWMoJm9iai0+bW1hcF9jb3VudCk7 CisKKwlkcm1fZ2VtX3ZtX2Nsb3NlKHZtYSk7CiB9CiAKIGludCBpOTE1X2dlbV9tbWFwKHN0cnVj dCBmaWxlICpmaWxwLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKQEAgLTIxNzgsMTIgKzIy MzYsMTkgQEAgaW50IGk5MTVfZ2VtX21tYXAoc3RydWN0IGZpbGUgKmZpbHAsIHN0cnVjdCB2bV9h cmVhX3N0cnVjdCAqdm1hKQogCQlyZXR1cm4gcmV0OwogCiAJb2JqID0gdG9faW50ZWxfYm8odm1h LT52bV9wcml2YXRlX2RhdGEpOwotCWlmIChvYmotPm1lbW9yeV9yZWdpb24pIHsKLQkJaWYgKG9i ai0+bW1hcF9vcmlnaW4gPT0gSTkxNV9NTUFQX09SSUdJTl9PRkZTRVQpIHsKLQkJCXZtYS0+dm1f ZmxhZ3MgJj0gflZNX1BGTk1BUDsKLQkJCXZtYS0+dm1fZmxhZ3MgfD0gVk1fTUlYRURNQVA7Ci0J CX0KKwlpZiAob2JqLT5tbWFwX29yaWdpbiA9PSBJOTE1X01NQVBfT1JJR0lOX09GRlNFVCkgewor CQl2bWEtPnZtX2ZsYWdzICY9IH5WTV9QRk5NQVA7CisJCXZtYS0+dm1fZmxhZ3MgfD0gVk1fTUlY RURNQVA7CisJCWlmIChvYmotPm1tYXBfZmxhZ3MgJiBJOTE1X01NQVBfT0ZGU0VUX1dDKQorCQkJ dm1hLT52bV9wYWdlX3Byb3QgPQorCQkJCXBncHJvdF93cml0ZWNvbWJpbmUodm1fZ2V0X3BhZ2Vf cHJvdCh2bWEtPnZtX2ZsYWdzKSk7CisJCWVsc2UgaWYgKG9iai0+bW1hcF9mbGFncyAmIEk5MTVf TU1BUF9PRkZTRVRfV0IpCisJCQl2bWEtPnZtX3BhZ2VfcHJvdCA9IHZtX2dldF9wYWdlX3Byb3Qo dm1hLT52bV9mbGFncyk7CisJCWVsc2UgaWYgKG9iai0+bW1hcF9mbGFncyAmIEk5MTVfTU1BUF9P RkZTRVRfVUMpCisJCQl2bWEtPnZtX3BhZ2VfcHJvdCA9CisJCQkJcGdwcm90X25vbmNhY2hlZCh2 bV9nZXRfcGFnZV9wcm90KHZtYS0+dm1fZmxhZ3MpKTsKIAl9CisJYXRvbWljX2luYygmb2JqLT5t bWFwX2NvdW50KTsKIAogCXJldHVybiByZXQ7CiB9CkBAIC00MjI4LDcgKzQyOTMsOCBAQCBpbnQg aTkxNV9nZW1fdm1mX2ZpbGxfcGFnZXNfY3B1KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCiAJdm1fZmF1bHRfdCB2bWZfcmV0OwogCXBnb2ZmX3QgcGdfb2ZmID0gKHZtZi0+YWRkcmVz cyAtIGFyZWEtPnZtX3N0YXJ0KSA+PiBQQUdFX1NISUZUOwogCi0JaWYgKEhBU19NQVBQQUJMRV9B UEVSVFVSRShkZXZfcHJpdikpCisJaWYgKEhBU19NQVBQQUJMRV9BUEVSVFVSRShkZXZfcHJpdikg JiYKKwkgICAgb2JqLT5tbWFwX29yaWdpbiA9PSBJOTE1X01NQVBfT1JJR0lOX0dUVCkKIAkJcmV0 dXJuIF9fdm1mX2ZpbGxfcGFnZXNfZ3R0KG9iaiwgdm1mLCBwYWdlX29mZnNldCk7CiAKIAlwYWdl ID0gaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlKG9iaiwgcGdfb2ZmKTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX29iamVjdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fb2JqZWN0LmgKaW5kZXggNWM2YmJlNmY1ZTg0Li5iMzdmZmUyZTE3YjYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX29iamVjdC5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX29iamVjdC5oCkBAIC04Niw2ICs4NiwxMiBAQCBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9vcHMgewogCQkJICAgICAgcGdvZmZfdCk7CiB9Owog CitlbnVtIGk5MTVfY3B1X21tYXBfb3JpZ2luX3R5cGUgeworCUk5MTVfTU1BUF9PUklHSU5fTk9O RSA9IDAsCisJSTkxNV9NTUFQX09SSUdJTl9HVFQsCisJSTkxNV9NTUFQX09SSUdJTl9PRkZTRVQs Cit9OworCiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCB7CiAJc3RydWN0IGRybV9nZW1fb2Jq ZWN0IGJhc2U7CiAKQEAgLTE1Nyw2ICsxNjMsMTAgQEAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgewogCXVuc2lnbmVkIGludCB1c2VyZmF1bHRfY291bnQ7CiAJc3RydWN0IGxpc3RfaGVhZCB1 c2VyZmF1bHRfbGluazsKIAorCWVudW0gaTkxNV9jcHVfbW1hcF9vcmlnaW5fdHlwZSBtbWFwX29y aWdpbjsKKwlhdG9taWNfdCBtbWFwX2NvdW50OworCXU2NCBtbWFwX2ZsYWdzOworCiAJc3RydWN0 IGxpc3RfaGVhZCBiYXRjaF9wb29sX2xpbms7CiAJSTkxNV9TRUxGVEVTVF9ERUNMQVJFKHN0cnVj dCBsaXN0X2hlYWQgc3RfbGluayk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vaTkx NV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAppbmRleCAzOTc4MTBmYTJkMzMu LjI2ZDIyNzRiNWQyYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCisr KyBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaApAQCAtMzE5LDYgKzMxOSw3IEBAIHR5cGVk ZWYgc3RydWN0IF9kcm1faTkxNV9zYXJlYSB7CiAjZGVmaW5lIERSTV9JOTE1X1BFUkZfQUREX0NP TkZJRwkweDM3CiAjZGVmaW5lIERSTV9JOTE1X1BFUkZfUkVNT1ZFX0NPTkZJRwkweDM4CiAjZGVm aW5lIERSTV9JOTE1X1FVRVJZCQkJMHgzOQorI2RlZmluZSBEUk1fSTkxNV9HRU1fTU1BUF9PRkZT RVQgICAJRFJNX0k5MTVfR0VNX01NQVBfR1RUCiAKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfSU5J VAkJRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0lOSVQsIGRybV9pOTE1X2lu aXRfdCkKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfRkxVU0gJCURSTV9JTyAoIERSTV9DT01NQU5E X0JBU0UgKyBEUk1fSTkxNV9GTFVTSCkKQEAgLTM3Nyw2ICszNzgsNyBAQCB0eXBlZGVmIHN0cnVj dCBfZHJtX2k5MTVfc2FyZWEgewogI2RlZmluZSBEUk1fSU9DVExfSTkxNV9QRVJGX0FERF9DT05G SUcJRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfUEVSRl9BRERfQ09ORklHLCBz dHJ1Y3QgZHJtX2k5MTVfcGVyZl9vYV9jb25maWcpCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X1BF UkZfUkVNT1ZFX0NPTkZJRwlEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9QRVJG X1JFTU9WRV9DT05GSUcsIF9fdTY0KQogI2RlZmluZSBEUk1fSU9DVExfSTkxNV9RVUVSWQkJCURS TV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9RVUVSWSwgc3RydWN0IGRybV9pOTE1 X3F1ZXJ5KQorI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fTU1BUF9PRkZTRVQJCURSTV9JT1dS KERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1fTU1BUF9PRkZTRVQsIHN0cnVjdCBkcm1f aTkxNV9nZW1fbW1hcF9vZmZzZXQpCiAKIC8qIEFsbG93IGRyaXZlcnMgdG8gc3VibWl0IGJhdGNo YnVmZmVycyBkaXJlY3RseSB0byBoYXJkd2FyZSwgcmVseWluZwogICogb24gdGhlIHNlY3VyaXR5 IG1lY2hhbmlzbXMgcHJvdmlkZWQgYnkgaGFyZHdhcmUuCkBAIC01NTksNiArNTYxLDkgQEAgdHlw ZWRlZiBzdHJ1Y3QgZHJtX2k5MTVfaXJxX3dhaXQgewogICovCiAjZGVmaW5lIEk5MTVfUEFSQU1f TU1BUF9HVFRfQ09IRVJFTlQJNTIKIAorLyogTW1hcCBvZmZzZXQgaW9jdGwgKi8KKyNkZWZpbmUg STkxNV9QQVJBTV9NTUFQX09GRlNFVF9WRVJTSU9OCTU1CisKIHR5cGVkZWYgc3RydWN0IGRybV9p OTE1X2dldHBhcmFtIHsKIAlfX3MzMiBwYXJhbTsKIAkvKgpAQCAtNzMxLDYgKzczNiwzMSBAQCBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX21tYXBfZ3R0IHsKIAlfX3U2NCBvZmZzZXQ7CiB9OwogCitzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX21tYXBfb2Zmc2V0IHsKKwkvKiogSGFuZGxlIGZvciB0aGUgb2JqZWN0 IGJlaW5nIG1hcHBlZC4gKi8KKwlfX3UzMiBoYW5kbGU7CisJX191MzIgcGFkOworCS8qKgorCSAq IEZha2Ugb2Zmc2V0IHRvIHVzZSBmb3Igc3Vic2VxdWVudCBtbWFwIGNhbGwKKwkgKgorCSAqIFRo aXMgaXMgYSBmaXhlZC1zaXplIHR5cGUgZm9yIDMyLzY0IGNvbXBhdGliaWxpdHkuCisJICovCisJ X191NjQgb2Zmc2V0OworCisJLyoqCisJICogRmxhZ3MgZm9yIGV4dGVuZGVkIGJlaGF2aW91ci4K KwkgKgorCSAqIEl0IGlzIG1hbmRhdG9yeSB0aGF0IGVpdGhlciBvbmUgb2YgdGhlIF9XQy9fV0Ig ZmxhZ3MKKwkgKiBzaG91bGQgYmUgcGFzc2VkIGhlcmUuCisJICovCisJX191NjQgZmxhZ3M7Cisj ZGVmaW5lIEk5MTVfTU1BUF9PRkZTRVRfV0MgKDEgPDwgMCkKKyNkZWZpbmUgSTkxNV9NTUFQX09G RlNFVF9XQiAoMSA8PCAxKQorI2RlZmluZSBJOTE1X01NQVBfT0ZGU0VUX1VDICgxIDw8IDIpCisj ZGVmaW5lIEk5MTVfTU1BUF9PRkZTRVRfRkxBR1MgXAorCShJOTE1X01NQVBfT0ZGU0VUX1dDIHwg STkxNV9NTUFQX09GRlNFVF9XQiB8IEk5MTVfTU1BUF9PRkZTRVRfVUMpCit9OworCiBzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3NldF9kb21haW4gewogCS8qKiBIYW5kbGUgZm9yIHRoZSBvYmplY3QgKi8K IAlfX3UzMiBoYW5kbGU7Ci0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeA==