From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 1/8] x86/early-quirks: Extend Intel graphics stolen memory placement to 64bit Date: Fri, 24 Nov 2017 16:42:50 +0000 Message-ID: <20171124164257.29955-2-matthew.auld@intel.com> References: <20171124164257.29955-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1B9556E5C4 for ; Fri, 24 Nov 2017 16:43:01 +0000 (UTC) In-Reply-To: <20171124164257.29955-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 Cc: x86@kernel.org, Paulo Zanoni , "H . Peter Anvin" , Ingo Molnar List-Id: intel-gfx@lists.freedesktop.org RnJvbTogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgoK SW4gcHJlcGFyYXRpb24gZm9yIHVwY29taW5nIFNLVXMsIGFsbG93IG1vcmUgZnJlZWRvbSBpbiBw bGFjZW1lbnQKb2YgdGhlIEludGVsIGdyYXBoaWNzIHN0b2xlbiBtZW1vcnkgYnkgQklPUyB0byBm dWxsIDY0Yml0IHJhbmdlLgoKdjI6IGV4cG9ydCB0aGUgc3RvbGVuIHJlZ2lvbiBhcyBhIHJlc291 cmNlCiAgICBmaXggdTE2IDw8IDE2IChDaHJpcykKClNpZ25lZC1vZmYtYnk6IEpvb25hcyBMYWh0 aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWF0 dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgpDYzogSm9vbmFzIExhaHRpbmVuIDxq b29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMt d2lsc29uLmNvLnVrPgpDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+ CkNjOiBJbmdvIE1vbG5hciA8bWluZ29Aa2VybmVsLm9yZz4KQ2M6IEguIFBldGVyIEFudmluIDxo cGFAenl0b3IuY29tPgpDYzogeDg2QGtlcm5lbC5vcmcKUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNv biA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPiAjdjEKLS0tCiBhcmNoL3g4Ni9rZXJuZWwvZWFy bHktcXVpcmtzLmMgfCA4NiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0KIGluY2x1ZGUvZHJtL2k5MTVfZHJtLmggICAgICAgICB8ICAzICsrCiAyIGZpbGVzIGNoYW5n ZWQsIDUwIGluc2VydGlvbnMoKyksIDM5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gv eDg2L2tlcm5lbC9lYXJseS1xdWlya3MuYyBiL2FyY2gveDg2L2tlcm5lbC9lYXJseS1xdWlya3Mu YwppbmRleCAxZTgyZjc4N2MxNjAuLjMxMTZmNTc5ODQxYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYv a2VybmVsL2Vhcmx5LXF1aXJrcy5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9lYXJseS1xdWlya3Mu YwpAQCAtMjQzLDcgKzI0Myw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBpbnRlbF9yZW1hcHBpbmdf Y2hlY2soaW50IG51bSwgaW50IHNsb3QsIGludCBmdW5jKQogI2RlZmluZSBLQih4KQkoKHgpICog MTAyNFVMKQogI2RlZmluZSBNQih4KQkoS0IgKEtCICh4KSkpCiAKLXN0YXRpYyBzaXplX3QgX19p bml0IGk4MzBfdHNlZ19zaXplKHZvaWQpCitzdGF0aWMgcmVzb3VyY2Vfc2l6ZV90IF9faW5pdCBp ODMwX3RzZWdfc2l6ZSh2b2lkKQogewogCXU4IGVzbXJhbWMgPSByZWFkX3BjaV9jb25maWdfYnl0 ZSgwLCAwLCAwLCBJODMwX0VTTVJBTUMpOwogCkBAIC0yNTYsNyArMjU2LDcgQEAgc3RhdGljIHNp emVfdCBfX2luaXQgaTgzMF90c2VnX3NpemUodm9pZCkKIAkJcmV0dXJuIEtCKDUxMik7CiB9CiAK LXN0YXRpYyBzaXplX3QgX19pbml0IGk4NDVfdHNlZ19zaXplKHZvaWQpCitzdGF0aWMgcmVzb3Vy Y2Vfc2l6ZV90IF9faW5pdCBpODQ1X3RzZWdfc2l6ZSh2b2lkKQogewogCXU4IGVzbXJhbWMgPSBy ZWFkX3BjaV9jb25maWdfYnl0ZSgwLCAwLCAwLCBJODQ1X0VTTVJBTUMpOwogCXU4IHRzZWdfc2l6 ZSA9IGVzbXJhbWMgJiBJODQ1X1RTRUdfU0laRV9NQVNLOwpAQCAtMjczLDcgKzI3Myw3IEBAIHN0 YXRpYyBzaXplX3QgX19pbml0IGk4NDVfdHNlZ19zaXplKHZvaWQpCiAJcmV0dXJuIDA7CiB9CiAK LXN0YXRpYyBzaXplX3QgX19pbml0IGk4NXhfdHNlZ19zaXplKHZvaWQpCitzdGF0aWMgcmVzb3Vy Y2Vfc2l6ZV90IF9faW5pdCBpODV4X3RzZWdfc2l6ZSh2b2lkKQogewogCXU4IGVzbXJhbWMgPSBy ZWFkX3BjaV9jb25maWdfYnl0ZSgwLCAwLCAwLCBJODVYX0VTTVJBTUMpOwogCkBAIC0yODMsMTIg KzI4MywxMiBAQCBzdGF0aWMgc2l6ZV90IF9faW5pdCBpODV4X3RzZWdfc2l6ZSh2b2lkKQogCXJl dHVybiBNQigxKTsKIH0KIAotc3RhdGljIHNpemVfdCBfX2luaXQgaTgzMF9tZW1fc2l6ZSh2b2lk KQorc3RhdGljIHJlc291cmNlX3NpemVfdCBfX2luaXQgaTgzMF9tZW1fc2l6ZSh2b2lkKQogewog CXJldHVybiByZWFkX3BjaV9jb25maWdfYnl0ZSgwLCAwLCAwLCBJODMwX0RSQjMpICogTUIoMzIp OwogfQogCi1zdGF0aWMgc2l6ZV90IF9faW5pdCBpODV4X21lbV9zaXplKHZvaWQpCitzdGF0aWMg cmVzb3VyY2Vfc2l6ZV90IF9faW5pdCBpODV4X21lbV9zaXplKHZvaWQpCiB7CiAJcmV0dXJuIHJl YWRfcGNpX2NvbmZpZ19ieXRlKDAsIDAsIDEsIEk4NVhfRFJCMykgKiBNQigzMik7CiB9CkBAIC0y OTcsMzYgKzI5NywzNiBAQCBzdGF0aWMgc2l6ZV90IF9faW5pdCBpODV4X21lbV9zaXplKHZvaWQp CiAgKiBPbiA4MzAvODQ1Lzg1eCB0aGUgc3RvbGVuIG1lbW9yeSBiYXNlIGlzbid0IGF2YWlsYWJs ZSBpbiBhbnkKICAqIHJlZ2lzdGVyLiBXZSBuZWVkIHRvIGNhbGN1bGF0ZSBpdCBhcyBUT00tVFNF R19TSVpFLXN0b2xlbl9zaXplLgogICovCi1zdGF0aWMgcGh5c19hZGRyX3QgX19pbml0IGk4MzBf c3RvbGVuX2Jhc2UoaW50IG51bSwgaW50IHNsb3QsIGludCBmdW5jLAotCQkJCQkgICBzaXplX3Qg c3RvbGVuX3NpemUpCitzdGF0aWMgcmVzb3VyY2Vfc2l6ZV90IF9faW5pdCBpODMwX3N0b2xlbl9i YXNlKGludCBudW0sIGludCBzbG90LCBpbnQgZnVuYywKKwkJCQkJICAgICAgIHJlc291cmNlX3Np emVfdCBzdG9sZW5fc2l6ZSkKIHsKLQlyZXR1cm4gKHBoeXNfYWRkcl90KWk4MzBfbWVtX3NpemUo KSAtIGk4MzBfdHNlZ19zaXplKCkgLSBzdG9sZW5fc2l6ZTsKKwlyZXR1cm4gaTgzMF9tZW1fc2l6 ZSgpIC0gaTgzMF90c2VnX3NpemUoKSAtIHN0b2xlbl9zaXplOwogfQogCi1zdGF0aWMgcGh5c19h ZGRyX3QgX19pbml0IGk4NDVfc3RvbGVuX2Jhc2UoaW50IG51bSwgaW50IHNsb3QsIGludCBmdW5j LAotCQkJCQkgICBzaXplX3Qgc3RvbGVuX3NpemUpCitzdGF0aWMgcmVzb3VyY2Vfc2l6ZV90IF9f aW5pdCBpODQ1X3N0b2xlbl9iYXNlKGludCBudW0sIGludCBzbG90LCBpbnQgZnVuYywKKwkJCQkJ ICAgICAgIHJlc291cmNlX3NpemVfdCBzdG9sZW5fc2l6ZSkKIHsKLQlyZXR1cm4gKHBoeXNfYWRk cl90KWk4MzBfbWVtX3NpemUoKSAtIGk4NDVfdHNlZ19zaXplKCkgLSBzdG9sZW5fc2l6ZTsKKwly ZXR1cm4gaTgzMF9tZW1fc2l6ZSgpIC0gaTg0NV90c2VnX3NpemUoKSAtIHN0b2xlbl9zaXplOwog fQogCi1zdGF0aWMgcGh5c19hZGRyX3QgX19pbml0IGk4NXhfc3RvbGVuX2Jhc2UoaW50IG51bSwg aW50IHNsb3QsIGludCBmdW5jLAotCQkJCQkgICBzaXplX3Qgc3RvbGVuX3NpemUpCitzdGF0aWMg cmVzb3VyY2Vfc2l6ZV90IF9faW5pdCBpODV4X3N0b2xlbl9iYXNlKGludCBudW0sIGludCBzbG90 LCBpbnQgZnVuYywKKwkJCQkJICAgICAgIHJlc291cmNlX3NpemVfdCBzdG9sZW5fc2l6ZSkKIHsK LQlyZXR1cm4gKHBoeXNfYWRkcl90KWk4NXhfbWVtX3NpemUoKSAtIGk4NXhfdHNlZ19zaXplKCkg LSBzdG9sZW5fc2l6ZTsKKwlyZXR1cm4gaTg1eF9tZW1fc2l6ZSgpIC0gaTg1eF90c2VnX3NpemUo KSAtIHN0b2xlbl9zaXplOwogfQogCi1zdGF0aWMgcGh5c19hZGRyX3QgX19pbml0IGk4NjVfc3Rv bGVuX2Jhc2UoaW50IG51bSwgaW50IHNsb3QsIGludCBmdW5jLAotCQkJCQkgICBzaXplX3Qgc3Rv bGVuX3NpemUpCitzdGF0aWMgcmVzb3VyY2Vfc2l6ZV90IF9faW5pdCBpODY1X3N0b2xlbl9iYXNl KGludCBudW0sIGludCBzbG90LCBpbnQgZnVuYywKKwkJCQkJICAgICAgIHJlc291cmNlX3NpemVf dCBzdG9sZW5fc2l6ZSkKIHsKIAl1MTYgdG91ZCA9IDA7CiAKIAl0b3VkID0gcmVhZF9wY2lfY29u ZmlnXzE2KDAsIDAsIDAsIEk4NjVfVE9VRCk7CiAKLQlyZXR1cm4gKHBoeXNfYWRkcl90KSh0b3Vk IDw8IDE2KSArIGk4NDVfdHNlZ19zaXplKCk7CisJcmV0dXJuIChyZXNvdXJjZV9zaXplX3QpKHRv dWQgPDwgMTYpICsgaTg0NV90c2VnX3NpemUoKTsKIH0KIAotc3RhdGljIHBoeXNfYWRkcl90IF9f aW5pdCBnZW4zX3N0b2xlbl9iYXNlKGludCBudW0sIGludCBzbG90LCBpbnQgZnVuYywKLQkJCQkJ ICAgc2l6ZV90IHN0b2xlbl9zaXplKQorc3RhdGljIHJlc291cmNlX3NpemVfdCBfX2luaXQgZ2Vu M19zdG9sZW5fYmFzZShpbnQgbnVtLCBpbnQgc2xvdCwgaW50IGZ1bmMsCisJCQkJCSAgICAgICBy ZXNvdXJjZV9zaXplX3Qgc3RvbGVuX3NpemUpCiB7CiAJdTMyIGJzbTsKIApAQCAtMzM3LDEwICsz MzcsMTAgQEAgc3RhdGljIHBoeXNfYWRkcl90IF9faW5pdCBnZW4zX3N0b2xlbl9iYXNlKGludCBu dW0sIGludCBzbG90LCBpbnQgZnVuYywKIAkgKi8KIAlic20gPSByZWFkX3BjaV9jb25maWcobnVt LCBzbG90LCBmdW5jLCBJTlRFTF9CU00pOwogCi0JcmV0dXJuIChwaHlzX2FkZHJfdClic20gJiBJ TlRFTF9CU01fTUFTSzsKKwlyZXR1cm4gYnNtICYgSU5URUxfQlNNX01BU0s7CiB9CiAKLXN0YXRp YyBzaXplX3QgX19pbml0IGk4MzBfc3RvbGVuX3NpemUoaW50IG51bSwgaW50IHNsb3QsIGludCBm dW5jKQorc3RhdGljIHJlc291cmNlX3NpemVfdCBfX2luaXQgaTgzMF9zdG9sZW5fc2l6ZShpbnQg bnVtLCBpbnQgc2xvdCwgaW50IGZ1bmMpCiB7CiAJdTE2IGdtY2hfY3RybDsKIAl1MTYgZ21zOwpA QCAtMzYxLDcgKzM2MSw3IEBAIHN0YXRpYyBzaXplX3QgX19pbml0IGk4MzBfc3RvbGVuX3NpemUo aW50IG51bSwgaW50IHNsb3QsIGludCBmdW5jKQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgc2l6 ZV90IF9faW5pdCBnZW4zX3N0b2xlbl9zaXplKGludCBudW0sIGludCBzbG90LCBpbnQgZnVuYykK K3N0YXRpYyByZXNvdXJjZV9zaXplX3QgX19pbml0IGdlbjNfc3RvbGVuX3NpemUoaW50IG51bSwg aW50IHNsb3QsIGludCBmdW5jKQogewogCXUxNiBnbWNoX2N0cmw7CiAJdTE2IGdtczsKQEAgLTM5 MCw3ICszOTAsNyBAQCBzdGF0aWMgc2l6ZV90IF9faW5pdCBnZW4zX3N0b2xlbl9zaXplKGludCBu dW0sIGludCBzbG90LCBpbnQgZnVuYykKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHNpemVfdCBf X2luaXQgZ2VuNl9zdG9sZW5fc2l6ZShpbnQgbnVtLCBpbnQgc2xvdCwgaW50IGZ1bmMpCitzdGF0 aWMgcmVzb3VyY2Vfc2l6ZV90IF9faW5pdCBnZW42X3N0b2xlbl9zaXplKGludCBudW0sIGludCBz bG90LCBpbnQgZnVuYykKIHsKIAl1MTYgZ21jaF9jdHJsOwogCXUxNiBnbXM7CkBAIC0zOTgsMTAg KzM5OCwxMCBAQCBzdGF0aWMgc2l6ZV90IF9faW5pdCBnZW42X3N0b2xlbl9zaXplKGludCBudW0s IGludCBzbG90LCBpbnQgZnVuYykKIAlnbWNoX2N0cmwgPSByZWFkX3BjaV9jb25maWdfMTYobnVt LCBzbG90LCBmdW5jLCBTTkJfR01DSF9DVFJMKTsKIAlnbXMgPSAoZ21jaF9jdHJsID4+IFNOQl9H TUNIX0dNU19TSElGVCkgJiBTTkJfR01DSF9HTVNfTUFTSzsKIAotCXJldHVybiAoc2l6ZV90KWdt cyAqIE1CKDMyKTsKKwlyZXR1cm4gZ21zICogTUIoMzIpOwogfQogCi1zdGF0aWMgc2l6ZV90IF9f aW5pdCBnZW44X3N0b2xlbl9zaXplKGludCBudW0sIGludCBzbG90LCBpbnQgZnVuYykKK3N0YXRp YyByZXNvdXJjZV9zaXplX3QgX19pbml0IGdlbjhfc3RvbGVuX3NpemUoaW50IG51bSwgaW50IHNs b3QsIGludCBmdW5jKQogewogCXUxNiBnbWNoX2N0cmw7CiAJdTE2IGdtczsKQEAgLTQwOSwxMCAr NDA5LDEwIEBAIHN0YXRpYyBzaXplX3QgX19pbml0IGdlbjhfc3RvbGVuX3NpemUoaW50IG51bSwg aW50IHNsb3QsIGludCBmdW5jKQogCWdtY2hfY3RybCA9IHJlYWRfcGNpX2NvbmZpZ18xNihudW0s IHNsb3QsIGZ1bmMsIFNOQl9HTUNIX0NUUkwpOwogCWdtcyA9IChnbWNoX2N0cmwgPj4gQkRXX0dN Q0hfR01TX1NISUZUKSAmIEJEV19HTUNIX0dNU19NQVNLOwogCi0JcmV0dXJuIChzaXplX3QpZ21z ICogTUIoMzIpOworCXJldHVybiBnbXMgKiBNQigzMik7CiB9CiAKLXN0YXRpYyBzaXplX3QgX19p bml0IGNodl9zdG9sZW5fc2l6ZShpbnQgbnVtLCBpbnQgc2xvdCwgaW50IGZ1bmMpCitzdGF0aWMg cmVzb3VyY2Vfc2l6ZV90IF9faW5pdCBjaHZfc3RvbGVuX3NpemUoaW50IG51bSwgaW50IHNsb3Qs IGludCBmdW5jKQogewogCXUxNiBnbWNoX2N0cmw7CiAJdTE2IGdtczsKQEAgLTQyNiwxNCArNDI2 LDE0IEBAIHN0YXRpYyBzaXplX3QgX19pbml0IGNodl9zdG9sZW5fc2l6ZShpbnQgbnVtLCBpbnQg c2xvdCwgaW50IGZ1bmMpCiAJICogMHgxNyB0byAweDFkOiA0TUIgaW5jcmVtZW50cyBzdGFydCBh dCAzNk1CCiAJICovCiAJaWYgKGdtcyA8IDB4MTEpCi0JCXJldHVybiAoc2l6ZV90KWdtcyAqIE1C KDMyKTsKKwkJcmV0dXJuIGdtcyAqIE1CKDMyKTsKIAllbHNlIGlmIChnbXMgPCAweDE3KQotCQly ZXR1cm4gKHNpemVfdCkoZ21zIC0gMHgxMSArIDIpICogTUIoNCk7CisJCXJldHVybiAoZ21zIC0g MHgxMSArIDIpICogTUIoNCk7CiAJZWxzZQotCQlyZXR1cm4gKHNpemVfdCkoZ21zIC0gMHgxNyAr IDkpICogTUIoNCk7CisJCXJldHVybiAoZ21zIC0gMHgxNyArIDkpICogTUIoNCk7CiB9CiAKLXN0 YXRpYyBzaXplX3QgX19pbml0IGdlbjlfc3RvbGVuX3NpemUoaW50IG51bSwgaW50IHNsb3QsIGlu dCBmdW5jKQorc3RhdGljIHJlc291cmNlX3NpemVfdCBfX2luaXQgZ2VuOV9zdG9sZW5fc2l6ZShp bnQgbnVtLCBpbnQgc2xvdCwgaW50IGZ1bmMpCiB7CiAJdTE2IGdtY2hfY3RybDsKIAl1MTYgZ21z OwpAQCAtNDQ0LDE0ICs0NDQsMTUgQEAgc3RhdGljIHNpemVfdCBfX2luaXQgZ2VuOV9zdG9sZW5f c2l6ZShpbnQgbnVtLCBpbnQgc2xvdCwgaW50IGZ1bmMpCiAJLyogMHgwICB0byAweGVmOiAzMk1C IGluY3JlbWVudHMgc3RhcnRpbmcgYXQgME1CICovCiAJLyogMHhmMCB0byAweGZlOiA0TUIgaW5j cmVtZW50cyBzdGFydGluZyBhdCA0TUIgKi8KIAlpZiAoZ21zIDwgMHhmMCkKLQkJcmV0dXJuIChz aXplX3QpZ21zICogTUIoMzIpOworCQlyZXR1cm4gZ21zICogTUIoMzIpOwogCWVsc2UKLQkJcmV0 dXJuIChzaXplX3QpKGdtcyAtIDB4ZjAgKyAxKSAqIE1CKDQpOworCQlyZXR1cm4gKGdtcyAtIDB4 ZjAgKyAxKSAqIE1CKDQpOwogfQogCiBzdHJ1Y3QgaW50ZWxfZWFybHlfb3BzIHsKLQlzaXplX3Qg KCpzdG9sZW5fc2l6ZSkoaW50IG51bSwgaW50IHNsb3QsIGludCBmdW5jKTsKLQlwaHlzX2FkZHJf dCAoKnN0b2xlbl9iYXNlKShpbnQgbnVtLCBpbnQgc2xvdCwgaW50IGZ1bmMsIHNpemVfdCBzaXpl KTsKKwlyZXNvdXJjZV9zaXplX3QgKCpzdG9sZW5fc2l6ZSkoaW50IG51bSwgaW50IHNsb3QsIGlu dCBmdW5jKTsKKwlyZXNvdXJjZV9zaXplX3QgKCpzdG9sZW5fYmFzZSkoaW50IG51bSwgaW50IHNs b3QsIGludCBmdW5jLAorCQkJCSAgICAgICByZXNvdXJjZV9zaXplX3Qgc2l6ZSk7CiB9OwogCiBz dGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2Vhcmx5X29wcyBpODMwX2Vhcmx5X29wcyBfX2luaXRj b25zdCA9IHsKQEAgLTUzMSwxMiArNTMyLDE1IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2Rl dmljZV9pZCBpbnRlbF9lYXJseV9pZHNbXSBfX2luaXRjb25zdCA9IHsKIAlJTlRFTF9DTkxfSURT KCZnZW45X2Vhcmx5X29wcyksCiB9OwogCitzdHJ1Y3QgcmVzb3VyY2UgaW50ZWxfZ3JhcGhpY3Nf c3RvbGVuX3JlcyA9IERFRklORV9SRVNfTUVNKDAsIDApOworRVhQT1JUX1NZTUJPTChpbnRlbF9n cmFwaGljc19zdG9sZW5fcmVzKTsKKwogc3RhdGljIHZvaWQgX19pbml0CiBpbnRlbF9ncmFwaGlj c19zdG9sZW4oaW50IG51bSwgaW50IHNsb3QsIGludCBmdW5jLAogCQkgICAgICBjb25zdCBzdHJ1 Y3QgaW50ZWxfZWFybHlfb3BzICplYXJseV9vcHMpCiB7Ci0JcGh5c19hZGRyX3QgYmFzZSwgZW5k OwotCXNpemVfdCBzaXplOworCXJlc291cmNlX3NpemVfdCBiYXNlLCBzaXplOworCXJlc291cmNl X3NpemVfdCBlbmQ7CiAKIAlzaXplID0gZWFybHlfb3BzLT5zdG9sZW5fc2l6ZShudW0sIHNsb3Qs IGZ1bmMpOwogCWJhc2UgPSBlYXJseV9vcHMtPnN0b2xlbl9iYXNlKG51bSwgc2xvdCwgZnVuYywg c2l6ZSk7CkBAIC01NDUsOCArNTQ5LDEyIEBAIGludGVsX2dyYXBoaWNzX3N0b2xlbihpbnQgbnVt LCBpbnQgc2xvdCwgaW50IGZ1bmMsCiAJCXJldHVybjsKIAogCWVuZCA9IGJhc2UgKyBzaXplIC0g MTsKLQlwcmludGsoS0VSTl9JTkZPICJSZXNlcnZpbmcgSW50ZWwgZ3JhcGhpY3MgbWVtb3J5IGF0 ICVwYS0lcGFcbiIsCi0JICAgICAgICZiYXNlLCAmZW5kKTsKKworCWludGVsX2dyYXBoaWNzX3N0 b2xlbl9yZXMuc3RhcnQgPSBiYXNlOworCWludGVsX2dyYXBoaWNzX3N0b2xlbl9yZXMuZW5kID0g ZW5kOworCisJcHJpbnRrKEtFUk5fSU5GTyAiUmVzZXJ2aW5nIEludGVsIGdyYXBoaWNzIG1lbW9y eSBhdCAlcFJcbiIsCisJICAgICAgICZpbnRlbF9ncmFwaGljc19zdG9sZW5fcmVzKTsKIAogCS8q IE1hcmsgdGhpcyBzcGFjZSBhcyByZXNlcnZlZCAqLwogCWU4MjBfX3JhbmdlX2FkZChiYXNlLCBz aXplLCBFODIwX1RZUEVfUkVTRVJWRUQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vaTkxNV9k cm0uaCBiL2luY2x1ZGUvZHJtL2k5MTVfZHJtLmgKaW5kZXggNGUxYjI3NGUxMTY0Li5jOWU1YTY2 MjFiOTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2k5MTVfZHJtLmgKKysrIGIvaW5jbHVkZS9k cm0vaTkxNV9kcm0uaApAQCAtMzYsNiArMzYsOSBAQCBleHRlcm4gYm9vbCBpOTE1X2dwdV9sb3dl cih2b2lkKTsKIGV4dGVybiBib29sIGk5MTVfZ3B1X2J1c3kodm9pZCk7CiBleHRlcm4gYm9vbCBp OTE1X2dwdV90dXJib19kaXNhYmxlKHZvaWQpOwogCisvKiBFeHBvcnRlZCBmcm9tIGFyY2gveDg2 L2tlcm5lbC9lYXJseS1xdWlya3MuYyAqLworZXh0ZXJuIHN0cnVjdCByZXNvdXJjZSBpbnRlbF9n cmFwaGljc19zdG9sZW5fcmVzOworCiAvKgogICogVGhlIEJyaWRnZSBkZXZpY2UncyBQQ0kgY29u ZmlnIHNwYWNlIGhhcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUKICAqIGZiIGFwZXJ0dXJlIHNpemUg YW5kIHRoZSBhbW91bnQgb2YgcHJlLXJlc2VydmVkIG1lbW9yeS4KLS0gCjIuMTQuMwoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==