From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Micha=C5=82=20Winiarski?= Subject: [PATCH v8] drm/i915: Avoid writing relocs with addresses in non-canonical form Date: Tue, 29 Dec 2015 18:14:19 +0100 Message-ID: <1451409259-9492-1-git-send-email-michal.winiarski@intel.com> References: <1451404141-30354-1-git-send-email-michal.winiarski@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 0BBA66E135 for ; Tue, 29 Dec 2015 09:14:30 -0800 (PST) In-Reply-To: <1451404141-30354-1-git-send-email-michal.winiarski@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 QWNjb3JkaW5nIHRvIFBSTSwgc29tZSBwYXJ0cyBvZiBIVyByZXF1aXJlIHRoZSBhZGRyZXNzZXMg dG8gYmUgaW4KYSBjYW5vbmljYWwgZm9ybSwgd2hlcmUgYml0cyBbNjM6NDhdID09IFs0N10uIExl dCdzIGNvbnZlcnQgYWRkcmVzc2VzIHRvCmNhbm9uaWNhbCBmb3JtIHByaW9yIHRvIHJlbG9jYXRp bmcgYW5kIHJldHVybiBjb252ZXJ0ZWQgb2Zmc2V0cyB0bwp1c2Vyc3BhY2UuIFdlIGFsc28gbmVl ZCB0byBtYWtlIHN1cmUgdGhhdCB1c2Vyc3BhY2UgaXMgdXNpbmcgYWRkcmVzc2VzCmluIGNhbm9u aWNhbCBmb3JtIGluIGNhc2Ugb2Ygc29mdHBpbi4KCnYyOiBXaGl0ZXNwYWNlIGZpeHVwLCBnZW44 X2Nhbm9uaWNhbF9hZGRyIGRlc2NyaXB0aW9uIChDaHJpcywgVmlsbGUpCnYzOiBSZWJhc2Ugb24g dG9wIG9mIHNvZnRwaW4sIGZpeCBhIGhvbGUgaW4gcmVsb2NhdGVfZW50cnksCiAgICBzL2V4cGVj dC9yZXF1aXJlIChDaHJpcykKdjQ6IEhhbmRsZSBzb2Z0cGluIGluIHZhbGlkYXRlX2V4ZWNfbGlz dCAoQ2hyaXMpCnY1OiBDb252ZXJ0IGJhY2sgdG8gY2Fub25pY2FsIGZvcm0gYXQgY29weV90b191 c2VyIHRpbWUgKENocmlzKQp2NjogRG9uJ3QgdXNlIHN0cnVjdCBleGVjX29iamVjdDIgaW4gcGxh Y2Ugb2YgZXhlY19vYmplY3QKdjc6IFVzZSBzaWduX2V4dGVuZDY0IGZvciBjb252ZXJ0aW5nIHRv IGNhbm9uaWNhbCBmb3JtIChKb29uYXMpLAogICAgcmVqZWN0IG5vbi1jYW5vbmljYWwgYW5kIG5v bi1wYWdlLWFsaWduZWQgb2Zmc2V0IGZvciBzb2Z0cGluIChDaHJpcykKdjg6IENvbnZlcnQgYmFj ayB0byBub24tY2Fub25pY2FsIGZvcm0gaW4gYSBmdW5jdGlvbiwKICAgIHNwbGl0IHRoZSB0ZXN0 IGZvciBFWEVDX09CSkVDVF9QSU5ORUQgKENocmlzKQoKQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNA Y2hyaXMtd2lsc29uLmNvLnVrPgpDYzogTWljaGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGlu dGVsLmNvbT4KQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5j b20+ClNpZ25lZC1vZmYtYnk6IE1pY2hhxYIgV2luaWFyc2tpIDxtaWNoYWwud2luaWFyc2tpQGlu dGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMg fCA1MyArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCA0OSBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2V4ZWNidWZmZXIuYwppbmRleCA1ZDAxZWE2Li45N2ZiOWFmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0yNDksNiArMjQ5LDMxIEBAIHN0YXRp YyBpbmxpbmUgaW50IHVzZV9jcHVfcmVsb2Moc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aikKIAkJb2JqLT5jYWNoZV9sZXZlbCAhPSBJOTE1X0NBQ0hFX05PTkUpOwogfQogCisvKiBVc2Vk IHRvIGNvbnZlcnQgYW55IGFkZHJlc3MgdG8gY2Fub25pY2FsIGZvcm0uCisgKiBTdGFydGluZyBm cm9tIGdlbjgsIHNvbWUgY29tbWFuZHMgKGUuZy4gU1RBVEVfQkFTRV9BRERSRVNTLAorICogTUlf TE9BRF9SRUdJU1RFUl9NRU0gYW5kIG90aGVycywgc2VlIEJyb2Fkd2VsbCBQUk0gVm9sMmEpIHJl cXVpcmUgdGhlCisgKiBhZGRyZXNzZXMgdG8gYmUgaW4gYSBjYW5vbmljYWwgZm9ybToKKyAqICJH cmFwaGljc0FkZHJlc3NbNjM6NDhdIGFyZSBpZ25vcmVkIGJ5IHRoZSBIVyBhbmQgYXNzdW1lZCB0 byBiZSBpbiBjb3JyZWN0CisgKiBjYW5vbmljYWwgZm9ybSBbNjM6NDhdID09IFs0N10uIgorICov CisjZGVmaW5lIEdFTjhfSElHSF9BRERSRVNTX0JJVCA0Nworc3RhdGljIGlubGluZSB1aW50NjRf dCBnZW44X2Nhbm9uaWNhbF9hZGRyKHVpbnQ2NF90IGFkZHJlc3MpCit7CisJcmV0dXJuIHNpZ25f ZXh0ZW5kNjQoYWRkcmVzcywgR0VOOF9ISUdIX0FERFJFU1NfQklUKTsKK30KKworc3RhdGljIGlu bGluZSB1aW50NjRfdCBnZW44X25vbmNhbm9uaWNhbF9hZGRyKHVpbnQ2NF90IGFkZHJlc3MpCit7 CisJcmV0dXJuIGFkZHJlc3MgJiAoKDFVTEwgPDwgKEdFTjhfSElHSF9BRERSRVNTX0JJVCArIDEp KSAtIDEpOworfQorCitzdGF0aWMgaW5saW5lIHVpbnQ2NF90CityZWxvY2F0aW9uX3RhcmdldChz dHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlbG9jYXRpb25fZW50cnkgKnJlbG9jLAorCQkgIHVpbnQ2NF90 IHRhcmdldF9vZmZzZXQpCit7CisJcmV0dXJuIGdlbjhfY2Fub25pY2FsX2FkZHIoKGludClyZWxv Yy0+ZGVsdGEgKyB0YXJnZXRfb2Zmc2V0KTsKK30KKwogc3RhdGljIGludAogcmVsb2NhdGVfZW50 cnlfY3B1KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCSAgIHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVsb2NhdGlvbl9lbnRyeSAqcmVsb2MsCkBAIC0yNTYsNyArMjgxLDcgQEAgcmVs b2NhdGVfZW50cnlfY3B1KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiB7CiAJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IG9iai0+YmFzZS5kZXY7CiAJdWludDMyX3QgcGFnZV9vZmZz ZXQgPSBvZmZzZXRfaW5fcGFnZShyZWxvYy0+b2Zmc2V0KTsKLQl1aW50NjRfdCBkZWx0YSA9IHJl bG9jLT5kZWx0YSArIHRhcmdldF9vZmZzZXQ7CisJdWludDY0X3QgZGVsdGEgPSByZWxvY2F0aW9u X3RhcmdldChyZWxvYywgdGFyZ2V0X29mZnNldCk7CiAJY2hhciAqdmFkZHI7CiAJaW50IHJldDsK IApAQCAtMjkyLDcgKzMxNyw3IEBAIHJlbG9jYXRlX2VudHJ5X2d0dChzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqLAogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvYmotPmJhc2Uu ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7Ci0JdWludDY0X3QgZGVsdGEgPSByZWxvYy0+ZGVsdGEgKyB0YXJnZXRfb2Zmc2V0OworCXVp bnQ2NF90IGRlbHRhID0gcmVsb2NhdGlvbl90YXJnZXQocmVsb2MsIHRhcmdldF9vZmZzZXQpOwog CXVpbnQ2NF90IG9mZnNldDsKIAl2b2lkIF9faW9tZW0gKnJlbG9jX3BhZ2U7CiAJaW50IHJldDsK QEAgLTM0Nyw3ICszNzIsNyBAQCByZWxvY2F0ZV9lbnRyeV9jbGZsdXNoKHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmosCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG9iai0+YmFz ZS5kZXY7CiAJdWludDMyX3QgcGFnZV9vZmZzZXQgPSBvZmZzZXRfaW5fcGFnZShyZWxvYy0+b2Zm c2V0KTsKLQl1aW50NjRfdCBkZWx0YSA9IChpbnQpcmVsb2MtPmRlbHRhICsgdGFyZ2V0X29mZnNl dDsKKwl1aW50NjRfdCBkZWx0YSA9IHJlbG9jYXRpb25fdGFyZ2V0KHJlbG9jLCB0YXJnZXRfb2Zm c2V0KTsKIAljaGFyICp2YWRkcjsKIAlpbnQgcmV0OwogCkBAIC0zOTUsNyArNDIwLDcgQEAgaTkx NV9nZW1fZXhlY2J1ZmZlcl9yZWxvY2F0ZV9lbnRyeShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqLAogCXRhcmdldF9pOTE1X29iaiA9IHRhcmdldF92bWEtPm9iajsKIAl0YXJnZXRfb2Jq ID0gJnRhcmdldF92bWEtPm9iai0+YmFzZTsKIAotCXRhcmdldF9vZmZzZXQgPSB0YXJnZXRfdm1h LT5ub2RlLnN0YXJ0OworCXRhcmdldF9vZmZzZXQgPSBnZW44X2Nhbm9uaWNhbF9hZGRyKHRhcmdl dF92bWEtPm5vZGUuc3RhcnQpOwogCiAJLyogU2FuZHlicmlkZ2UgUFBHVFQgZXJyYXRhOiBXZSBu ZWVkIGEgZ2xvYmFsIGd0dCBtYXBwaW5nIGZvciBNSSBhbmQKIAkgKiBwaXBlX2NvbnRyb2wgd3Jp dGVzIGJlY2F1c2UgdGhlIGdwdSBkb2Vzbid0IHByb3Blcmx5IHJlZGlyZWN0IHRoZW0KQEAgLTk5 NCw2ICsxMDE5LDIyIEBAIHZhbGlkYXRlX2V4ZWNfbGlzdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAogCQlpZiAoZXhlY1tpXS5mbGFncyAmIGludmFsaWRfZmxhZ3MpCiAJCQlyZXR1cm4gLUVJTlZB TDsKIAorCQkvKiBPZmZzZXQgY2FuIGJlIHVzZWQgYXMgaW5wdXQgKEVYRUNfT0JKRUNUX1BJTk5F RCksIHJlamVjdAorCQkgKiBhbnkgbm9uLXBhZ2UtYWxpZ25lZCBvciBub24tY2Fub25pYWwgYWRk cmVzc2VzLgorCQkgKi8KKwkJaWYgKGV4ZWNbaV0uZmxhZ3MgJiBFWEVDX09CSkVDVF9QSU5ORUQp IHsKKwkJCWlmIChleGVjW2ldLm9mZnNldCAhPQorCQkJICAgIGdlbjhfY2Fub25pY2FsX2FkZHIo ZXhlY1tpXS5vZmZzZXQgJiBQQUdFX01BU0spKQorCQkJCXJldHVybiAtRUlOVkFMOworCisJCQkv KiBGcm9tIGRybV9tbSBwZXJzcGVjdGl2ZSBhZGRyZXNzIHNwYWNlIGlzIGNvbnRpbnVvdXMsCisJ CQkgKiBzbyBmcm9tIHRoaXMgcG9pbnQgd2UncmUgYWx3YXlzIHVzaW5nIG5vbi1jYW5vbmljYWwK KwkJCSAqIGZvcm0gaW50ZXJuYWxseS4KKwkJCSAqLworCQkJZXhlY1tpXS5vZmZzZXQgPSBnZW44 X25vbmNhbm9uaWNhbF9hZGRyKGV4ZWNbaV0ub2Zmc2V0KTsKKwkJfQorCisKIAkJaWYgKGV4ZWNb aV0uYWxpZ25tZW50ICYmICFpc19wb3dlcl9vZl8yKGV4ZWNbaV0uYWxpZ25tZW50KSkKIAkJCXJl dHVybiAtRUlOVkFMOwogCkBAIC0xNjg3LDYgKzE3MjgsOCBAQCBpOTE1X2dlbV9leGVjYnVmZmVy KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAKIAkJLyogQ29weSB0aGUgbmV3 IGJ1ZmZlciBvZmZzZXRzIGJhY2sgdG8gdGhlIHVzZXIncyBleGVjIGxpc3QuICovCiAJCWZvciAo aSA9IDA7IGkgPCBhcmdzLT5idWZmZXJfY291bnQ7IGkrKykgeworCQkJZXhlYzJfbGlzdFtpXS5v ZmZzZXQgPQorCQkJCWdlbjhfY2Fub25pY2FsX2FkZHIoZXhlYzJfbGlzdFtpXS5vZmZzZXQpOwog CQkJcmV0ID0gX19jb3B5X3RvX3VzZXIoJnVzZXJfZXhlY19saXN0W2ldLm9mZnNldCwKIAkJCQkJ ICAgICAmZXhlYzJfbGlzdFtpXS5vZmZzZXQsCiAJCQkJCSAgICAgc2l6ZW9mKHVzZXJfZXhlY19s aXN0W2ldLm9mZnNldCkpOwpAQCAtMTc1Miw2ICsxNzk1LDggQEAgaTkxNV9nZW1fZXhlY2J1ZmZl cjIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJaW50IGk7CiAKIAkJZm9y IChpID0gMDsgaSA8IGFyZ3MtPmJ1ZmZlcl9jb3VudDsgaSsrKSB7CisJCQlleGVjMl9saXN0W2ld Lm9mZnNldCA9CisJCQkJZ2VuOF9jYW5vbmljYWxfYWRkcihleGVjMl9saXN0W2ldLm9mZnNldCk7 CiAJCQlyZXQgPSBfX2NvcHlfdG9fdXNlcigmdXNlcl9leGVjX2xpc3RbaV0ub2Zmc2V0LAogCQkJ CQkgICAgICZleGVjMl9saXN0W2ldLm9mZnNldCwKIAkJCQkJICAgICBzaXplb2YodXNlcl9leGVj X2xpc3RbaV0ub2Zmc2V0KSk7Ci0tIAoyLjUuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK