From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [RFC v5 2/5] drm/nouveau: Add support for BLCG on Kepler1 Date: Tue, 30 Jan 2018 14:49:22 -0500 Message-ID: <20180130195024.18172-3-lyude@redhat.com> References: <20180130195024.18172-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180130195024.18172-1-lyude-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Kate Stewart , David Airlie , Greg Kroah-Hartman , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Alexandre Courbot , Ben Skeggs , Philippe Ombredanne , Thomas Gleixner List-Id: dri-devel@lists.freedesktop.org VGhpcyBlbmFibGVzIEJMQ0cgb3B0aW1pemF0aW9uIGZvciBrZXBsZXIxLiBXaGVuIHVzaW5nIGNs b2NrZ2F0aW5nLApudmlkaWEncyBmaXJtd2FyZSBoYXMgYSBzZXQgb2YgcmVnaXN0ZXJzIHdoaWNo IGFyZSBpbml0aWFsbHkgcHJvZ3JhbW1lZApieSB0aGUgdmJpb3Mgd2l0aCB2YXJpb3VzIGVuZ2lu ZSBkZWxheXMgYW5kIG90aGVyIG15c3RlcmlvdXMgc2V0dGluZ3MKdGhhdCBhcmUgc2FmZSBlbm91 Z2ggdG8gYnJpbmcgdXAgdGhlIEdQVS4gSG93ZXZlciwgdGhlIHZhbHVlcyB1c2VkIGJ5CnRoZSB2 YmlvcyBhcmUgbW9yZSBwb3dlciBodW5ncnkgdGhlbiB0aGV5IG5lZWQgdG8gYmUsIHNvIHRoZSBu dmlkaWEgZHJpdmVyCndyaXRlcyBpdCdzIG93biBtb3JlIG9wdGltaXplZCBzZXQgb2YgQkxDRyBz ZXR0aW5ncyBiZWZvcmUgZW5hYmxpbmcKQ0dfQ1RSTC4gVGhpcyBhZGRzIHN1cHBvcnQgZm9yIHBy b2dyYW1taW5nIHRoZSBvcHRpbWl6ZWQgQkxDRyB2YWx1ZXMKZHVyaW5nIGVuZ2luZS9zdWJkZXYg aW5pdCwgd2hpY2ggZW5hYmxlcyByYXRoZXIgc2lnbmlmaWNhbnQgcG93ZXIKc2F2aW5ncy4KClRo aXMgaW50cm9kdWNlcyB0aGUgbnZrbV90aGVybV9jbGtnYXRlX2luaXQoKSBoZWxwZXIsIHdoaWNo IHdlIHVzZSB0bwpwcm9ncmFtIHRoZSBvcHRpbWl6ZWQgQkxDRyBzZXR0aW5ncyBiZWZvcmUgZW5h YmxpbmcgY2xvY2tnYXRpbmcgd2l0aApudmttX3RoZXJtX2Nsa2dhdGVfZW5hYmxlLgoKQXMgd2Vs bCwgdGhpcyBjb21taXQgc2hhcmVzIGEgbG90IG1vcmUgY29kZSB3aXRoIEZlcm1pIHNpbmNlIEJM Q0cgaXMKbW9zdGx5IHRoZSBzYW1lIHRoZXJlIGFzIGZhciBhcyB3ZSBjYW4gdGVsbC4gSW4gdGhl IGZ1dHVyZSwgaXQncyBsaWtlbHkKd2UnbGwgcmVmb3JtYXQgdGhlIGNsa2dhdGVfcGFja3MgZm9y IGtlcGxlcjEgc28gdGhhdCB0aGV5IHNoYXJlIGEgbGlzdApvZiBtbWlvIHBhY2tzIHdpdGggRmVy bWkuCgpTaWduZWQtb2ZmLWJ5OiBMeXVkZSBQYXVsIDxseXVkZUByZWRoYXQuY29tPgpSZXZpZXdl ZC1ieTogTWFydGluIFBlcmVzIDxtYXJ0aW4ucGVyZXNAZnJlZS5mcj4KLS0tCiAuLi4vZ3B1L2Ry bS9ub3V2ZWF1L2luY2x1ZGUvbnZrbS9zdWJkZXYvdGhlcm0uaCAgICB8ICAxMiArKwogZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvbnZrbS9lbmdpbmUvZ3IvZ2YxMDAuaCAgICAgfCAgIDEgKwogZHJp dmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9lbmdpbmUvZ3IvZ2sxMDQuYyAgICAgfCAyMDcgKysr KysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL2VuZ2luZS9n ci9nazEwNC5oICAgICB8ICA1NSArKysrKysKIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20v c3ViZGV2L2ZiL2dmMTAwLmMgICAgIHwgICA2ICsKIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252 a20vc3ViZGV2L2ZiL2drMTA0LmMgICAgIHwgIDQ3ICsrKysrCiBkcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9udmttL3N1YmRldi9mYi9nazEwNC5oICAgICB8ICAzNSArKysrCiBkcml2ZXJzL2dwdS9k cm0vbm91dmVhdS9udmttL3N1YmRldi9mYi9wcml2LmggICAgICB8ICAgMiArCiBkcml2ZXJzL2dw dS9kcm0vbm91dmVhdS9udmttL3N1YmRldi90aGVybS9LYnVpbGQgICB8ICAgMSArCiBkcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi90aGVybS9iYXNlLmMgICB8ICAxMCArCiBkcml2 ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi90aGVybS9nZjEwMC5jICB8ICA3NSArKysr KysrKwogZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvdGhlcm0vZ2sxMDQuYyAg fCAgIDEgKwogZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvdGhlcm0vZ3QyMTUu YyAgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3RoZXJtL3By aXYuaCAgIHwgICA4ICsKIDE0IGZpbGVzIGNoYW5nZWQsIDQ2MSBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZr bS9lbmdpbmUvZ3IvZ2sxMDQuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L252a20vc3ViZGV2L2ZiL2drMTA0LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi90aGVybS9nZjEwMC5jCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvaW5jbHVkZS9udmttL3N1YmRldi90aGVybS5oIGIvZHJp dmVycy9ncHUvZHJtL25vdXZlYXUvaW5jbHVkZS9udmttL3N1YmRldi90aGVybS5oCmluZGV4IDI0 MGIxOWJiNDY2Ny4uOTM5OGQ5ZjA5MzM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9pbmNsdWRlL252a20vc3ViZGV2L3RoZXJtLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvaW5jbHVkZS9udmttL3N1YmRldi90aGVybS5oCkBAIC00Niw2ICs0NiwxNiBAQCBlbnVt IG52a21fdGhlcm1fYXR0cl90eXBlIHsKIAlOVktNX1RIRVJNX0FUVFJfVEhSU19TSFVURE9XTl9I WVNUID0gMTcsCiB9OwogCitzdHJ1Y3QgbnZrbV90aGVybV9jbGtnYXRlX2luaXQgeworCXUzMiBh ZGRyOworCXU4ICBjb3VudDsKKwl1MzIgZGF0YTsKK307CisKK3N0cnVjdCBudmttX3RoZXJtX2Ns a2dhdGVfcGFjayB7CisJY29uc3Qgc3RydWN0IG52a21fdGhlcm1fY2xrZ2F0ZV9pbml0ICppbml0 OworfTsKKwogc3RydWN0IG52a21fdGhlcm0gewogCWNvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Z1 bmMgKmZ1bmM7CiAJc3RydWN0IG52a21fc3ViZGV2IHN1YmRldjsKQEAgLTkyLDYgKzEwMiw4IEBA IHN0cnVjdCBudmttX3RoZXJtIHsKIGludCBudmttX3RoZXJtX3RlbXBfZ2V0KHN0cnVjdCBudmtt X3RoZXJtICopOwogaW50IG52a21fdGhlcm1fZmFuX3NlbnNlKHN0cnVjdCBudmttX3RoZXJtICop OwogaW50IG52a21fdGhlcm1fY3N0YXRlKHN0cnVjdCBudmttX3RoZXJtICosIGludCwgaW50KTsK K3ZvaWQgbnZrbV90aGVybV9jbGtnYXRlX2luaXQoc3RydWN0IG52a21fdGhlcm0gKiwKKwkJCSAg ICAgY29uc3Qgc3RydWN0IG52a21fdGhlcm1fY2xrZ2F0ZV9wYWNrICopOwogdm9pZCBudmttX3Ro ZXJtX2Nsa2dhdGVfZW5hYmxlKHN0cnVjdCBudmttX3RoZXJtICopOwogdm9pZCBudmttX3RoZXJt X2Nsa2dhdGVfZmluaShzdHJ1Y3QgbnZrbV90aGVybSAqLCBib29sKTsKIApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9lbmdpbmUvZ3IvZ2YxMDAuaCBiL2RyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L252a20vZW5naW5lL2dyL2dmMTAwLmgKaW5kZXggZDdjMmFkYjliNTQz Li5jOGVjM2ZkOTcxNTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20v ZW5naW5lL2dyL2dmMTAwLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9lbmdp bmUvZ3IvZ2YxMDAuaApAQCAtMTM3LDYgKzEzNyw3IEBAIHN0cnVjdCBnZjEwMF9ncl9mdW5jIHsK IAlpbnQgKCpyb3BzKShzdHJ1Y3QgZ2YxMDBfZ3IgKik7CiAJaW50IHBwY19ucjsKIAljb25zdCBz dHJ1Y3QgZ2YxMDBfZ3JjdHhfZnVuYyAqZ3JjdHg7CisJY29uc3Qgc3RydWN0IG52a21fdGhlcm1f Y2xrZ2F0ZV9wYWNrICpjbGtnYXRlX3BhY2s7CiAJc3RydWN0IG52a21fc2NsYXNzIHNjbGFzc1td OwogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9lbmdpbmUv Z3IvZ2sxMDQuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vZW5naW5lL2dyL2drMTA0 LmMKaW5kZXggNWU4MmY5NGMyMjQ1Li4xN2NlYTljNzBmN2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L252a20vZW5naW5lL2dyL2drMTA0LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL25vdXZlYXUvbnZrbS9lbmdpbmUvZ3IvZ2sxMDQuYwpAQCAtMjIsNiArMjIsNyBAQAogICog QXV0aG9yczogQmVuIFNrZWdncyA8YnNrZWdnc0ByZWRoYXQuY29tPgogICovCiAjaW5jbHVkZSAi Z2YxMDAuaCIKKyNpbmNsdWRlICJnazEwNC5oIgogI2luY2x1ZGUgImN0eGdmMTAwLmgiCiAKICNp bmNsdWRlIDxudmlmL2NsYXNzLmg+CkBAIC0xNzMsNiArMTc0LDIwOCBAQCBnazEwNF9ncl9wYWNr X21taW9bXSA9IHsKIAl7fQogfTsKIAorY29uc3Qgc3RydWN0IG52a21fdGhlcm1fY2xrZ2F0ZV9p bml0CitnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9tYWluXzBbXSA9IHsKKwl7IDB4NDA0MWYwLCAx LCAweDAwMDA0MDQ2IH0sCisJeyAweDQwOTg5MCwgMSwgMHgwMDAwMDA0NSB9LAorCXsgMHg0MDk4 YjAsIDEsIDB4MDAwMDAwN2YgfSwKKwl7fQorfTsKKworY29uc3Qgc3RydWN0IG52a21fdGhlcm1f Y2xrZ2F0ZV9pbml0CitnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9yc3RyMmRfMFtdID0geworCXsg MHg0MDc4YzAsIDEsIDB4MDAwMDAwNDIgfSwKKwl7fQorfTsKKworY29uc3Qgc3RydWN0IG52a21f dGhlcm1fY2xrZ2F0ZV9pbml0CitnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF91bmtfMFtdID0gewor CXsgMHg0MDYwMDAsIDEsIDB4MDAwMDQwNDQgfSwKKwl7IDB4NDA1ODYwLCAxLCAweDAwMDA0MDQy IH0sCisJeyAweDQwNTkwYywgMSwgMHgwMDAwNDA0MiB9LAorCXt9Cit9OworCitjb25zdCBzdHJ1 Y3QgbnZrbV90aGVybV9jbGtnYXRlX2luaXQKK2drMTA0X2Nsa2dhdGVfYmxjZ19pbml0X2djY18w W10gPSB7CisJeyAweDQwODA0MCwgMSwgMHgwMDAwNDA0NCB9LAorCXt9Cit9OworCitjb25zdCBz dHJ1Y3QgbnZrbV90aGVybV9jbGtnYXRlX2luaXQKK2drMTA0X2Nsa2dhdGVfYmxjZ19pbml0X3Nr ZWRfMFtdID0geworCXsgMHg0MDcwMDAsIDEsIDB4MDAwMDQwNDQgfSwKKwl7fQorfTsKKworY29u c3Qgc3RydWN0IG52a21fdGhlcm1fY2xrZ2F0ZV9pbml0CitnazEwNF9jbGtnYXRlX2JsY2dfaW5p dF91bmtfMVtdID0geworCXsgMHg0MDViZjAsIDEsIDB4MDAwMDQwNDQgfSwKKwl7fQorfTsKKwor Y29uc3Qgc3RydWN0IG52a21fdGhlcm1fY2xrZ2F0ZV9pbml0CitnazEwNF9jbGtnYXRlX2JsY2df aW5pdF9ncGNfY3R4Y3RsXzBbXSA9IHsKKwl7IDB4NDFhODkwLCAxLCAweDAwMDAwMDQyIH0sCisJ eyAweDQxYThiMCwgMSwgMHgwMDAwMDA3ZiB9LAorCXt9Cit9OworCitjb25zdCBzdHJ1Y3QgbnZr bV90aGVybV9jbGtnYXRlX2luaXQKK2drMTA0X2Nsa2dhdGVfYmxjZ19pbml0X2dwY191bmtfMFtd ID0geworCXsgMHg0MTg1MDAsIDEsIDB4MDAwMDQwNDIgfSwKKwl7IDB4NDE4NjA4LCAxLCAweDAw MDA0MDQyIH0sCisJeyAweDQxODY4OCwgMSwgMHgwMDAwNDA0MiB9LAorCXsgMHg0MTg3MTgsIDEs IDB4MDAwMDAwNDIgfSwKKwl7fQorfTsKKworY29uc3Qgc3RydWN0IG52a21fdGhlcm1fY2xrZ2F0 ZV9pbml0CitnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9ncGNfZXNldHVwXzBbXSA9IHsKKwl7IDB4 NDE4ODI4LCAxLCAweDAwMDAwMDQ0IH0sCisJe30KK307CisKK2NvbnN0IHN0cnVjdCBudmttX3Ro ZXJtX2Nsa2dhdGVfaW5pdAorZ2sxMDRfY2xrZ2F0ZV9ibGNnX2luaXRfZ3BjX3RwYnVzXzBbXSA9 IHsKKwl7IDB4NDE4YmJjLCAxLCAweDAwMDA0MDQyIH0sCisJe30KK307CisKK2NvbnN0IHN0cnVj dCBudmttX3RoZXJtX2Nsa2dhdGVfaW5pdAorZ2sxMDRfY2xrZ2F0ZV9ibGNnX2luaXRfZ3BjX3pj dWxsXzBbXSA9IHsKKwl7IDB4NDE4OTcwLCAxLCAweDAwMDA0MDQyIH0sCisJe30KK307CisKK2Nv bnN0IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dhdGVfaW5pdAorZ2sxMDRfY2xrZ2F0ZV9ibGNnX2lu aXRfZ3BjX3RwY29uZl8wW10gPSB7CisJeyAweDQxOGM3MCwgMSwgMHgwMDAwNDA0MiB9LAorCXt9 Cit9OworCitjb25zdCBzdHJ1Y3QgbnZrbV90aGVybV9jbGtnYXRlX2luaXQKK2drMTA0X2Nsa2dh dGVfYmxjZ19pbml0X2dwY191bmtfMVtdID0geworCXsgMHg0MThjZjAsIDEsIDB4MDAwMDQwNDIg fSwKKwl7IDB4NDE4ZDcwLCAxLCAweDAwMDA0MDQyIH0sCisJeyAweDQxOGYwYywgMSwgMHgwMDAw NDA0MiB9LAorCXsgMHg0MThlMGMsIDEsIDB4MDAwMDQwNDIgfSwKKwl7fQorfTsKKworY29uc3Qg c3RydWN0IG52a21fdGhlcm1fY2xrZ2F0ZV9pbml0CitnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9n cGNfZ2NjXzBbXSA9IHsKKwl7IDB4NDE5MDIwLCAxLCAweDAwMDA0MDQyIH0sCisJeyAweDQxOTAz OCwgMSwgMHgwMDAwMDA0MiB9LAorCXt9Cit9OworCitjb25zdCBzdHJ1Y3QgbnZrbV90aGVybV9j bGtnYXRlX2luaXQKK2drMTA0X2Nsa2dhdGVfYmxjZ19pbml0X2dwY19mZmJfMFtdID0geworCXsg MHg0MTg4OTgsIDEsIDB4MDAwMDAwNDIgfSwKKwl7fQorfTsKKworY29uc3Qgc3RydWN0IG52a21f dGhlcm1fY2xrZ2F0ZV9pbml0CitnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9ncGNfdGV4XzBbXSA9 IHsKKwl7IDB4NDE5YTQwLCA5LCAweDAwMDA0MDQyIH0sCisJeyAweDQxOWFjYywgMSwgMHgwMDAw NDA0NyB9LAorCXt9Cit9OworCitjb25zdCBzdHJ1Y3QgbnZrbV90aGVybV9jbGtnYXRlX2luaXQK K2drMTA0X2Nsa2dhdGVfYmxjZ19pbml0X2dwY19wb2x5XzBbXSA9IHsKKwl7IDB4NDE5ODY4LCAx LCAweDAwMDAwMDQyIH0sCisJe30KK307CisKK2NvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dh dGVfaW5pdAorZ2sxMDRfY2xrZ2F0ZV9ibGNnX2luaXRfZ3BjX2wxY18wW10gPSB7CisJeyAweDQx OWNjYywgMywgMHgwMDAwMDA0MiB9LAorCXt9Cit9OworCitjb25zdCBzdHJ1Y3QgbnZrbV90aGVy bV9jbGtnYXRlX2luaXQKK2drMTA0X2Nsa2dhdGVfYmxjZ19pbml0X2dwY191bmtfMltdID0gewor CXsgMHg0MTljNzAsIDEsIDB4MDAwMDQwNDUgfSwKKwl7fQorfTsKKworY29uc3Qgc3RydWN0IG52 a21fdGhlcm1fY2xrZ2F0ZV9pbml0CitnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9ncGNfbXBfMFtd ID0geworCXsgMHg0MTlmZDAsIDEsIDB4MDAwMDQwNDMgfSwKKwl7IDB4NDE5ZmQ4LCAxLCAweDAw MDA0MDQ5IH0sCisJeyAweDQxOWZlMCwgMiwgMHgwMDAwNDA0MiB9LAorCXsgMHg0MTlmZjAsIDEs IDB4MDAwMDQwNDYgfSwKKwl7IDB4NDE5ZmY4LCAxLCAweDAwMDA0MDQyIH0sCisJe30KK307CisK K2NvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dhdGVfaW5pdAorZ2sxMDRfY2xrZ2F0ZV9ibGNn X2luaXRfZ3BjX3BwY18wW10gPSB7CisJeyAweDQxYmUyOCwgMSwgMHgwMDAwMDA0MiB9LAorCXsg MHg0MWJmZTgsIDEsIDB4MDAwMDQwNDIgfSwKKwl7IDB4NDFiZWQwLCAxLCAweDAwMDA0MDQyIH0s CisJe30KK307CisKK2NvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dhdGVfaW5pdAorZ2sxMDRf Y2xrZ2F0ZV9ibGNnX2luaXRfcm9wX3pyb3BfMFtdID0geworCXsgMHg0MDg4MTAsIDIsIDB4MDAw MDQwNDIgfSwKKwl7fQorfTsKKworY29uc3Qgc3RydWN0IG52a21fdGhlcm1fY2xrZ2F0ZV9pbml0 CitnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9yb3BfMFtdID0geworCXsgMHg0MDhhODAsIDYsIDB4 MDAwMDQwNDIgfSwKKwl7fQorfTsKKworY29uc3Qgc3RydWN0IG52a21fdGhlcm1fY2xrZ2F0ZV9p bml0CitnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9yb3BfY3JvcF8wW10gPSB7CisJeyAweDQwODlh OCwgMSwgMHgwMDAwNDA0MiB9LAorCXsgMHg0MDg5YjAsIDEsIDB4MDAwMDAwNDIgfSwKKwl7IDB4 NDA4OWI4LCAxLCAweDAwMDA0MDQyIH0sCisJe30KK307CisKK2NvbnN0IHN0cnVjdCBudmttX3Ro ZXJtX2Nsa2dhdGVfaW5pdAorZ2sxMDRfY2xrZ2F0ZV9ibGNnX2luaXRfcHhiYXJfMFtdID0gewor CXsgMHgxM2M4MjAsIDEsIDB4MDAwMTAwN2YgfSwKKwl7IDB4MTNjYmUwLCAxLCAweDAwMDAwMDQy IH0sCisJe30KK307CisKK2NvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dhdGVfcGFjaworZ2sx MDRfY2xrZ2F0ZV9wYWNrW10gPSB7CisJeyBnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9tYWluXzAg fSwKKwl7IGdrMTA0X2Nsa2dhdGVfYmxjZ19pbml0X3JzdHIyZF8wIH0sCisJeyBnazEwNF9jbGtn YXRlX2JsY2dfaW5pdF91bmtfMCB9LAorCXsgZ2sxMDRfY2xrZ2F0ZV9ibGNnX2luaXRfZ2NjXzAg fSwKKwl7IGdrMTA0X2Nsa2dhdGVfYmxjZ19pbml0X3NrZWRfMCB9LAorCXsgZ2sxMDRfY2xrZ2F0 ZV9ibGNnX2luaXRfdW5rXzEgfSwKKwl7IGdrMTA0X2Nsa2dhdGVfYmxjZ19pbml0X2dwY19jdHhj dGxfMCB9LAorCXsgZ2sxMDRfY2xrZ2F0ZV9ibGNnX2luaXRfZ3BjX3Vua18wIH0sCisJeyBnazEw NF9jbGtnYXRlX2JsY2dfaW5pdF9ncGNfZXNldHVwXzAgfSwKKwl7IGdrMTA0X2Nsa2dhdGVfYmxj Z19pbml0X2dwY190cGJ1c18wIH0sCisJeyBnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9ncGNfemN1 bGxfMCB9LAorCXsgZ2sxMDRfY2xrZ2F0ZV9ibGNnX2luaXRfZ3BjX3RwY29uZl8wIH0sCisJeyBn azEwNF9jbGtnYXRlX2JsY2dfaW5pdF9ncGNfdW5rXzEgfSwKKwl7IGdrMTA0X2Nsa2dhdGVfYmxj Z19pbml0X2dwY19nY2NfMCB9LAorCXsgZ2sxMDRfY2xrZ2F0ZV9ibGNnX2luaXRfZ3BjX2ZmYl8w IH0sCisJeyBnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9ncGNfdGV4XzAgfSwKKwl7IGdrMTA0X2Ns a2dhdGVfYmxjZ19pbml0X2dwY19wb2x5XzAgfSwKKwl7IGdrMTA0X2Nsa2dhdGVfYmxjZ19pbml0 X2dwY19sMWNfMCB9LAorCXsgZ2sxMDRfY2xrZ2F0ZV9ibGNnX2luaXRfZ3BjX3Vua18yIH0sCisJ eyBnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9ncGNfbXBfMCB9LAorCXsgZ2sxMDRfY2xrZ2F0ZV9i bGNnX2luaXRfZ3BjX3BwY18wIH0sCisJeyBnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9yb3BfenJv cF8wIH0sCisJeyBnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9yb3BfMCB9LAorCXsgZ2sxMDRfY2xr Z2F0ZV9ibGNnX2luaXRfcm9wX2Nyb3BfMCB9LAorCXsgZ2sxMDRfY2xrZ2F0ZV9ibGNnX2luaXRf cHhiYXJfMCB9LAorCXt9Cit9OworCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogUEdSQVBI IGVuZ2luZS9zdWJkZXYgZnVuY3Rpb25zCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpAQCAtMjE0 LDYgKzQxNyw5IEBAIGdrMTA0X2dyX2luaXQoc3RydWN0IGdmMTAwX2dyICpncikKIAlnci0+ZnVu Yy0+aW5pdF9ncGNfbW11KGdyKTsKIAogCWdmMTAwX2dyX21taW8oZ3IsIGdyLT5mdW5jLT5tbWlv KTsKKwlpZiAoZ3ItPmZ1bmMtPmNsa2dhdGVfcGFjaykKKwkJbnZrbV90aGVybV9jbGtnYXRlX2lu aXQoZ3ItPmJhc2UuZW5naW5lLnN1YmRldi5kZXZpY2UtPnRoZXJtLAorCQkJCQlnci0+ZnVuYy0+ Y2xrZ2F0ZV9wYWNrKTsKIAogCW52a21fd3IzMihkZXZpY2UsIEdQQ19VTklUKDAsIDB4MzAxOCks IDB4MDAwMDAwMDEpOwogCkBAIC0zMzgsNiArNTQ0LDcgQEAgZ2sxMDRfZ3IgPSB7CiAJLnJvcHMg PSBnZjEwMF9ncl9yb3BzLAogCS5wcGNfbnIgPSAxLAogCS5ncmN0eCA9ICZnazEwNF9ncmN0eCwK KwkuY2xrZ2F0ZV9wYWNrID0gZ2sxMDRfY2xrZ2F0ZV9wYWNrLAogCS5zY2xhc3MgPSB7CiAJCXsg LTEsIC0xLCBGRVJNSV9UV09EX0EgfSwKIAkJeyAtMSwgLTEsIEtFUExFUl9JTkxJTkVfVE9fTUVN T1JZX0EgfSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vZW5naW5l L2dyL2drMTA0LmggYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL2VuZ2luZS9nci9nazEw NC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYTI0YzE3NzM2NWQx Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9lbmdpbmUv Z3IvZ2sxMDQuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IDIwMTggUmVkIEhh dCBJbmMuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFy Z2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBh bmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0 byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0 aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn ZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGll cyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICog U29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcg Y29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw ZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBz dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJF IElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJF U1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQ09Q WVJJR0hUIEhPTERFUihTKSBPUiBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERB TUFHRVMgT1IKKyAqIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O VFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAorICogQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g Q09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SCisgKiBPVEhFUiBERUFM SU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogQXV0aG9yczogTHl1ZGUgUGF1bCA8bHl1ZGVA cmVkaGF0LmNvbT4KKyAqLworI2lmbmRlZiBfX0dLMTA0X0dSX0hfXworI2RlZmluZSBfX0dLMTA0 X0dSX0hfXworCisjaW5jbHVkZSA8c3ViZGV2L3RoZXJtLmg+CisKK2V4dGVybiBjb25zdCBzdHJ1 Y3QgbnZrbV90aGVybV9jbGtnYXRlX2luaXQgZ2sxMDRfY2xrZ2F0ZV9ibGNnX2luaXRfbWFpbl8w W107CitleHRlcm4gY29uc3Qgc3RydWN0IG52a21fdGhlcm1fY2xrZ2F0ZV9pbml0IGdrMTA0X2Ns a2dhdGVfYmxjZ19pbml0X3JzdHIyZF8wW107CitleHRlcm4gY29uc3Qgc3RydWN0IG52a21fdGhl cm1fY2xrZ2F0ZV9pbml0IGdrMTA0X2Nsa2dhdGVfYmxjZ19pbml0X3Vua18wW107CitleHRlcm4g Y29uc3Qgc3RydWN0IG52a21fdGhlcm1fY2xrZ2F0ZV9pbml0IGdrMTA0X2Nsa2dhdGVfYmxjZ19p bml0X2djY18wW107CitleHRlcm4gY29uc3Qgc3RydWN0IG52a21fdGhlcm1fY2xrZ2F0ZV9pbml0 IGdrMTA0X2Nsa2dhdGVfYmxjZ19pbml0X3NrZWRfMFtdOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBu dmttX3RoZXJtX2Nsa2dhdGVfaW5pdCBnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF91bmtfMVtdOwor ZXh0ZXJuIGNvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dhdGVfaW5pdCBnazEwNF9jbGtnYXRl X2JsY2dfaW5pdF9ncGNfY3R4Y3RsXzBbXTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgbnZrbV90aGVy bV9jbGtnYXRlX2luaXQgZ2sxMDRfY2xrZ2F0ZV9ibGNnX2luaXRfZ3BjX3Vua18wW107CitleHRl cm4gY29uc3Qgc3RydWN0IG52a21fdGhlcm1fY2xrZ2F0ZV9pbml0IGdrMTA0X2Nsa2dhdGVfYmxj Z19pbml0X2dwY19lc2V0dXBfMFtdOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Ns a2dhdGVfaW5pdCBnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9ncGNfdHBidXNfMFtdOworZXh0ZXJu IGNvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dhdGVfaW5pdCBnazEwNF9jbGtnYXRlX2JsY2df aW5pdF9ncGNfemN1bGxfMFtdOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dh dGVfaW5pdCBnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9ncGNfdHBjb25mXzBbXTsKK2V4dGVybiBj b25zdCBzdHJ1Y3QgbnZrbV90aGVybV9jbGtnYXRlX2luaXQgZ2sxMDRfY2xrZ2F0ZV9ibGNnX2lu aXRfZ3BjX3Vua18xW107CitleHRlcm4gY29uc3Qgc3RydWN0IG52a21fdGhlcm1fY2xrZ2F0ZV9p bml0IGdrMTA0X2Nsa2dhdGVfYmxjZ19pbml0X2dwY19nY2NfMFtdOworZXh0ZXJuIGNvbnN0IHN0 cnVjdCBudmttX3RoZXJtX2Nsa2dhdGVfaW5pdCBnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9ncGNf ZmZiXzBbXTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgbnZrbV90aGVybV9jbGtnYXRlX2luaXQgZ2sx MDRfY2xrZ2F0ZV9ibGNnX2luaXRfZ3BjX3RleF8wW107CitleHRlcm4gY29uc3Qgc3RydWN0IG52 a21fdGhlcm1fY2xrZ2F0ZV9pbml0IGdrMTA0X2Nsa2dhdGVfYmxjZ19pbml0X2dwY19wb2x5XzBb XTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgbnZrbV90aGVybV9jbGtnYXRlX2luaXQgZ2sxMDRfY2xr Z2F0ZV9ibGNnX2luaXRfZ3BjX2wxY18wW107CitleHRlcm4gY29uc3Qgc3RydWN0IG52a21fdGhl cm1fY2xrZ2F0ZV9pbml0IGdrMTA0X2Nsa2dhdGVfYmxjZ19pbml0X2dwY191bmtfMltdOworZXh0 ZXJuIGNvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dhdGVfaW5pdCBnazEwNF9jbGtnYXRlX2Js Y2dfaW5pdF9ncGNfbXBfMFtdOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dh dGVfaW5pdCBnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9ncGNfcHBjXzBbXTsKK2V4dGVybiBjb25z dCBzdHJ1Y3QgbnZrbV90aGVybV9jbGtnYXRlX2luaXQgZ2sxMDRfY2xrZ2F0ZV9ibGNnX2luaXRf cm9wX3pyb3BfMFtdOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dhdGVfaW5p dCBnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9yb3BfMFtdOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBu dmttX3RoZXJtX2Nsa2dhdGVfaW5pdCBnazEwNF9jbGtnYXRlX2JsY2dfaW5pdF9yb3BfY3JvcF8w W107CitleHRlcm4gY29uc3Qgc3RydWN0IG52a21fdGhlcm1fY2xrZ2F0ZV9pbml0IGdrMTA0X2Ns a2dhdGVfYmxjZ19pbml0X3B4YmFyXzBbXTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9mYi9nZjEwMC5jIGIvZHJpdmVycy9ncHUvZHJt L25vdXZlYXUvbnZrbS9zdWJkZXYvZmIvZ2YxMDAuYwppbmRleCA0N2QyOGMyNzk3MDcuLmNkYzRl MGEyY2M2YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYv ZmIvZ2YxMDAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9mYi9n ZjEwMC5jCkBAIC0yNiw2ICsyNiw3IEBACiAKICNpbmNsdWRlIDxjb3JlL21lbW9yeS5oPgogI2lu Y2x1ZGUgPGNvcmUvb3B0aW9uLmg+CisjaW5jbHVkZSA8c3ViZGV2L3RoZXJtLmg+CiAKIHZvaWQK IGdmMTAwX2ZiX2ludHIoc3RydWN0IG52a21fZmIgKmJhc2UpCkBAIC05Miw2ICs5MywxMSBAQCBn ZjEwMF9mYl9pbml0KHN0cnVjdCBudmttX2ZiICpiYXNlKQogCiAJaWYgKGZiLT5yMTAwYzEwX3Bh Z2UpCiAJCW52a21fd3IzMihkZXZpY2UsIDB4MTAwYzEwLCBmYi0+cjEwMGMxMCA+PiA4KTsKKwor CWlmIChiYXNlLT5mdW5jLT5jbGtnYXRlX3BhY2spIHsKKwkJbnZrbV90aGVybV9jbGtnYXRlX2lu aXQoZGV2aWNlLT50aGVybSwKKwkJCQkJYmFzZS0+ZnVuYy0+Y2xrZ2F0ZV9wYWNrKTsKKwl9CiB9 CiAKIHZvaWQgKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJk ZXYvZmIvZ2sxMDQuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L2ZiL2dr MTA0LmMKaW5kZXggMGE2ZThlYWFkNDJjLi40OGZkOThlMDhiYWEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L2ZiL2drMTA0LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvZmIvZ2sxMDQuYwpAQCAtMjAsMTAgKzIwLDU2IEBA CiAgKiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAgKgogICogQXV0aG9yczogQmVu IFNrZWdncworICogICAgICAgICAgTHl1ZGUgUGF1bAogICovCisjaW5jbHVkZSAiZ2sxMDQuaCIK ICNpbmNsdWRlICJnZjEwMC5oIgogI2luY2x1ZGUgInJhbS5oIgogCisvKgorICoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioKKyAqIFBHUkFQSCByZWdpc3RlcnMgZm9yIGNsb2NrZ2F0aW5nCisgKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKgorICovCitjb25zdCBzdHJ1Y3QgbnZrbV90aGVybV9jbGtnYXRlX2lu aXQKK2drMTA0X2ZiX2Nsa2dhdGVfYmxjZ19pbml0X3Vua18wW10gPSB7CisJeyAweDEwMGQxMCwg MSwgMHgwMDAwYzI0NCB9LAorCXsgMHgxMDBkMzAsIDEsIDB4MDAwMGMyNDIgfSwKKwl7IDB4MTAw ZDNjLCAxLCAweDAwMDAwMjQyIH0sCisJeyAweDEwMGQ0OCwgMSwgMHgwMDAwMDI0MiB9LAorCXsg MHgxMDBkMWMsIDEsIDB4MDAwMDAwNDIgfSwKKwl7fQorfTsKKworY29uc3Qgc3RydWN0IG52a21f dGhlcm1fY2xrZ2F0ZV9pbml0CitnazEwNF9mYl9jbGtnYXRlX2JsY2dfaW5pdF92bV8wW10gPSB7 CisJeyAweDEwMGM5OCwgMSwgMHgwMDAwMDI0MiB9LAorCXt9Cit9OworCitjb25zdCBzdHJ1Y3Qg bnZrbV90aGVybV9jbGtnYXRlX2luaXQKK2drMTA0X2ZiX2Nsa2dhdGVfYmxjZ19pbml0X21haW5f MFtdID0geworCXsgMHgxMGYwMDAsIDEsIDB4MDAwMDAwNDIgfSwKKwl7IDB4MTdlMDMwLCAxLCAw eDAwMDAwMDQ0IH0sCisJeyAweDE3ZTA0MCwgMSwgMHgwMDAwMDA0NCB9LAorCXt9Cit9OworCitj b25zdCBzdHJ1Y3QgbnZrbV90aGVybV9jbGtnYXRlX2luaXQKK2drMTA0X2ZiX2Nsa2dhdGVfYmxj Z19pbml0X2JjYXN0XzBbXSA9IHsKKwl7IDB4MTdlYTYwLCA0LCAweDAwMDAwMDQ0IH0sCisJe30K K307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbnZrbV90aGVybV9jbGtnYXRlX3BhY2sKK2drMTA0 X2ZiX2Nsa2dhdGVfcGFja1tdID0geworCXsgZ2sxMDRfZmJfY2xrZ2F0ZV9ibGNnX2luaXRfdW5r XzAgfSwKKwl7IGdrMTA0X2ZiX2Nsa2dhdGVfYmxjZ19pbml0X3ZtXzAgfSwKKwl7IGdrMTA0X2Zi X2Nsa2dhdGVfYmxjZ19pbml0X21haW5fMCB9LAorCXsgZ2sxMDRfZmJfY2xrZ2F0ZV9ibGNnX2lu aXRfYmNhc3RfMCB9LAorCXt9Cit9OworCiBzdGF0aWMgY29uc3Qgc3RydWN0IG52a21fZmJfZnVu YwogZ2sxMDRfZmIgPSB7CiAJLmR0b3IgPSBnZjEwMF9mYl9kdG9yLApAQCAtMzMsNiArNzksNyBA QCBnazEwNF9mYiA9IHsKIAkuaW50ciA9IGdmMTAwX2ZiX2ludHIsCiAJLnJhbV9uZXcgPSBnazEw NF9yYW1fbmV3LAogCS5kZWZhdWx0X2JpZ3BhZ2UgPSAxNywKKwkuY2xrZ2F0ZV9wYWNrID0gZ2sx MDRfZmJfY2xrZ2F0ZV9wYWNrLAogfTsKIAogaW50CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vbm91dmVhdS9udmttL3N1YmRldi9mYi9nazEwNC5oIGIvZHJpdmVycy9ncHUvZHJtL25vdXZl YXUvbnZrbS9zdWJkZXYvZmIvZ2sxMDQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLmIzYzc4ZTRmZjcwNgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9ub3V2ZWF1L252a20vc3ViZGV2L2ZiL2drMTA0LmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAq IENvcHlyaWdodCAyMDE4IFJlZCBIYXQgSW5jLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5 IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBj b3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo dGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0 cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1 c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us CisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBl cnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi amVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHly aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQg aW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJl LgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB TlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBF VkVOVCBTSEFMTAorICogVEhFIENPUFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9SKFMpIEJFIExJ QUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SCisgKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwKKyAqIEFSSVNJ TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhF IFVTRSBPUgorICogT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIEF1dGhv cnM6IEx5dWRlIFBhdWwKKyAqLworCisjaWZuZGVmIF9fR0sxMDRfRkJfSF9fCisjZGVmaW5lIF9f R0sxMDRfRkJfSF9fCisKKyNpbmNsdWRlIDxzdWJkZXYvdGhlcm0uaD4KKworZXh0ZXJuIGNvbnN0 IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dhdGVfaW5pdCBnazEwNF9mYl9jbGtnYXRlX2JsY2dfaW5p dF91bmtfMFtdOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dhdGVfaW5pdCBn azEwNF9mYl9jbGtnYXRlX2JsY2dfaW5pdF92bV8wW107CitleHRlcm4gY29uc3Qgc3RydWN0IG52 a21fdGhlcm1fY2xrZ2F0ZV9pbml0IGdrMTA0X2ZiX2Nsa2dhdGVfYmxjZ19pbml0X21haW5fMFtd OworZXh0ZXJuIGNvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dhdGVfaW5pdCBnazEwNF9mYl9j bGtnYXRlX2JsY2dfaW5pdF9iY2FzdF8wW107CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvZmIvcHJpdi5oIGIvZHJpdmVycy9ncHUvZHJt L25vdXZlYXUvbnZrbS9zdWJkZXYvZmIvcHJpdi5oCmluZGV4IDkzNTExODhkNWQ3Ni4uNDE0YTQy M2UwZTU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9m Yi9wcml2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvZmIvcHJp di5oCkBAIC0zLDYgKzMsNyBAQAogI2RlZmluZSBfX05WS01fRkJfUFJJVl9IX18KICNkZWZpbmUg bnZrbV9mYihwKSBjb250YWluZXJfb2YoKHApLCBzdHJ1Y3QgbnZrbV9mYiwgc3ViZGV2KQogI2lu Y2x1ZGUgPHN1YmRldi9mYi5oPgorI2luY2x1ZGUgPHN1YmRldi90aGVybS5oPgogc3RydWN0IG52 a21fYmlvczsKIAogc3RydWN0IG52a21fZmJfZnVuYyB7CkBAIC0yNyw2ICsyOCw3IEBAIHN0cnVj dCBudmttX2ZiX2Z1bmMgewogCWludCAoKnJhbV9uZXcpKHN0cnVjdCBudmttX2ZiICosIHN0cnVj dCBudmttX3JhbSAqKik7CiAKIAl1OCBkZWZhdWx0X2JpZ3BhZ2U7CisJY29uc3Qgc3RydWN0IG52 a21fdGhlcm1fY2xrZ2F0ZV9wYWNrICpjbGtnYXRlX3BhY2s7CiB9OwogCiB2b2lkIG52a21fZmJf Y3Rvcihjb25zdCBzdHJ1Y3QgbnZrbV9mYl9mdW5jICosIHN0cnVjdCBudmttX2RldmljZSAqZGV2 aWNlLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvdGhl cm0vS2J1aWxkIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvdGhlcm0vS2J1 aWxkCmluZGV4IDRiYWM0NzcyZDhlZC4uNTUwNzAyZWFiMGIxIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi90aGVybS9LYnVpbGQKKysrIGIvZHJpdmVycy9n cHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvdGhlcm0vS2J1aWxkCkBAIC05LDYgKzksNyBAQCBu dmttLXkgKz0gbnZrbS9zdWJkZXYvdGhlcm0vbnY0MC5vCiBudmttLXkgKz0gbnZrbS9zdWJkZXYv dGhlcm0vbnY1MC5vCiBudmttLXkgKz0gbnZrbS9zdWJkZXYvdGhlcm0vZzg0Lm8KIG52a20teSAr PSBudmttL3N1YmRldi90aGVybS9ndDIxNS5vCitudmttLXkgKz0gbnZrbS9zdWJkZXYvdGhlcm0v Z2YxMDAubwogbnZrbS15ICs9IG52a20vc3ViZGV2L3RoZXJtL2dmMTE5Lm8KIG52a20teSArPSBu dmttL3N1YmRldi90aGVybS9nazEwNC5vCiBudmttLXkgKz0gbnZrbS9zdWJkZXYvdGhlcm0vZ20x MDcubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvdGhl cm0vYmFzZS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvdGhlcm0vYmFz ZS5jCmluZGV4IGNmMWQ1YWYzMGY1Zi4uZGUwN2JjMDdhYmRiIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi90aGVybS9iYXNlLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvdGhlcm0vYmFzZS5jCkBAIC0zOTEsNiArMzkxLDE2 IEBAIG52a21fdGhlcm1faW5pdChzdHJ1Y3QgbnZrbV9zdWJkZXYgKnN1YmRldikKIAlyZXR1cm4g MDsKIH0KIAordm9pZAorbnZrbV90aGVybV9jbGtnYXRlX2luaXQoc3RydWN0IG52a21fdGhlcm0g KnRoZXJtLAorCQkJY29uc3Qgc3RydWN0IG52a21fdGhlcm1fY2xrZ2F0ZV9wYWNrICpwKQorewor CWlmICghdGhlcm0tPmZ1bmMtPmNsa2dhdGVfaW5pdCB8fCAhdGhlcm0tPmNsa2dhdGluZ19lbmFi bGVkKQorCQlyZXR1cm47CisKKwl0aGVybS0+ZnVuYy0+Y2xrZ2F0ZV9pbml0KHRoZXJtLCBwKTsK K30KKwogc3RhdGljIHZvaWQgKgogbnZrbV90aGVybV9kdG9yKHN0cnVjdCBudmttX3N1YmRldiAq c3ViZGV2KQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJk ZXYvdGhlcm0vZ2YxMDAuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3Ro ZXJtL2dmMTAwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hMGRh N2Y4YjdkOTMKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmtt L3N1YmRldi90aGVybS9nZjEwMC5jCkBAIC0wLDAgKzEsNzUgQEAKKy8qCisgKiBDb3B5cmlnaHQg MjAxOCBSZWQgSGF0IEluYy4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29weSBvZiB0aGlz IHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdh cmUiKSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGlu Y2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBt b2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5kL29y IHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdo b20gdGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhl IGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBhbGwg Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBU SEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg S0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU TyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwK KyAqIFRIRSBDT1BZUklHSFQgSE9MREVSKFMpIE9SIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFO WSBDTEFJTSwgREFNQUdFUyBPUgorICogT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD VElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsCisgKiBBUklTSU5HIEZST00sIE9V VCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKKyAq IE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBBdXRob3JzOiBMeXVkZSBQ YXVsCisgKi8KKyNpbmNsdWRlIDxjb3JlL2RldmljZS5oPgorCisjaW5jbHVkZSAicHJpdi5oIgor CisjZGVmaW5lIHBhY2tfZm9yX2VhY2hfaW5pdChpbml0LCBwYWNrLCBoZWFkKSAgICAgICAgICAg ICAgICAgICAgICAgICAgXAorCWZvciAocGFjayA9IGhlYWQ7IHBhY2sgJiYgcGFjay0+aW5pdDsg cGFjaysrKSAgICAgICAgICAgICAgICAgXAorCQkgIGZvciAoaW5pdCA9IHBhY2stPmluaXQ7IGlu aXQgJiYgaW5pdC0+Y291bnQ7IGluaXQrKykKK3ZvaWQKK2dmMTAwX2Nsa2dhdGVfaW5pdChzdHJ1 Y3QgbnZrbV90aGVybSAqdGhlcm0sCisJCSAgIGNvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dh dGVfcGFjayAqcCkKK3sKKwlzdHJ1Y3QgbnZrbV9kZXZpY2UgKmRldmljZSA9IHRoZXJtLT5zdWJk ZXYuZGV2aWNlOworCWNvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dhdGVfcGFjayAqcGFjazsK Kwljb25zdCBzdHJ1Y3QgbnZrbV90aGVybV9jbGtnYXRlX2luaXQgKmluaXQ7CisJdTMyIG5leHQs IGFkZHI7CisKKwlwYWNrX2Zvcl9lYWNoX2luaXQoaW5pdCwgcGFjaywgcCkgeworCQluZXh0ID0g aW5pdC0+YWRkciArIGluaXQtPmNvdW50ICogODsKKwkJYWRkciA9IGluaXQtPmFkZHI7CisKKwkJ bnZrbV90cmFjZSgmdGhlcm0tPnN1YmRldiwgInsgMHglMDZ4LCAlZCwgMHglMDh4IH1cbiIsCisJ CQkgICBpbml0LT5hZGRyLCBpbml0LT5jb3VudCwgaW5pdC0+ZGF0YSk7CisJCXdoaWxlIChhZGRy IDwgbmV4dCkgeworCQkJbnZrbV90cmFjZSgmdGhlcm0tPnN1YmRldiwgIlx0MHglMDZ4ID0gMHgl MDh4XG4iLAorCQkJCSAgIGFkZHIsIGluaXQtPmRhdGEpOworCQkJbnZrbV93cjMyKGRldmljZSwg YWRkciwgaW5pdC0+ZGF0YSk7CisJCQlhZGRyICs9IDg7CisJCX0KKwl9Cit9CisKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbnZrbV90aGVybV9mdW5jCitnZjEwMF90aGVybV9mdW5jID0geworCS5pbml0 ID0gZ3QyMTVfdGhlcm1faW5pdCwKKwkuZmluaSA9IGc4NF90aGVybV9maW5pLAorCS5wd21fY3Ry bCA9IG52NTBfZmFuX3B3bV9jdHJsLAorCS5wd21fZ2V0ID0gbnY1MF9mYW5fcHdtX2dldCwKKwku cHdtX3NldCA9IG52NTBfZmFuX3B3bV9zZXQsCisJLnB3bV9jbG9jayA9IG52NTBfZmFuX3B3bV9j bG9jaywKKwkudGVtcF9nZXQgPSBnODRfdGVtcF9nZXQsCisJLmZhbl9zZW5zZSA9IGd0MjE1X3Ro ZXJtX2Zhbl9zZW5zZSwKKwkucHJvZ3JhbV9hbGFybXMgPSBudmttX3RoZXJtX3Byb2dyYW1fYWxh cm1zX3BvbGxpbmcsCisJLyogVE9ETzogRmVybWkgY2xvY2tnYXRpbmcgaXNuJ3QgdW5kZXJzdG9v ZCBmdWxseSB5ZXQsIHNvIHdlIGxlYXZlIGl0CisJICogZGlzYWJsZWQgaGVyZSAqLworfTsKKwor aW50CitnZjEwMF90aGVybV9uZXcoc3RydWN0IG52a21fZGV2aWNlICpkZXZpY2UsIGludCBpbmRl eCwKKwkJc3RydWN0IG52a21fdGhlcm0gKipwdGhlcm0pCit7CisJcmV0dXJuIG52a21fdGhlcm1f bmV3XygmZ2YxMDBfdGhlcm1fZnVuYywgZGV2aWNlLCBpbmRleCwgcHRoZXJtKTsKK30KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3RoZXJtL2drMTA0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi90aGVybS9nazEwNC5jCmluZGV4 IDc5ODA2YTc1Nzg5My4uNGUwMzk3MWQyZTNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v bm91dmVhdS9udmttL3N1YmRldi90aGVybS9nazEwNC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L252a20vc3ViZGV2L3RoZXJtL2drMTA0LmMKQEAgLTEwMCw2ICsxMDAsNyBAQCBnazEw NF90aGVybV9mdW5jID0gewogCS50ZW1wX2dldCA9IGc4NF90ZW1wX2dldCwKIAkuZmFuX3NlbnNl ID0gZ3QyMTVfdGhlcm1fZmFuX3NlbnNlLAogCS5wcm9ncmFtX2FsYXJtcyA9IG52a21fdGhlcm1f cHJvZ3JhbV9hbGFybXNfcG9sbGluZywKKwkuY2xrZ2F0ZV9pbml0ID0gZ2YxMDBfY2xrZ2F0ZV9p bml0LAogCS5jbGtnYXRlX2VuYWJsZSA9IGdrMTA0X2Nsa2dhdGVfZW5hYmxlLAogCS5jbGtnYXRl X2ZpbmkgPSBnazEwNF9jbGtnYXRlX2ZpbmksCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvdGhlcm0vZ3QyMTUuYyBiL2RyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L252a20vc3ViZGV2L3RoZXJtL2d0MjE1LmMKaW5kZXggYzA4MDk3ZjJhZmY1Li40Y2Fm NDAxZDAwMWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2 L3RoZXJtL2d0MjE1LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYv dGhlcm0vZ3QyMTUuYwpAQCAtMzYsNyArMzYsNyBAQCBndDIxNV90aGVybV9mYW5fc2Vuc2Uoc3Ry dWN0IG52a21fdGhlcm0gKnRoZXJtKQogCXJldHVybiAtRU5PREVWOwogfQogCi1zdGF0aWMgdm9p ZAordm9pZAogZ3QyMTVfdGhlcm1faW5pdChzdHJ1Y3QgbnZrbV90aGVybSAqdGhlcm0pCiB7CiAJ c3RydWN0IG52a21fZGV2aWNlICpkZXZpY2UgPSB0aGVybS0+c3ViZGV2LmRldmljZTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3RoZXJtL3ByaXYuaCBi L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3RoZXJtL3ByaXYuaAppbmRleCBm MzAyMDJkZDg4ZTcuLmE3MzdlOWI4YTU4NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbnZrbS9zdWJkZXYvdGhlcm0vcHJpdi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2 ZWF1L252a20vc3ViZGV2L3RoZXJtL3ByaXYuaApAQCAtOTcsNiArOTcsOCBAQCBzdHJ1Y3QgbnZr bV90aGVybV9mdW5jIHsKIAogCXZvaWQgKCpwcm9ncmFtX2FsYXJtcykoc3RydWN0IG52a21fdGhl cm0gKik7CiAKKwl2b2lkICgqY2xrZ2F0ZV9pbml0KShzdHJ1Y3QgbnZrbV90aGVybSAqLAorCQkJ ICAgICBjb25zdCBzdHJ1Y3QgbnZrbV90aGVybV9jbGtnYXRlX3BhY2sgKik7CiAJdm9pZCAoKmNs a2dhdGVfZW5hYmxlKShzdHJ1Y3QgbnZrbV90aGVybSAqKTsKIAl2b2lkICgqY2xrZ2F0ZV9maW5p KShzdHJ1Y3QgbnZrbV90aGVybSAqLCBib29sKTsKIH07CkBAIC0xMTQsNiArMTE2LDkgQEAgdm9p ZCBnODRfdGhlcm1fZmluaShzdHJ1Y3QgbnZrbV90aGVybSAqKTsKIAogaW50IGd0MjE1X3RoZXJt X2Zhbl9zZW5zZShzdHJ1Y3QgbnZrbV90aGVybSAqKTsKIAordm9pZCBnZjEwMF9jbGtnYXRlX2lu aXQoc3RydWN0IG52a21fdGhlcm0gKiwKKwkJCWNvbnN0IHN0cnVjdCBudmttX3RoZXJtX2Nsa2dh dGVfcGFjayAqKTsKKwogdm9pZCBnODRfdGhlcm1faW5pdChzdHJ1Y3QgbnZrbV90aGVybSAqKTsK IAogaW50IGdmMTE5X2Zhbl9wd21fY3RybChzdHJ1Y3QgbnZrbV90aGVybSAqLCBpbnQsIGJvb2wp OwpAQCAtMTIyLDYgKzEyNyw5IEBAIGludCBnZjExOV9mYW5fcHdtX3NldChzdHJ1Y3QgbnZrbV90 aGVybSAqLCBpbnQsIHUzMiwgdTMyKTsKIGludCBnZjExOV9mYW5fcHdtX2Nsb2NrKHN0cnVjdCBu dmttX3RoZXJtICosIGludCk7CiB2b2lkIGdmMTE5X3RoZXJtX2luaXQoc3RydWN0IG52a21fdGhl cm0gKik7CiAKK3ZvaWQgZ3QyMTVfdGhlcm1faW5pdChzdHJ1Y3QgbnZrbV90aGVybSAqdGhlcm0p OworCit2b2lkIGdrMTA0X3RoZXJtX2luaXQoc3RydWN0IG52a21fdGhlcm0gKik7CiB2b2lkIGdr MTA0X2Nsa2dhdGVfZW5hYmxlKHN0cnVjdCBudmttX3RoZXJtICopOwogdm9pZCBnazEwNF9jbGtn YXRlX2Zpbmkoc3RydWN0IG52a21fdGhlcm0gKiwgYm9vbCk7CiAKLS0gCjIuMTQuMwoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTm91dmVhdSBtYWlsaW5n IGxpc3QKTm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9ub3V2ZWF1Cg==