From owner-freebsd-arm@freebsd.org Thu Aug 20 10:12:22 2015 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 204A59BC9E6 for ; Thu, 20 Aug 2015 10:12:22 +0000 (UTC) (envelope-from onwahe@gmail.com) Received: from mail-ig0-x233.google.com (mail-ig0-x233.google.com [IPv6:2607:f8b0:4001:c05::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DB9AC1EE8; Thu, 20 Aug 2015 10:12:21 +0000 (UTC) (envelope-from onwahe@gmail.com) Received: by igui7 with SMTP id i7so10428473igu.1; Thu, 20 Aug 2015 03:12:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=6lmhi6Gulj2pw9s1Um8qgug4andVYxDDM+hiASejN7Y=; b=WobGzDpBEzA8Ixkoz+Y28sD2SSnKAD81OyCmcI05DXbuX4A1HCwdSsKxjmikbiGor5 Q97vsnnxmHw1+s5b/NXGcN3VBIVJYV+r4bFGcv1fNa9chogDgrYt6InLIGmRV1tp/24S UdlJv2557pldNzCqtbVygVc+L3Hn5VbLBhkrBew8qXCcW4ynLchKXUuVjOdIGO97yriJ gtjQ11C1wvoThlMrdB87eRGtGE54QgUqzyuPwQTGgJ+8R35UINkjDu/zwcJqiUAi1Z8u vEy0XFcFJKSl6Avhg8+M9TE4ayqb5CpopYwmuoZbVioyhGaKWOVz8vPzUuBMpfqjhqGR zslg== MIME-Version: 1.0 X-Received: by 10.50.59.211 with SMTP id b19mr31417147igr.42.1440065541087; Thu, 20 Aug 2015 03:12:21 -0700 (PDT) Received: by 10.64.239.196 with HTTP; Thu, 20 Aug 2015 03:12:20 -0700 (PDT) In-Reply-To: <20150819232836.GA1245@hades.panopticon> References: <20150819002103.GC79354@hades.panopticon> <1439944961.242.150.camel@freebsd.org> <20150819013834.GD79354@hades.panopticon> <20150819120753.GH79354@hades.panopticon> <20150819134708.GJ79354@hades.panopticon> <20150819232836.GA1245@hades.panopticon> Date: Thu, 20 Aug 2015 12:12:20 +0200 Message-ID: Subject: Re: Instability likely related to new pmap on Cubieboard A10 From: Svatopluk Kraus To: Dmitry Marakasov Cc: Adrian Chadd , "freebsd-arm@FreeBSD.org" , Ian Lepore Content-Type: multipart/mixed; boundary=047d7bd7575808188a051dbb6378 X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2015 10:12:22 -0000 --047d7bd7575808188a051dbb6378 Content-Type: text/plain; charset=UTF-8 On Thu, Aug 20, 2015 at 1:28 AM, Dmitry Marakasov wrote: > * Svatopluk Kraus (onwahe@gmail.com) wrote: > >> >> Great! I'm hunting this kind of panic for long time, but it never was >> >> so stable. Can you send me "show pmap addr" output from kdb after >> >> panic - pmap address is in panic message. >> > >> > https://people.freebsd.org/~amdmi3/pmap.log >> > >> >> Can you apply debug patch I'm attaching, enable KTR in your config >> with KTR_PMAP mask at least, and send me output of the following >> commands after panic : >> >> show ktr >> show pmap >> >> Output from ktr should be scrolled until a line like >> "pmap_remove_page - pmap xxx" will be in there. > > https://people.freebsd.org/~amdmi3/pmap1.log > > show ktr output is quite big, I've only scrolled through a part of it. > Thank you. I have not noticed until now that you are running Cortex A8. We have an open issue on BBB which is A8 too. Can you try to disable promotion - i.e. edit the following line in pmap-v6-new.c: static int sp_enabled = 1; and set the variable to zero. If it helps, set it again to 1 and try attached patch, please. If neither the first nor the seconf attemp will work, can you send me output like before but from another panic. I would like to see diference. Thanks, Svata --047d7bd7575808188a051dbb6378 Content-Type: application/octet-stream; name="pm_pt1_wip3.patch" Content-Disposition: attachment; filename="pm_pt1_wip3.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_idk1iqb20 ZGlmZiAtLWdpdCBhL3N5cy9hcm0vYXJtL3BtYXAtdjYtbmV3LmMgYi9zeXMvYXJtL2FybS9wbWFw LXY2LW5ldy5jCmluZGV4IDEzYTk3ZGUuLjYwZGQzYTIgMTAwNjQ0Ci0tLSBhL3N5cy9hcm0vYXJt L3BtYXAtdjYtbmV3LmMKKysrIGIvc3lzL2FybS9hcm0vcG1hcC12Ni1uZXcuYwpAQCAtMTQ1Niw2 ICsxNDU2LDE0IEBAIHN0YXRpYyB1X2xvbmcgcG1hcF9wdGUxX2RlbW90aW9uczsKIFNZU0NUTF9V TE9ORyhfdm1fcG1hcF9wdGUxLCBPSURfQVVUTywgZGVtb3Rpb25zLCBDVExGTEFHX1JELAogICAg ICZwbWFwX3B0ZTFfZGVtb3Rpb25zLCAwLCAiMU1CIHBhZ2UgZGVtb3Rpb25zIik7CiAKK3N0YXRp YyB1X2xvbmcgcG1hcF9wdGUxX2tkZW1vdGlvbnM7CitTWVNDVExfVUxPTkcoX3ZtX3BtYXBfcHRl MSwgT0lEX0FVVE8sIGtkZW1vdGlvbnMsIENUTEZMQUdfUkQsCisgICAgJnBtYXBfcHRlMV9rZGVt b3Rpb25zLCAwLCAiMU1CIHBhZ2Uga2VybmVsIGRlbW90aW9ucyIpOworCitzdGF0aWMgdV9sb25n IHBtYXBfcHRlMV9rcHJvbW90aW9uczsKK1NZU0NUTF9VTE9ORyhfdm1fcG1hcF9wdGUxLCBPSURf QVVUTywga3Byb21vdGlvbnMsIENUTEZMQUdfUkQsCisgICAgJnBtYXBfcHRlMV9rcHJvbW90aW9u cywgMCwgIjFNQiBwYWdlIGtlcm5lbCBwcm9tb3Rpb25zIik7CisKIHN0YXRpYyB1X2xvbmcgcG1h cF9wdGUxX21hcHBpbmdzOwogU1lTQ1RMX1VMT05HKF92bV9wbWFwX3B0ZTEsIE9JRF9BVVRPLCBt YXBwaW5ncywgQ1RMRkxBR19SRCwKICAgICAmcG1hcF9wdGUxX21hcHBpbmdzLCAwLCAiMU1CIHBh Z2UgbWFwcGluZ3MiKTsKQEAgLTE0NjgsNiArMTQ3NiwxNCBAQCBzdGF0aWMgdV9sb25nIHBtYXBf cHRlMV9wcm9tb3Rpb25zOwogU1lTQ1RMX1VMT05HKF92bV9wbWFwX3B0ZTEsIE9JRF9BVVRPLCBw cm9tb3Rpb25zLCBDVExGTEFHX1JELAogICAgICZwbWFwX3B0ZTFfcHJvbW90aW9ucywgMCwgIjFN QiBwYWdlIHByb21vdGlvbnMiKTsKIAorc3RhdGljIHVfbG9uZyBwbWFwX3B0ZTFfdXNlcmFib3J0 czsKK1NZU0NUTF9VTE9ORyhfdm1fcG1hcF9wdGUxLCBPSURfQVVUTywgdXNlcmFib3J0cywgQ1RM RkxBR19SRCwKKyAgICAmcG1hcF9wdGUxX3VzZXJhYm9ydHMsIDAsICIxTUIgcGFnZSB1c2VyIGZp eGVzIik7CisKK3N0YXRpYyB1X2xvbmcgcG1hcF9wdGUxX3VzZXJmaXhlczsKK1NZU0NUTF9VTE9O Ryhfdm1fcG1hcF9wdGUxLCBPSURfQVVUTywgdXNlcmZpeGVzLCBDVExGTEFHX1JELAorICAgICZw bWFwX3B0ZTFfdXNlcmZpeGVzLCAwLCAiMU1CIHBhZ2UgdXNlciBmaXhlcyIpOworCiBzdGF0aWMg X19pbmxpbmUgdHRiX2VudHJ5X3QKIHBtYXBfdHRiX2dldChwbWFwX3QgcG1hcCkKIHsKQEAgLTMx MzMsNiArMzE0OSwxNDIgQEAgcG1hcF9wdl9pbnNlcnRfcHRlMShwbWFwX3QgcG1hcCwgdm1fb2Zm c2V0X3QgdmEsIHZtX3BhZGRyX3QgcGEpCiAJCXJldHVybiAoRkFMU0UpOwogfQogCitzdGF0aWMg dm9pZAorcG1hcF91cGRhdGVfcHRlMV9rZXJuZWwodm1fb2Zmc2V0X3QgdmEsIHB0MV9lbnRyeV90 IG5wdGUxKQoreworCXBtYXBfdCBwbWFwOworCXB0MV9lbnRyeV90ICpwdGUxcDsKKworCS8qCisJ ICogR2V0IGN1cnJlbnQgcG1hcC4gSW50ZXJydXB0cyBzaG91bGQgYmUgZGlzYWJsZWQgaGVyZQor CSAqIHNvIFBDUFVfR0VUKCkgaXMgZG9uZSBhdG9taWNhbGx5LgorCSAqLworCXBtYXAgPSBQQ1BV X0dFVChjdXJwbWFwKTsKKwlpZiAocG1hcCA9PSBOVUxMKQorCQlwbWFwID0ga2VybmVsX3BtYXA7 CisKKwkvKgorCSAqICAgKDEpIENoYW5nZSBwdGUxIG9uIGN1cnJlbnQgcG1hcC4KKwkgKiAgICgy KSBGbHVzaCBhbGwgb2Jzb2xldGUgVExCIGVudHJpZXMgb24gY3VycmVudCBDUFUuCisJICogICAo MykgQ2hhbmdlIHB0ZTEgb24gYWxsIHBtYXBzLgorCSAqICAgKDQpIEZsdXNoIGFsbCBvYnNvbGV0 ZSBUTEIgZW50cmllcyBvbiBhbGwgQ1BVcyBpbiBTTVAgY2FzZS4KKwkgKi8KKworCXB0ZTFwID0g cG1hcF9wdGUxKHBtYXAsIHZhKTsKKwlwdGUxX3N0b3JlKHB0ZTFwLCBucHRlMSk7CisKKwlpZiAo cHRlMV9pc19zZWN0aW9uKG5wdGUxKSkgeworCQkvKiBLaWxsIGFsbCB0aGUgc21hbGwgbWFwcGlu Z3MuICovCisJCXRsYl9mbHVzaF9yYW5nZV9sb2NhbChwdGUxX3RydW5jKHZhKSwgUFRFMV9TSVpF KTsKKwkJcG1hcF9wdGUxX2twcm9tb3Rpb25zKys7CisJfSBlbHNlIHsKKwkJLyogS2lsbCB0aGUg b25lIGJpZyBtYXBwaW5nLiAqLworCQl0bGJfZmx1c2hfbG9jYWwocHRlMV90cnVuYyh2YSkpOwor CQlwbWFwX3B0ZTFfa2RlbW90aW9ucysrOworCX0KKworCS8qCisJICogVGhpcyBmdW5jdGlvbiBp cyBjYWxsZWQgZWl0aGVyIHdoZW4gYWxsIGNwdXMgYXJlIGF0IHNtcCByZW5kZXp2b3VzCisJICog aW4gU01QIGNhc2Ugb3Igc3BpbmxvY2tfZW50ZXIoKSA8LT4gc3BpbmxvY2tfZXhpdCgpIHNlY3Rp b24gaXMgdXNlZAorCSAqIGluIFVQIGNhc2UuIFRodXMgdGhlcmUgaXMgbm8gbmVlZCB0byB1c2Ug J2FsbHBtYXBzX2xvY2snIHNwaW5sb2NrCisJICogbXV0ZXggaGVyZS4KKwkgKi8KKwlMSVNUX0ZP UkVBQ0gocG1hcCwgJmFsbHBtYXBzLCBwbV9saXN0KSB7CisJCXB0ZTFwID0gcG1hcF9wdGUxKHBt YXAsIHZhKTsKKwkJcHRlMV9zdG9yZShwdGUxcCwgbnB0ZTEpOworCX0KKyNpZmRlZiBTTVAKKwlp ZiAocHRlMV9pc19zZWN0aW9uKG5wdGUxKSkgeworCQkvKiBLaWxsIGFsbCB0aGUgc21hbGwgbWFw cGluZ3MuICovCisJCXRsYl9mbHVzaF9yYW5nZShwdGUxX3RydW5jKHZhKSwgUFRFMV9TSVpFKTsK KwkJcG1hcF9wdGUxX2twcm9tb3Rpb25zKys7CisJfSBlbHNlIHsKKwkJLyogS2lsbCB0aGUgb25l IGJpZyBtYXBwaW5nLiAqLworCQl0bGJfZmx1c2gocHRlMV90cnVuYyh2YSkpOworCQlwbWFwX3B0 ZTFfa2RlbW90aW9ucysrOworCX0KKyNlbmRpZgorfQorCisjaWZkZWYgU01QCitzdHJ1Y3QgcHRl MV9hY3Rpb24geworCXZtX29mZnNldF90IHZhOworCXB0MV9lbnRyeV90IG5wdGUxOworCXVfaW50 IHVwZGF0ZTsJCS8qIENQVSB0aGF0IHVwZGF0ZXMgdGhlIFBURTEgKi8KK307CisKK3N0YXRpYyB2 b2lkCitwbWFwX3VwZGF0ZV9wdGUxX2FjdGlvbih2b2lkICphcmcpCit7CisJc3RydWN0IHB0ZTFf YWN0aW9uICphY3QgPSBhcmc7CisKKwlpZiAoYWN0LT51cGRhdGUgPT0gUENQVV9HRVQoY3B1aWQp KQorCQlwbWFwX3VwZGF0ZV9wdGUxX2tlcm5lbChhY3QtPnZhLCBhY3QtPm5wdGUxKTsKK30KKyNl bmRpZgorLyoKKyAqICBDaGFuZ2UgcHRlMSBvbiBjdXJyZW50IHBtYXAuCisgKiAgTm90ZSB0aGF0 IGtlcm5lbCBwdGUxIG11c3QgYmUgY2hhbmdlZCBvbiBhbGwgcG1hcHMuCisgKgorICogIEJ5IEFS TSBBUk0gbWFudWFsLCB0aGUgYmVoYXZpb3VyIGlzIFVOUFJFRElDQUJMRSB3aGVuIHR3byBvciBt b3JlIFRMQgorICogIGVudHJpZXMgbWFwIHNhbWUgVkEuIEl0J3Mgb25seSBwcm9ibGVtIHdoZW4g ZWl0aGVyIHByb21vdGlvbiBvciBkZW1vdGlvbgorICogIGlzIGJlaW5nIGRvbmUuIEl0IHRoZXNl IGNhc2VzLCBwdGUxIHVwZGF0ZSBhbmQgYXBwcm9wcmlhdGUgVExCIGZsdXNoIG11c3QKKyAqICBi ZSBkb25lIGF0b21pY2FsbHkgaW4gZ2VuZXJhbC4KKyAqLworc3RhdGljIHZvaWQKK3BtYXBfY2hh bmdlX3B0ZTEocG1hcF90IHBtYXAsIHB0MV9lbnRyeV90ICpwdGUxcCwgdm1fb2Zmc2V0X3QgdmEs CisgICAgcHQxX2VudHJ5X3QgbnB0ZTEpCit7CisKKwlQTUFQX0xPQ0tfQVNTRVJUKHBtYXAsIE1B X09XTkVEKTsKKworCWlmIChwbWFwID09IGtlcm5lbF9wbWFwKSB7CisJCS8qCisJCSAqIFRoZSBi cmVhay1iZWZvcmUtbWFrZSBhcHByb2FjaCBjYW5ub3QgYmUgdXNlZCBmb3Iga2VybmVsCisJCSAq IG1hcHBpbmdzLiBJdCB3b3VsZCBiZSB1bmhhcHB5IHRvIHVubWFwIGl0c2VsZiB1bmV4cGVjdGVk bHkuCisJCSAqIFdlIG5lZWQgdG8gZnJlZXplIGV2ZXJ5dGhpbmcgYXMgd2UgYXJlIGdvaW5nIHRv IGNoYW5nZSBwdGUxCisJCSAqIG9mIGtlcm5lbCBtYXBwaW5nLgorCQkgKi8KKyNpZmRlZiBTTVAK KwkJc3RydWN0IHB0ZTFfYWN0aW9uIGFjdDsKKworCQlzY2hlZF9waW4oKTsKKwkJYWN0LnZhID0g dmE7CisJCWFjdC5ucHRlMSA9IG5wdGUxOworCQlhY3QudXBkYXRlID0gUENQVV9HRVQoY3B1aWQp OworCQlzbXBfcmVuZGV6dm91c19jcHVzKGFsbF9jcHVzLCBzbXBfbm9fcmVuZGV2b3VzX2JhcnJp ZXIsCisJCSAgICBwbWFwX3VwZGF0ZV9wdGUxX2FjdGlvbiwgTlVMTCwgJmFjdCk7CisJCXNjaGVk X3VucGluKCk7CisjZWxzZQorCQlzcGlubG9ja19lbnRlcigpOworCQlwbWFwX3VwZGF0ZV9wdGUx X2tlcm5lbCh2YSwgbnB0ZTEpOworCQlzcGlubG9ja19leGl0KCk7CisjZW5kaWYKKwl9IGVsc2Ug eworCQkvKgorCQkgKiBXZSBjYW4gdXNlIGJyZWFrLWJlZm9yZS1tYWtlIGFwcHJvYWNoIGZvciBj aGFuZ2luZworCQkgKiB1c2VybGFuZCBtYXBwaW5ncy4gVGhpcyBjYW4gbGVhZCB0byBMMSB0cmFu c2xhdGlvbgorCQkgKiBhYm9ydHMsIHNvIHNwZWNpYWwgdHJlYXRtZW50IGlzIGRvbmUgaW4gcG1h cF9mYXVsdCgpLgorCQkgKgorCQkgKiBUaGUgc3BpbmxvY2tfZW50ZXIoKSA8LT4gc3BpbmxvY2tf ZXhpdCgpIHNlY3Rpb24gaXMgdXNlZAorCQkgKiBoZXJlIHRvIG1ha2UgcHRlMSBjaGFuZ2UgYXMg cXVpY2sgYXMgcG9zc2libGUgd2l0aG91dCBhbnkKKwkJICogaW50ZXJydXB0aW9uLiBUaGlzIHdh eSBubyBMMSB0cmFuc2xhdGlvbiBhYm9ydCBjYW4gaGFwcGVuCisJCSAqIGluIFVQIGNhc2UuCisJ CSAqLworCQlzcGlubG9ja19lbnRlcigpOworCQlwdGUxX2NsZWFyKHB0ZTFwKTsKKwkJaWYgKHB0 ZTFfaXNfc2VjdGlvbihucHRlMSkpIHsKKwkJCS8qIEtpbGwgYWxsIHRoZSBzbWFsbCBtYXBwaW5n cy4gKi8KKwkJCXBtYXBfdGxiX2ZsdXNoX3JhbmdlKHBtYXAsIHB0ZTFfdHJ1bmModmEpLCBQVEUx X1NJWkUpOworCQl9IGVsc2UgeworCQkJLyogS2lsbCB0aGUgb25lIGJpZyBtYXBwaW5nLiAqLwor CQkJcG1hcF90bGJfZmx1c2gocG1hcCwgcHRlMV90cnVuYyh2YSkpOworCQl9CisJCXB0ZTFfc3Rv cmUocHRlMXAsIG5wdGUxKTsKKwkJc3BpbmxvY2tfZXhpdCgpOworCX0KK30KKwogLyoKICAqICBU cmllcyB0byBwcm9tb3RlIHRoZSBOUFRFMl9JTl9QVDIsIGNvbnRpZ3VvdXMgNEtCIHBhZ2UgbWFw cGluZ3MgdGhhdCBhcmUKICAqICB3aXRoaW4gYSBzaW5nbGUgcGFnZSB0YWJsZSBwYWdlIChQVDIp IHRvIGEgc2luZ2xlIDFNQiBwYWdlIG1hcHBpbmcuCkBAIC0zMjYxLDE3ICszNDEzLDcgQEAgc2V0 cHRlMjoKIAkvKgogCSAqIE1hcCB0aGUgc2VjdGlvbi4KIAkgKi8KLQlpZiAocG1hcCA9PSBrZXJu ZWxfcG1hcCkKLQkJcG1hcF9rZW50ZXJfcHRlMSh2YSwgbnB0ZTEpOwotCWVsc2UKLQkJcHRlMV9z dG9yZShwdGUxcCwgbnB0ZTEpOwotCS8qCi0JICogRmx1c2ggb2xkIHNtYWxsIG1hcHBpbmdzLiBX ZSBjYWxsIHNpbmdsZSBwbWFwX3RsYl9mbHVzaCgpIGluCi0JICogcG1hcF9kZW1vdGVfcHRlMSgp IGFuZCBwbWFwX3JlbW92ZV9wdGUxKCksIHNvIHdlIG11c3QgYmUgc3VyZSB0aGF0Ci0JICogbm8g c21hbGwgbWFwcGluZ3Mgc3Vydml2ZS4gV2UgYXNzdW1lIHRoYXQgZ2l2ZW4gcG1hcCBpcyBjdXJy ZW50IGFuZAotCSAqIGRvbid0IHBsYXkgZ2FtZSB3aXRoIFBURTJfTkcuCi0JICovCi0JcG1hcF90 bGJfZmx1c2hfcmFuZ2UocG1hcCwgcHRlMV90cnVuYyh2YSksIFBURTFfU0laRSk7CisJcG1hcF9j aGFuZ2VfcHRlMShwbWFwLCBwdGUxcCwgdmEsIG5wdGUxKTsKIAogCXBtYXBfcHRlMV9wcm9tb3Rp b25zKys7CiAJQ1RSMyhLVFJfUE1BUCwgIiVzOiBzdWNjZXNzIGZvciB2YSAlI3ggaW4gcG1hcCAl cCIsCkBAIC0zNTU2LDE3ICszNjk4LDcgQEAgcG1hcF9kZW1vdGVfcHRlMShwbWFwX3QgcG1hcCwg cHQxX2VudHJ5X3QgKnB0ZTFwLCB2bV9vZmZzZXRfdCB2YSkKIAkgKiBhbm90aGVyIHByb2Nlc3Nv ciBjaGFuZ2luZyB0aGUgc2V0dGluZyBvZiBQVEUxX0EgYW5kL29yIFBURTFfTk0KIAkgKiBiZXR3 ZWVuIHRoZSByZWFkIGFib3ZlIGFuZCB0aGUgc3RvcmUgYmVsb3cuCiAJICovCi0JaWYgKHBtYXAg PT0ga2VybmVsX3BtYXApCi0JCXBtYXBfa2VudGVyX3B0ZTEodmEsIG5wdGUxKTsKLQllbHNlCi0J CXB0ZTFfc3RvcmUocHRlMXAsIG5wdGUxKTsKLQotCS8qCi0JICogRmx1c2ggb2xkIGJpZyBtYXBw aW5nLiBUaGUgbWFwcGluZyBzaG91bGQgb2NjdXB5IG9uZSBhbmQgb25seQotCSAqIFRMQiBlbnRy eS4gU28sIHBtYXBfdGxiX2ZsdXNoKCkgY2FsbGVkIHdpdGggYWxpZ25lZCBhZGRyZXNzCi0JICog c2hvdWxkIGJlIHN1ZmZpY2llbnQuCi0JICovCi0JcG1hcF90bGJfZmx1c2gocG1hcCwgcHRlMV90 cnVuYyh2YSkpOworCXBtYXBfY2hhbmdlX3B0ZTEocG1hcCwgcHRlMXAsIHZhLCBucHRlMSk7CiAK IAkvKgogCSAqIERlbW90ZSB0aGUgcHYgZW50cnkuIFRoaXMgZGVwZW5kcyBvbiB0aGUgZWFybGll ciBkZW1vdGlvbgpAQCAtNjExMSw5ICs2MjQzLDE3IEBAIHBtYXBfZmF1bHQocG1hcF90IHBtYXAs IHZtX29mZnNldF90IGZhciwgdWludDMyX3QgZnNyLCBpbnQgaWR4LCBpbnQgdXNlcm1vZGUpCiAJ CSAqIG9ubHkgcGVybWlzc2lvbiBhYm9ydCBmcm9tIG1hbGljaW91cyB1c2VyIGlzIG5vdCBmYXRh bC4KIAkJICovCiAJCWlmICghdXNlcm1vZGUgfHwgKGlkeCAhPSBGQVVMVF9QRVJNX0wyKSkgewor CQkJdWludDMyX3QgcGFyOworCiAJCQlDVFI0KEtUUl9QTUFQLCAiJXM6IHBtYXAgJSN4IHBtX3B0 MSAlI3ggZmFyICUjeCIsCiAJCQkgICAgX19mdW5jX18sIHBtYXAsIHBtYXAtPnBtX3B0MSwgZmFy KTsKLQkJCXBhbmljKCIlczogcG1fcHQxIGFib3J0IiwgX19mdW5jX18pOworCQkJLy9wYW5pYygi JXM6IHBtX3B0MSBhYm9ydCIsIF9fZnVuY19fKTsKKworCQkJY3AxNV9hdHMxY3ByX3NldCgodm1f b2Zmc2V0X3QpcG1hcCk7CisJCQlpc2IoKTsKKwkJCXBhciA9IGNwMTVfcGFyX2dldCgpOworCQkJ cHJpbnRmKCIlczogcG1fcHQxIGFib3J0IC0gcG1hcCAlcCAoJXgpIiwgX19mdW5jX18sIHBtYXAs IHBhcik7CisJCQlicmVha3BvaW50KCk7CiAJCX0KIAkJcmV0dXJuIChFRkFVTFQpOwogCX0KQEAg LTYyMDgsNiArNjM0OCwyOCBAQCBwdGUxX3NldHJ3OgogCSAqICAgICAgc3RhcnRpbmcgdG8gZGVh bCB3aXRoIG5vdCBmYXN0IGFib3J0cy4KIAkgKi8KIAorI2lmZGVmIFNNUAorCS8qCisJICogQ2hl Y2sgdGhhdCB0aGUgYWJvcnQgaXMgbm90IGNhdXNlZCBieSBicmVhay1iZWZvcmUtbWFrZSBhcHBy b2NoCisJICogZG9uZSBpbiBwbWFwX2NoYW5nZV9wdGUxKCkgZm9yIHVzZXJsYW5kIG1hcHBpbmdz IGluIFNNUCBjYXNlLgorCSAqLworCWlmIChpZHggPT0gRkFVTFRfVFJBTl9MMSAmJiB1c2VybW9k ZSkgeworCQl1aW50MzJfdCBwYXI7CisKKwkJcG1hcF9wdGUxX3VzZXJhYm9ydHMrKzsKKworCQlQ TUFQX0xPQ0socG1hcCk7CisJCWNwMTVfYXRzMWN1cl9zZXQoZmFyKTsKKwkJaXNiKCk7CisJCXBh ciA9IGNwMTVfcGFyX2dldCgpOworCQlQTUFQX1VOTE9DSyhwbWFwKTsKKworCQlpZiAoKHBhciAm IDB4MDEpID09IDApIHsKKwkJCXBtYXBfcHRlMV91c2VyZml4ZXMrKzsKKwkJCXJldHVybiAoMCk7 CisJCX0KKwl9CisjZW5kaWYKICNpZmRlZiBJTlZBUklBTlRTCiAJLyoKIAkgKiBSZWFkIGFuIGVu dHJ5IGluIFBUMlRBQiBhc3NvY2lhdGVkIHdpdGggYm90aCBwbWFwIGFuZCBmYXIuCmRpZmYgLS1n aXQgYS9zeXMvYXJtL2luY2x1ZGUvY3B1LXY2LmggYi9zeXMvYXJtL2luY2x1ZGUvY3B1LXY2LmgK aW5kZXggZTRhODkzNi4uYmIyYTcwNyAxMDA2NDQKLS0tIGEvc3lzL2FybS9pbmNsdWRlL2NwdS12 Ni5oCisrKyBiL3N5cy9hcm0vaW5jbHVkZS9jcHUtdjYuaApAQCAtMTU1LDggKzE1NSw5IEBAIF9S RjAoY3AxNV9sMmN0bHJfZ2V0LCBDUDE1X0wyQ1RMUiglMCkpCiBfUkYwKGNwMTVfYWN0bHJfZ2V0 LCBDUDE1X0FDVExSKCUwKSkKIF9XRjEoY3AxNV9hY3Rscl9zZXQsIENQMTVfQUNUTFIoJTApKQog I2lmIF9fQVJNX0FSQ0ggPj0gNgotX1dGMShjcDE1X2F0czFjcHJfc2V0LCBDUDE1X0FUUzFDUFIo JTApKTsKLV9SRjAoY3AxNV9wYXJfZ2V0LCBDUDE1X1BBUik7CitfV0YxKGNwMTVfYXRzMWNwcl9z ZXQsIENQMTVfQVRTMUNQUiglMCkpCitfV0YxKGNwMTVfYXRzMWN1cl9zZXQsIENQMTVfQVRTMUNV UiglMCkpCitfUkYwKGNwMTVfcGFyX2dldCwgQ1AxNV9QQVIoJTApKQogX1JGMChjcDE1X3NjdGxy X2dldCwgQ1AxNV9TQ1RMUiglMCkpCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvc3lzL2FybS9pbmNs dWRlL3N5c3JlZy5oIGIvc3lzL2FybS9pbmNsdWRlL3N5c3JlZy5oCmluZGV4IDMxMDk3ZTkuLmRj OTM4NjkgMTAwNjQ0Ci0tLSBhL3N5cy9hcm0vaW5jbHVkZS9zeXNyZWcuaAorKysgYi9zeXMvYXJt L2luY2x1ZGUvc3lzcmVnLmgKQEAgLTEzMCw3ICsxMzAsNyBAQAogI2RlZmluZQlDUDE1X0JQSUFM TElTCQlwMTUsIDAsIHIwLCBjNywgYzEsICA2IC8qIEJyYW5jaCBwcmVkaWN0b3IgaW52YWxpZGF0 ZSBhbGwgSVMgKi8KICNlbmRpZgogCi0jZGVmaW5lCUNQMTVfUEFSCQlwMTUsIDAsIHIwLCBjNywg YzQsICAwIC8qIFBoeXNpY2FsIEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyNkZWZpbmUJQ1AxNV9QQVIo cnIpCQlwMTUsIDAsIHJyLCBjNywgYzQsICAwIC8qIFBoeXNpY2FsIEFkZHJlc3MgUmVnaXN0ZXIg Ki8KIAogI2RlZmluZQlDUDE1X0lDSUFMTFUJCXAxNSwgMCwgcjAsIGM3LCBjNSwgIDAgLyogSW5z dHJ1Y3Rpb24gY2FjaGUgaW52YWxpZGF0ZSBhbGwgUG9VICovCiAjZGVmaW5lCUNQMTVfSUNJTVZB VShycikJcDE1LCAwLCByciwgYzcsIGM1LCAgMSAvKiBJbnN0cnVjdGlvbiBjYWNoZSBpbnZhbGlk YXRlICovCg== --047d7bd7575808188a051dbb6378--