From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Subject: [PATCH v4 12/19] drm/bochs: Convert bochs driver to VRAM MM Date: Mon, 6 May 2019 10:26:42 +0200 Message-ID: <20190506082649.942-13-tzimmermann@suse.de> References: <20190506082649.942-1-tzimmermann@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 87741896E4 for ; Mon, 6 May 2019 08:27:00 +0000 (UTC) In-Reply-To: <20190506082649.942-1-tzimmermann@suse.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: daniel@ffwll.ch, airlied@linux.ie, kraxel@redhat.com, christian.koenig@amd.com, ray.huang@amd.com, hdegoede@redhat.com, noralf@tronnes.org, sam@ravnborg.org, z.liuxinliang@hisilicon.com, zourongrong@gmail.com, kong.kongxinwei@hisilicon.com, puck.chen@hisilicon.com Cc: Thomas Zimmermann , dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org List-Id: dri-devel@lists.freedesktop.org VGhlIGRhdGEgc3RydWN0dXJlIHxzdHJ1Y3QgZHJtX3ZyYW1fbW18IGFuZCBpdHMgaGVscGVycyBy ZXBsYWNlIGJvY2hzJwpUVE0tYmFzZWQgbWVtb3J5IG1hbmFnZXIuIEl0J3MgdGhlIHNhbWUgaW1w bGVtZW50YXRpb247IGV4Y2VwdCBmb3IgdGhlCnR5cGUgbmFtZXMuCgp2NDoKCSogZG9uJ3Qgc2Vs ZWN0IERSTV9UVE0gb3IgRFJNX1ZSQU1fTU1fSEVMUEVSCnYzOgoJKiB1c2UgZHJtX2dlbV92cmFt X21tX2Z1bmNzCgkqIGNvbnZlcnQgZHJpdmVyIHRvIGRybV9kZXZpY2UtYmFzZWQgaW5zdGFuY2UK djI6CgkqIGltcGxlbWVudCBib2Noc19tbWFwKCkgd2l0aCBkcm1fdnJhbV9tbV9tbWFwKCkKClNp Z25lZC1vZmYtYnk6IFRob21hcyBaaW1tZXJtYW5uIDx0emltbWVybWFubkBzdXNlLmRlPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9ib2Nocy9LY29uZmlnICAgICB8ICAgMSAtCiBkcml2ZXJzL2dwdS9k cm0vYm9jaHMvYm9jaHMuaCAgICAgfCAgMTMgKy0tCiBkcml2ZXJzL2dwdS9kcm0vYm9jaHMvYm9j aHNfZHJ2LmMgfCAgMTQgKy0tCiBkcml2ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHNfbW0uYyAgfCAx NDggKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDEyIGlu c2VydGlvbnMoKyksIDE2NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYm9jaHMvS2NvbmZpZyBiL2RyaXZlcnMvZ3B1L2RybS9ib2Nocy9LY29uZmlnCmluZGV4IDRj YmNmZjllMmViOC4uZTFmNmFlOWRkMDQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYm9j aHMvS2NvbmZpZworKysgYi9kcml2ZXJzL2dwdS9kcm0vYm9jaHMvS2NvbmZpZwpAQCAtMiw3ICsy LDYgQEAgY29uZmlnIERSTV9CT0NIUwogCXRyaXN0YXRlICJEUk0gU3VwcG9ydCBmb3IgYm9jaHMg ZGlzcGkgdmdhIGludGVyZmFjZSAocWVtdSBzdGR2Z2EpIgogCWRlcGVuZHMgb24gRFJNICYmIFBD SSAmJiBNTVUKIAlzZWxlY3QgRFJNX0tNU19IRUxQRVIKLQlzZWxlY3QgRFJNX1RUTQogCXNlbGVj dCBEUk1fVlJBTV9IRUxQRVIKIAloZWxwCiAJICBDaG9vc2UgdGhpcyBvcHRpb24gZm9yIHFlbXUu CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHMuaCBiL2RyaXZlcnMvZ3B1 L2RybS9ib2Nocy9ib2Nocy5oCmluZGV4IDRjY2Y4MmUxY2E2OC4uMzIzZGNjYTI1NmEzIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHMuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vYm9jaHMvYm9jaHMuaApAQCAtMTIsOCArMTIsNyBAQAogI2luY2x1ZGUgPGRybS9kcm1fZ2Vt Lmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9nZW1fdnJhbV9oZWxwZXIuaD4KIAotI2luY2x1ZGUgPGRy bS90dG0vdHRtX2JvX2RyaXZlci5oPgotI2luY2x1ZGUgPGRybS90dG0vdHRtX3BhZ2VfYWxsb2Mu aD4KKyNpbmNsdWRlIDxkcm0vZHJtX3ZyYW1fbW1faGVscGVyLmg+CiAKIC8qIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0gKi8KIApAQCAtNzQsMTIgKzczLDYgQEAgc3RydWN0IGJvY2hzX2RldmljZSB7CiAJc3RydWN0 IGRybV9kZXZpY2UgKmRldjsKIAlzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgcGlwZTsK IAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciBjb25uZWN0b3I7Ci0KLQkvKiB0dG0gKi8KLQlzdHJ1Y3Qg ewotCQlzdHJ1Y3QgdHRtX2JvX2RldmljZSBiZGV2OwotCQlib29sIGluaXRpYWxpemVkOwotCX0g dHRtOwogfTsKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpAQCAtOTksMTAgKzkyLDYgQEAgaW50IGJv Y2hzX2h3X2xvYWRfZWRpZChzdHJ1Y3QgYm9jaHNfZGV2aWNlICpib2Nocyk7CiAvKiBib2Noc19t bS5jICovCiBpbnQgYm9jaHNfbW1faW5pdChzdHJ1Y3QgYm9jaHNfZGV2aWNlICpib2Nocyk7CiB2 b2lkIGJvY2hzX21tX2Zpbmkoc3RydWN0IGJvY2hzX2RldmljZSAqYm9jaHMpOwotaW50IGJvY2hz X21tYXAoc3RydWN0IGZpbGUgKmZpbHAsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKLQot aW50IGJvY2hzX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwgc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKLQkJICAgICAgc3RydWN0IGRybV9tb2RlX2NyZWF0ZV9kdW1iICphcmdzKTsK IAogaW50IGJvY2hzX2dlbV9wcmltZV9waW4oc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwog dm9pZCBib2Noc19nZW1fcHJpbWVfdW5waW4oc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzX2Rydi5jIGIvZHJpdmVycy9n cHUvZHJtL2JvY2hzL2JvY2hzX2Rydi5jCmluZGV4IDA0ZmVkNDFkNmMwMC4uZjNiYjVmYmEzMGJm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHNfZHJ2LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzX2Rydi5jCkBAIC02MywxNCArNjMsOCBAQCBzdGF0aWMg aW50IGJvY2hzX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAogc3RhdGljIGNvbnN0IHN0 cnVjdCBmaWxlX29wZXJhdGlvbnMgYm9jaHNfZm9wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RV TEUsCi0JLm9wZW4JCT0gZHJtX29wZW4sCi0JLnJlbGVhc2UJPSBkcm1fcmVsZWFzZSwKLQkudW5s b2NrZWRfaW9jdGwJPSBkcm1faW9jdGwsCi0JLmNvbXBhdF9pb2N0bAk9IGRybV9jb21wYXRfaW9j dGwsCi0JLnBvbGwJCT0gZHJtX3BvbGwsCi0JLnJlYWQJCT0gZHJtX3JlYWQsCiAJLmxsc2VlawkJ PSBub19sbHNlZWssCi0JLm1tYXAgICAgICAgICAgID0gYm9jaHNfbW1hcCwKKwlEUk1fVlJBTV9N TV9GSUxFX09QRVJBVElPTlMKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciBib2Noc19k cml2ZXIgPSB7CkBAIC04MiwxMCArNzYsOCBAQCBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgYm9j aHNfZHJpdmVyID0gewogCS5kYXRlCQkJPSAiMjAxMzA5MjUiLAogCS5tYWpvcgkJCT0gMSwKIAku bWlub3IJCQk9IDAsCi0JLmdlbV9mcmVlX29iamVjdF91bmxvY2tlZCA9Ci0JCWRybV9nZW1fdnJh bV9kcml2ZXJfZ2VtX2ZyZWVfb2JqZWN0X3VubG9ja2VkLAotCS5kdW1iX2NyZWF0ZSAgICAgICAg ICAgID0gYm9jaHNfZHVtYl9jcmVhdGUsCi0JLmR1bWJfbWFwX29mZnNldCAgICAgICAgPSBkcm1f Z2VtX3ZyYW1fZHJpdmVyX2R1bWJfbW1hcF9vZmZzZXQsCisKKwlEUk1fR0VNX1ZSQU1fRFJJVkVS LAogCiAJLmdlbV9wcmltZV9leHBvcnQgPSBkcm1fZ2VtX3ByaW1lX2V4cG9ydCwKIAkuZ2VtX3By aW1lX2ltcG9ydCA9IGRybV9nZW1fcHJpbWVfaW1wb3J0LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2JvY2hzL2JvY2hzX21tLmMgYi9kcml2ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHNfbW0u YwppbmRleCA4NjA2MjgwNGU1NGYuLmU1ZGUwZTFhNGFjZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2JvY2hzL2JvY2hzX21tLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hz X21tLmMKQEAgLTksMTU3ICs5LDI1IEBACiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAotc3RhdGlj IGlubGluZSBzdHJ1Y3QgYm9jaHNfZGV2aWNlICpib2Noc19iZGV2KHN0cnVjdCB0dG1fYm9fZGV2 aWNlICpiZCkKLXsKLQlyZXR1cm4gY29udGFpbmVyX29mKGJkLCBzdHJ1Y3QgYm9jaHNfZGV2aWNl LCB0dG0uYmRldik7Ci19Ci0KLXN0YXRpYyBpbnQgYm9jaHNfYm9faW5pdF9tZW1fdHlwZShzdHJ1 Y3QgdHRtX2JvX2RldmljZSAqYmRldiwgdWludDMyX3QgdHlwZSwKLQkJCQkgIHN0cnVjdCB0dG1f bWVtX3R5cGVfbWFuYWdlciAqbWFuKQotewotCXN3aXRjaCAodHlwZSkgewotCWNhc2UgVFRNX1BM X1NZU1RFTToKLQkJbWFuLT5mbGFncyA9IFRUTV9NRU1UWVBFX0ZMQUdfTUFQUEFCTEU7Ci0JCW1h bi0+YXZhaWxhYmxlX2NhY2hpbmcgPSBUVE1fUExfTUFTS19DQUNISU5HOwotCQltYW4tPmRlZmF1 bHRfY2FjaGluZyA9IFRUTV9QTF9GTEFHX0NBQ0hFRDsKLQkJYnJlYWs7Ci0JY2FzZSBUVE1fUExf VlJBTToKLQkJbWFuLT5mdW5jID0gJnR0bV9ib19tYW5hZ2VyX2Z1bmM7Ci0JCW1hbi0+ZmxhZ3Mg PSBUVE1fTUVNVFlQRV9GTEFHX0ZJWEVEIHwKLQkJCVRUTV9NRU1UWVBFX0ZMQUdfTUFQUEFCTEU7 Ci0JCW1hbi0+YXZhaWxhYmxlX2NhY2hpbmcgPSBUVE1fUExfRkxBR19VTkNBQ0hFRCB8Ci0JCQlU VE1fUExfRkxBR19XQzsKLQkJbWFuLT5kZWZhdWx0X2NhY2hpbmcgPSBUVE1fUExfRkxBR19XQzsK LQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJRFJNX0VSUk9SKCJVbnN1cHBvcnRlZCBtZW1vcnkgdHlw ZSAldVxuIiwgKHVuc2lnbmVkKXR5cGUpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0JcmV0dXJu IDA7Ci19Ci0KLXN0YXRpYyBpbnQgYm9jaHNfdHRtX2lvX21lbV9yZXNlcnZlKHN0cnVjdCB0dG1f Ym9fZGV2aWNlICpiZGV2LAotCQkJCSAgICBzdHJ1Y3QgdHRtX21lbV9yZWcgKm1lbSkKLXsKLQlz dHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9ICZiZGV2LT5tYW5bbWVtLT5tZW1fdHlw ZV07Ci0Jc3RydWN0IGJvY2hzX2RldmljZSAqYm9jaHMgPSBib2Noc19iZGV2KGJkZXYpOwotCi0J bWVtLT5idXMuYWRkciA9IE5VTEw7Ci0JbWVtLT5idXMub2Zmc2V0ID0gMDsKLQltZW0tPmJ1cy5z aXplID0gbWVtLT5udW1fcGFnZXMgPDwgUEFHRV9TSElGVDsKLQltZW0tPmJ1cy5iYXNlID0gMDsK LQltZW0tPmJ1cy5pc19pb21lbSA9IGZhbHNlOwotCWlmICghKG1hbi0+ZmxhZ3MgJiBUVE1fTUVN VFlQRV9GTEFHX01BUFBBQkxFKSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0Jc3dpdGNoIChtZW0tPm1l bV90eXBlKSB7Ci0JY2FzZSBUVE1fUExfU1lTVEVNOgotCQkvKiBzeXN0ZW0gbWVtb3J5ICovCi0J CXJldHVybiAwOwotCWNhc2UgVFRNX1BMX1ZSQU06Ci0JCW1lbS0+YnVzLm9mZnNldCA9IG1lbS0+ c3RhcnQgPDwgUEFHRV9TSElGVDsKLQkJbWVtLT5idXMuYmFzZSA9IGJvY2hzLT5mYl9iYXNlOwot CQltZW0tPmJ1cy5pc19pb21lbSA9IHRydWU7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCXJldHVy biAtRUlOVkFMOwotCQlicmVhazsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGJv Y2hzX3R0bV9pb19tZW1fZnJlZShzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwKLQkJCQkgIHN0 cnVjdCB0dG1fbWVtX3JlZyAqbWVtKQotewotfQotCi1zdGF0aWMgdm9pZCBib2Noc190dG1fYmFj a2VuZF9kZXN0cm95KHN0cnVjdCB0dG1fdHQgKnR0KQotewotCXR0bV90dF9maW5pKHR0KTsKLQlr ZnJlZSh0dCk7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgdHRtX2JhY2tlbmRfZnVuYyBib2Noc190dF9i YWNrZW5kX2Z1bmMgPSB7Ci0JLmRlc3Ryb3kgPSAmYm9jaHNfdHRtX2JhY2tlbmRfZGVzdHJveSwK LX07Ci0KLXN0YXRpYyBzdHJ1Y3QgdHRtX3R0ICpib2Noc190dG1fdHRfY3JlYXRlKHN0cnVjdCB0 dG1fYnVmZmVyX29iamVjdCAqYm8sCi0JCQkJCSAgdWludDMyX3QgcGFnZV9mbGFncykKLXsKLQlz dHJ1Y3QgdHRtX3R0ICp0dDsKLQotCXR0ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHR0bV90dCks IEdGUF9LRVJORUwpOwotCWlmICh0dCA9PSBOVUxMKQotCQlyZXR1cm4gTlVMTDsKLQl0dC0+ZnVu YyA9ICZib2Noc190dF9iYWNrZW5kX2Z1bmM7Ci0JaWYgKHR0bV90dF9pbml0KHR0LCBibywgcGFn ZV9mbGFncykpIHsKLQkJa2ZyZWUodHQpOwotCQlyZXR1cm4gTlVMTDsKLQl9Ci0JcmV0dXJuIHR0 OwotfQotCi1zdGF0aWMgc3RydWN0IHR0bV9ib19kcml2ZXIgYm9jaHNfYm9fZHJpdmVyID0gewot CS50dG1fdHRfY3JlYXRlID0gYm9jaHNfdHRtX3R0X2NyZWF0ZSwKLQkuaW5pdF9tZW1fdHlwZSA9 IGJvY2hzX2JvX2luaXRfbWVtX3R5cGUsCi0JLmV2aWN0aW9uX3ZhbHVhYmxlID0gdHRtX2JvX2V2 aWN0aW9uX3ZhbHVhYmxlLAotCS5ldmljdF9mbGFncyA9IGRybV9nZW1fdnJhbV9ib19kcml2ZXJf ZXZpY3RfZmxhZ3MsCi0JLm1vdmUgPSBOVUxMLAotCS52ZXJpZnlfYWNjZXNzID0gZHJtX2dlbV92 cmFtX2JvX2RyaXZlcl92ZXJpZnlfYWNjZXNzLAotCS5pb19tZW1fcmVzZXJ2ZSA9ICZib2Noc190 dG1faW9fbWVtX3Jlc2VydmUsCi0JLmlvX21lbV9mcmVlID0gJmJvY2hzX3R0bV9pb19tZW1fZnJl ZSwKLX07Ci0KIGludCBib2Noc19tbV9pbml0KHN0cnVjdCBib2Noc19kZXZpY2UgKmJvY2hzKQog ewotCXN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2ID0gJmJvY2hzLT50dG0uYmRldjsKLQlpbnQg cmV0OworCXN0cnVjdCBkcm1fdnJhbV9tbSAqdm1tOwogCi0JcmV0ID0gdHRtX2JvX2RldmljZV9p bml0KCZib2Nocy0+dHRtLmJkZXYsCi0JCQkJICZib2Noc19ib19kcml2ZXIsCi0JCQkJIGJvY2hz LT5kZXYtPmFub25faW5vZGUtPmlfbWFwcGluZywKLQkJCQkgdHJ1ZSk7Ci0JaWYgKHJldCkgewot CQlEUk1fRVJST1IoIkVycm9yIGluaXRpYWxpc2luZyBibyBkcml2ZXI7ICVkXG4iLCByZXQpOwot CQlyZXR1cm4gcmV0OwotCX0KLQotCXJldCA9IHR0bV9ib19pbml0X21tKGJkZXYsIFRUTV9QTF9W UkFNLAotCQkJICAgICBib2Nocy0+ZmJfc2l6ZSA+PiBQQUdFX1NISUZUKTsKLQlpZiAocmV0KSB7 Ci0JCURSTV9FUlJPUigiRmFpbGVkIHR0bSBWUkFNIGluaXQ6ICVkXG4iLCByZXQpOwotCQlyZXR1 cm4gcmV0OwotCX0KKwl2bW0gPSBkcm1fdnJhbV9oZWxwZXJfYWxsb2NfbW0oYm9jaHMtPmRldiwg Ym9jaHMtPmZiX2Jhc2UsCisJCQkJICAgICAgIGJvY2hzLT5mYl9zaXplLAorCQkJCSAgICAgICAm ZHJtX2dlbV92cmFtX21tX2Z1bmNzKTsKKwlpZiAoSVNfRVJSKHZtbSkpCisJCXJldHVybiBQVFJf RVJSKHZtbSk7CiAKLQlib2Nocy0+dHRtLmluaXRpYWxpemVkID0gdHJ1ZTsKIAlyZXR1cm4gMDsK IH0KIAogdm9pZCBib2Noc19tbV9maW5pKHN0cnVjdCBib2Noc19kZXZpY2UgKmJvY2hzKQogewot CWlmICghYm9jaHMtPnR0bS5pbml0aWFsaXplZCkKKwlpZiAoIWJvY2hzLT5kZXYtPnZyYW1fbW0p CiAJCXJldHVybjsKIAotCXR0bV9ib19kZXZpY2VfcmVsZWFzZSgmYm9jaHMtPnR0bS5iZGV2KTsK LQlib2Nocy0+dHRtLmluaXRpYWxpemVkID0gZmFsc2U7Ci19Ci0KLWludCBib2Noc19tbWFwKHN0 cnVjdCBmaWxlICpmaWxwLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKLXsKLQlzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGVfcHJpdiA9IGZpbHAtPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3QgYm9jaHNf ZGV2aWNlICpib2NocyA9IGZpbGVfcHJpdi0+bWlub3ItPmRldi0+ZGV2X3ByaXZhdGU7Ci0KLQly ZXR1cm4gdHRtX2JvX21tYXAoZmlscCwgdm1hLCAmYm9jaHMtPnR0bS5iZGV2KTsKLX0KLQotLyog LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSAqLwotCi1pbnQgYm9jaHNfZHVtYl9jcmVhdGUoc3RydWN0IGRybV9maWxl ICpmaWxlLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQkgICAgICBzdHJ1Y3QgZHJtX21vZGVf Y3JlYXRlX2R1bWIgKmFyZ3MpCi17Ci0Jc3RydWN0IGJvY2hzX2RldmljZSAqYm9jaHMgPSBkZXYt PmRldl9wcml2YXRlOwotCi0JcmV0dXJuIGRybV9nZW1fdnJhbV9maWxsX2NyZWF0ZV9kdW1iKGZp bGUsIGRldiwgJmJvY2hzLT50dG0uYmRldiwgMCwKLQkJCQkJICAgICBmYWxzZSwgYXJncyk7CisJ ZHJtX3ZyYW1faGVscGVyX3JlbGVhc2VfbW0oYm9jaHMtPmRldik7CiB9CiAKIC8qIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0gKi8KLS0gCjIuMjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVs