From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 3/3] drm/radeon: add userfence IOCTL Date: Mon, 13 Apr 2015 16:52:17 +0200 Message-ID: <1428936737-19103-4-git-send-email-deathsimple@vodafone.de> References: <1428936737-19103-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pegasos-out.vodafone.de (pegasos-out.vodafone.de [80.84.1.38]) by gabe.freedesktop.org (Postfix) with ESMTP id 7209F6E547 for ; Mon, 13 Apr 2015 07:52:31 -0700 (PDT) In-Reply-To: <1428936737-19103-1-git-send-email-deathsimple@vodafone.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Serguei.Sagalovitch@amd.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKV0lQIHBh dGNoIHdoaWNoIGFkZHMgYW4gdXNlciBmZW5jZSBJT0NUTC4KClNpZ25lZC1vZmYtYnk6IENocmlz dGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbi5oICAgICB8ICAyICsrCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9nZW0uYyB8IDcxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRy aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ttcy5jIHwgIDEgKwogaW5jbHVkZS91YXBpL2Ry bS9yYWRlb25fZHJtLmggICAgICAgfCA0MSArKysrKysrKysrKysrLS0tLS0tLS0KIDQgZmlsZXMg Y2hhbmdlZCwgMTAwIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmggYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbi5oCmluZGV4IDU3ZDYzYzQuLjExMGJhYWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24u aApAQCAtMjIxNSw2ICsyMjE1LDggQEAgaW50IHJhZGVvbl9nZW1fY3JlYXRlX2lvY3RsKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQkgICAgc3RydWN0IGRybV9maWxlICpm aWxwKTsKIGludCByYWRlb25fZ2VtX3VzZXJwdHJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdm9pZCAqZGF0YSwKIAkJCSAgICAgc3RydWN0IGRybV9maWxlICpmaWxwKTsKK2ludCByYWRl b25fZ2VtX3dhaXRfdXNlcmZlbmNlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCisJCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlscCk7CiBpbnQgcmFkZW9uX2dlbV9w aW5faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCSBzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGVfcHJpdik7CiBpbnQgcmFkZW9uX2dlbV91bnBpbl9pb2N0bChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9nZW0u YwppbmRleCBhYzNjMTMxLi4wOTRiM2Q1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9nZW0u YwpAQCAtMzY1LDYgKzM2NSw3NyBAQCBoYW5kbGVfbG9ja3VwOgogCXJldHVybiByOwogfQogCitp bnQgcmFkZW9uX2dlbV93YWl0X3VzZXJmZW5jZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAorCQkJCSAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbHApCit7CisJc3RydWN0 IHJhZGVvbl9kZXZpY2UgKnJkZXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBkcm1fcmFk ZW9uX2dlbV93YWl0X3VzZXJmZW5jZSAqYXJncyA9IGRhdGE7CisJc3RydWN0IGRybV9nZW1fb2Jq ZWN0ICpnb2JqOworCXN0cnVjdCByYWRlb25fYm8gKnJvYmo7CisJdWludDY0X3QgKmZlbmNlX2Fk ZHI7CisJdm9pZCAqY3B1X2FkZHI7CisJaW50IHIsIHJpbmc7CisKKwlkb3duX3JlYWQoJnJkZXYt PmV4Y2x1c2l2ZV9sb2NrKTsKKworCXJpbmcgPSByYWRlb25fY3NfZ2V0X3JpbmcocmRldiwgYXJn cy0+cmluZywgYXJncy0+cHJpb3JpdHkpOworCWlmIChyaW5nIDwgMCkKKwkJcmV0dXJuIHJpbmc7 CisKKwlnb2JqID0gZHJtX2dlbV9vYmplY3RfbG9va3VwKGRldiwgZmlscCwgYXJncy0+aGFuZGxl KTsKKwlpZiAoZ29iaiA9PSBOVUxMKSB7CisJCXIgPSAtRU5PRU5UOworCQlnb3RvIGVycm9yX3Vu cmVmOworCX0KKwlyb2JqID0gZ2VtX3RvX3JhZGVvbl9ibyhnb2JqKTsKKworCWlmIChhcmdzLT5v ZmZzZXQgJiAweDcgfHwgYXJncy0+b2Zmc2V0ICsgOCA+IHJhZGVvbl9ib19zaXplKHJvYmopKSB7 CisJCXIgPSAtRUlOVkFMOworCQlnb3RvIGVycm9yX3VucmVmOworCX0KKworCXIgPSByYWRlb25f Ym9fcmVzZXJ2ZShyb2JqLCBmYWxzZSk7CisgICAgICAgIGlmIChyKQorCQlnb3RvIGVycm9yX3Vu cmVmOworCisgICAgICAgIHIgPSByYWRlb25fYm9fcGluKHJkZXYtPnV2ZC52Y3B1X2JvLCBSQURF T05fR0VNX0RPTUFJTl9WUkFNIHwKKwkJUkFERU9OX0dFTV9ET01BSU5fR1RULCBOVUxMKTsKKwlp ZiAocikKKwkJZ290byBlcnJvcl91bnJlc2VydmU7CisKKyAgICAgICAgciA9IHJhZGVvbl9ib19r bWFwKHJvYmosICZjcHVfYWRkcik7CisgICAgICAgIGlmIChyKQorCQlnb3RvIGVycm9yX3VucGlu OworCisgICAgICAgIHJhZGVvbl9ib191bnJlc2VydmUocm9iaik7CisKKwlmZW5jZV9hZGRyID0g KHVpbnQ2NF90ICopKCgodWludDhfdCopY3B1X2FkZHIpICsgYXJncy0+b2Zmc2V0KTsKKworCXJh ZGVvbl9pcnFfa21zX3N3X2lycV9nZXQocmRldiwgcmluZyk7CisJciA9IHdhaXRfZXZlbnRfaW50 ZXJydXB0aWJsZShyZGV2LT5mZW5jZV9xdWV1ZSwgKAorCQkqZmVuY2VfYWRkciA+PSBhcmdzLT5m ZW5jZSB8fCByZGV2LT5uZWVkc19yZXNldAorCSkpOworCXJhZGVvbl9pcnFfa21zX3N3X2lycV9w dXQocmRldiwgcmluZyk7CisKKwlpZiAocmRldi0+bmVlZHNfcmVzZXQpCisJCXIgPSAtRURFQURM SzsKKworCXJhZGVvbl9ib19yZXNlcnZlKHJvYmosIGZhbHNlKTsKKwlyYWRlb25fYm9fa3VubWFw KHJvYmopOworCitlcnJvcl91bnBpbjoKKwlyYWRlb25fYm9fdW5waW4ocm9iaik7CisKK2Vycm9y X3VucmVzZXJ2ZToKKyAgICAgICAgcmFkZW9uX2JvX3VucmVzZXJ2ZShyb2JqKTsKKworZXJyb3Jf dW5yZWY6CisJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2VfdW5sb2NrZWQoZ29iaik7CisJdXBf cmVhZCgmcmRldi0+ZXhjbHVzaXZlX2xvY2spOworCXIgPSByYWRlb25fZ2VtX2hhbmRsZV9sb2Nr dXAocm9iai0+cmRldiwgcik7CisJcmV0dXJuIHI7Cit9CisKIGludCByYWRlb25fZ2VtX3NldF9k b21haW5faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCQlzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbHApCiB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ttcy5jCmluZGV4 IDY4NjQxMWUuLjQ3NTdmMjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2ttcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ttcy5jCkBAIC04 OTMsNSArODkzLDYgQEAgY29uc3Qgc3RydWN0IGRybV9pb2N0bF9kZXNjIHJhZGVvbl9pb2N0bHNf a21zW10gPSB7CiAJRFJNX0lPQ1RMX0RFRl9EUlYoUkFERU9OX0dFTV9WQSwgcmFkZW9uX2dlbV92 YV9pb2N0bCwgRFJNX0FVVEh8RFJNX1VOTE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAogCURSTV9J T0NUTF9ERUZfRFJWKFJBREVPTl9HRU1fT1AsIHJhZGVvbl9nZW1fb3BfaW9jdGwsIERSTV9BVVRI fERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKIAlEUk1fSU9DVExfREVGX0RSVihSQURF T05fR0VNX1VTRVJQVFIsIHJhZGVvbl9nZW1fdXNlcnB0cl9pb2N0bCwgRFJNX0FVVEh8RFJNX1VO TE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAorCURSTV9JT0NUTF9ERUZfRFJWKFJBREVPTl9HRU1f V0FJVF9VU0VSRkVOQ0UsIHJhZGVvbl9nZW1fd2FpdF91c2VyZmVuY2VfaW9jdGwsIERSTV9BVVRI fERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKIH07CiBpbnQgcmFkZW9uX21heF9rbXNf aW9jdGwgPSBBUlJBWV9TSVpFKHJhZGVvbl9pb2N0bHNfa21zKTsKZGlmZiAtLWdpdCBhL2luY2x1 ZGUvdWFwaS9kcm0vcmFkZW9uX2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS9yYWRlb25fZHJtLmgK aW5kZXggNTBkMGZiNC4uNDNmZTY2MCAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2RybS9yYWRl b25fZHJtLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9yYWRlb25fZHJtLmgKQEAgLTUxMiw2ICs1 MTIsNyBAQCB0eXBlZGVmIHN0cnVjdCB7CiAjZGVmaW5lIERSTV9SQURFT05fR0VNX1ZBCQkweDJi CiAjZGVmaW5lIERSTV9SQURFT05fR0VNX09QCQkweDJjCiAjZGVmaW5lIERSTV9SQURFT05fR0VN X1VTRVJQVFIJCTB4MmQKKyNkZWZpbmUgRFJNX1JBREVPTl9HRU1fV0FJVF9VU0VSRkVOQ0UJMHgy ZQogCiAjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fQ1BfSU5JVCAgICBEUk1fSU9XKCBEUk1fQ09N TUFORF9CQVNFICsgRFJNX1JBREVPTl9DUF9JTklULCBkcm1fcmFkZW9uX2luaXRfdCkKICNkZWZp bmUgRFJNX0lPQ1RMX1JBREVPTl9DUF9TVEFSVCAgIERSTV9JTyggIERSTV9DT01NQU5EX0JBU0Ug KyBEUk1fUkFERU9OX0NQX1NUQVJUKQpAQCAtNTQxLDIxICs1NDIsMjIgQEAgdHlwZWRlZiBzdHJ1 Y3QgewogI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX1NVUkZfQUxMT0MgRFJNX0lPVyggRFJNX0NP TU1BTkRfQkFTRSArIERSTV9SQURFT05fU1VSRl9BTExPQywgZHJtX3JhZGVvbl9zdXJmYWNlX2Fs bG9jX3QpCiAjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fU1VSRl9GUkVFICBEUk1fSU9XKCBEUk1f Q09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9TVVJGX0ZSRUUsIGRybV9yYWRlb25fc3VyZmFjZV9m cmVlX3QpCiAvKiBLTVMgKi8KLSNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9HRU1fSU5GTwlEUk1f SU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9HRU1fSU5GTywgc3RydWN0IGRybV9y YWRlb25fZ2VtX2luZm8pCi0jZGVmaW5lIERSTV9JT0NUTF9SQURFT05fR0VNX0NSRUFURQlEUk1f SU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9HRU1fQ1JFQVRFLCBzdHJ1Y3QgZHJt X3JhZGVvbl9nZW1fY3JlYXRlKQotI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0dFTV9NTUFQCURS TV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0dFTV9NTUFQLCBzdHJ1Y3QgZHJt X3JhZGVvbl9nZW1fbW1hcCkKLSNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9HRU1fUFJFQUQJRFJN X0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fR0VNX1BSRUFELCBzdHJ1Y3QgZHJt X3JhZGVvbl9nZW1fcHJlYWQpCi0jZGVmaW5lIERSTV9JT0NUTF9SQURFT05fR0VNX1BXUklURQlE Uk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9HRU1fUFdSSVRFLCBzdHJ1Y3Qg ZHJtX3JhZGVvbl9nZW1fcHdyaXRlKQotI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0dFTV9TRVRf RE9NQUlOCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0dFTV9TRVRfRE9N QUlOLCBzdHJ1Y3QgZHJtX3JhZGVvbl9nZW1fc2V0X2RvbWFpbikKLSNkZWZpbmUgRFJNX0lPQ1RM X1JBREVPTl9HRU1fV0FJVF9JRExFCURSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURF T05fR0VNX1dBSVRfSURMRSwgc3RydWN0IGRybV9yYWRlb25fZ2VtX3dhaXRfaWRsZSkKLSNkZWZp bmUgRFJNX0lPQ1RMX1JBREVPTl9DUwkJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9S QURFT05fQ1MsIHN0cnVjdCBkcm1fcmFkZW9uX2NzKQotI2RlZmluZSBEUk1fSU9DVExfUkFERU9O X0lORk8JCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0lORk8sIHN0cnVj dCBkcm1fcmFkZW9uX2luZm8pCi0jZGVmaW5lIERSTV9JT0NUTF9SQURFT05fR0VNX1NFVF9USUxJ TkcJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fR0VNX1NFVF9USUxJTkcs IHN0cnVjdCBkcm1fcmFkZW9uX2dlbV9zZXRfdGlsaW5nKQotI2RlZmluZSBEUk1fSU9DVExfUkFE RU9OX0dFTV9HRVRfVElMSU5HCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9O X0dFTV9HRVRfVElMSU5HLCBzdHJ1Y3QgZHJtX3JhZGVvbl9nZW1fZ2V0X3RpbGluZykKLSNkZWZp bmUgRFJNX0lPQ1RMX1JBREVPTl9HRU1fQlVTWQlEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsg RFJNX1JBREVPTl9HRU1fQlVTWSwgc3RydWN0IGRybV9yYWRlb25fZ2VtX2J1c3kpCi0jZGVmaW5l IERSTV9JT0NUTF9SQURFT05fR0VNX1ZBCQlEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJN X1JBREVPTl9HRU1fVkEsIHN0cnVjdCBkcm1fcmFkZW9uX2dlbV92YSkKLSNkZWZpbmUgRFJNX0lP Q1RMX1JBREVPTl9HRU1fT1AJCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9O X0dFTV9PUCwgc3RydWN0IGRybV9yYWRlb25fZ2VtX29wKQotI2RlZmluZSBEUk1fSU9DVExfUkFE RU9OX0dFTV9VU0VSUFRSCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0dF TV9VU0VSUFRSLCBzdHJ1Y3QgZHJtX3JhZGVvbl9nZW1fdXNlcnB0cikKKyNkZWZpbmUgRFJNX0lP Q1RMX1JBREVPTl9HRU1fSU5GTwkJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURF T05fR0VNX0lORk8sIHN0cnVjdCBkcm1fcmFkZW9uX2dlbV9pbmZvKQorI2RlZmluZSBEUk1fSU9D VExfUkFERU9OX0dFTV9DUkVBVEUJCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFE RU9OX0dFTV9DUkVBVEUsIHN0cnVjdCBkcm1fcmFkZW9uX2dlbV9jcmVhdGUpCisjZGVmaW5lIERS TV9JT0NUTF9SQURFT05fR0VNX01NQVAJCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1f UkFERU9OX0dFTV9NTUFQLCBzdHJ1Y3QgZHJtX3JhZGVvbl9nZW1fbW1hcCkKKyNkZWZpbmUgRFJN X0lPQ1RMX1JBREVPTl9HRU1fUFJFQUQJCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1f UkFERU9OX0dFTV9QUkVBRCwgc3RydWN0IGRybV9yYWRlb25fZ2VtX3ByZWFkKQorI2RlZmluZSBE Uk1fSU9DVExfUkFERU9OX0dFTV9QV1JJVEUJCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBE Uk1fUkFERU9OX0dFTV9QV1JJVEUsIHN0cnVjdCBkcm1fcmFkZW9uX2dlbV9wd3JpdGUpCisjZGVm aW5lIERSTV9JT0NUTF9SQURFT05fR0VNX1NFVF9ET01BSU4JCURSTV9JT1dSKERSTV9DT01NQU5E X0JBU0UgKyBEUk1fUkFERU9OX0dFTV9TRVRfRE9NQUlOLCBzdHJ1Y3QgZHJtX3JhZGVvbl9nZW1f c2V0X2RvbWFpbikKKyNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9HRU1fV0FJVF9JRExFCQlEUk1f SU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0dFTV9XQUlUX0lETEUsIHN0cnVjdCBk cm1fcmFkZW9uX2dlbV93YWl0X2lkbGUpCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fQ1MJCQlE Uk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9DUywgc3RydWN0IGRybV9yYWRl b25fY3MpCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fSU5GTwkJCURSTV9JT1dSKERSTV9DT01N QU5EX0JBU0UgKyBEUk1fUkFERU9OX0lORk8sIHN0cnVjdCBkcm1fcmFkZW9uX2luZm8pCisjZGVm aW5lIERSTV9JT0NUTF9SQURFT05fR0VNX1NFVF9USUxJTkcJCURSTV9JT1dSKERSTV9DT01NQU5E X0JBU0UgKyBEUk1fUkFERU9OX0dFTV9TRVRfVElMSU5HLCBzdHJ1Y3QgZHJtX3JhZGVvbl9nZW1f c2V0X3RpbGluZykKKyNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9HRU1fR0VUX1RJTElORwkJRFJN X0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fR0VNX0dFVF9USUxJTkcsIHN0cnVj dCBkcm1fcmFkZW9uX2dlbV9nZXRfdGlsaW5nKQorI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0dF TV9CVVNZCQlEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9HRU1fQlVTWSwg c3RydWN0IGRybV9yYWRlb25fZ2VtX2J1c3kpCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fR0VN X1ZBCQkJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fR0VNX1ZBLCBzdHJ1 Y3QgZHJtX3JhZGVvbl9nZW1fdmEpCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fR0VNX09QCQkJ RFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fR0VNX09QLCBzdHJ1Y3QgZHJt X3JhZGVvbl9nZW1fb3ApCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fR0VNX1VTRVJQVFIJCURS TV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0dFTV9VU0VSUFRSLCBzdHJ1Y3Qg ZHJtX3JhZGVvbl9nZW1fdXNlcnB0cikKKyNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9HRU1fV0FJ VF9VU0VSRkVOQ0UJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fR0VNX1dB SVRfVVNFUkZFTkNFLCBzdHJ1Y3QgZHJtX3JhZGVvbl9nZW1fd2FpdF91c2VyZmVuY2UpCiAKIHR5 cGVkZWYgc3RydWN0IGRybV9yYWRlb25faW5pdCB7CiAJZW51bSB7CkBAIC04MzEsNiArODMzLDE1 IEBAIHN0cnVjdCBkcm1fcmFkZW9uX2dlbV91c2VycHRyIHsKIAl1aW50MzJfdAkJaGFuZGxlOwog fTsKIAorc3RydWN0IGRybV9yYWRlb25fZ2VtX3dhaXRfdXNlcmZlbmNlIHsKKwl1aW50MzJfdAlo YW5kbGU7CisJdWludDMyX3QJb2Zmc2V0OworCXVpbnQ2NF90CWZlbmNlOworCXVpbnQzMl90CXJp bmc7CisJaW50MzJfdAkJcHJpb3JpdHk7CisJdWludDMyX3QJZmxhZ3M7Cit9OworCiAjZGVmaW5l IFJBREVPTl9USUxJTkdfTUFDUk8JCQkJMHgxCiAjZGVmaW5lIFJBREVPTl9USUxJTkdfTUlDUk8J CQkJMHgyCiAjZGVmaW5lIFJBREVPTl9USUxJTkdfU1dBUF8xNkJJVAkJCTB4NAotLSAKMS45LjEK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==