From owner-freebsd-current@freebsd.org Thu Aug 30 09:22:42 2018 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7C0DF1099ED5 for ; Thu, 30 Aug 2018 09:22:42 +0000 (UTC) (envelope-from yuripv@yuripv.net) Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com [64.147.123.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 15A057910B; Thu, 30 Aug 2018 09:22:41 +0000 (UTC) (envelope-from yuripv@yuripv.net) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 3A6933B5; Thu, 30 Aug 2018 05:22:40 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Thu, 30 Aug 2018 05:22:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yuripv.net; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=MWiWEg891YZsvT8H14vOe0B/SKlUns1aT58j+l9AbIY=; b=OTK6yvf1 mhH9y/nmbeGFOhGAMQj5CxqLcq4DYlpRPlw7rovKlKwcf1xuMmRAPaJq10JYF9BA tbc6dHBk5PEM09+MPf5hJQ+UDobY6salfC4xYc8hMgKfQP897hdOAINb5nfe8hZ3 L/vFEXeF1K3WxURVxpmG8rr3025GOt2soHN9TnOwXqeStuX6NkzrRuasJ7yJu5Oa UKhIo53nsj6IcBN6GWrkPGZC1F7swHp3j0uzsIqfKJ/YeCYcaTWvnSeJ89lVGZ/p j9msJNSfoWJXXRmZ4SII4XnK2Im69QxYea20nAqdd1LijBmYI96Hf9dxZnItWmT9 dTI7Ghqq/OQxRQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; bh=MWiWEg891YZsvT8H14vOe0B/SKlUn s1aT58j+l9AbIY=; b=CDni5I+9c4zJ9pGEXUkjtoV3zMldvkguTQPNWmZUEn2mN noZghoNnEF60Go4rZ93ts6Cedm65qRW72TlJfkG+JPT3IECBIw4cdSzzEG0J4+Jj kI6LFTg698Hk4/ohJNOANANDFHKztuXmkoaBVTG8MHdPIu8yp5eXYE+30ZJhg5u/ Bek8gNfNfxJpNjGxdNveXPmZzlNk1Otazau5XKs6+ukSjcNouW9lWLTkNSzeVkP7 8izvPcKxGgJaMy0OosTGkP07xtJZ7kSKpV80mcki+DTgUmtxQ/3/3T3ZEXIX3c5+ 32KvnJaJCZ/8LUfZGPhXZYrj6mwNRdPFHUK7P1UZA== X-ME-Proxy: X-ME-Sender: Received: from [192.168.1.2] (unknown [178.34.99.43]) by mail.messagingengine.com (Postfix) with ESMTPA id 171DB10293; Thu, 30 Aug 2018 05:22:36 -0400 (EDT) Subject: Re: r336921 broke booting on MBP 2017, EFIRT related To: Rainer Hurling , Kyle Evans Cc: Konstantin Belousov , FreeBSD Current References: <499f05f4-4fab-9b31-5d37-83ecb554013c@yuripv.net> <20180829102727.GD2340@kib.kiev.ua> <7162d397-43df-01bc-f97d-0dae6a8f6926@gwdg.de> From: Yuri Pankov Message-ID: <52996f84-c215-f1da-8ce3-8bcfdbd79c40@yuripv.net> Date: Thu, 30 Aug 2018 12:22:36 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.0 MIME-Version: 1.0 In-Reply-To: <7162d397-43df-01bc-f97d-0dae6a8f6926@gwdg.de> Content-Type: multipart/mixed; boundary="------------F489DB713008D84D090C16E3" Content-Language: en-US X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Aug 2018 09:22:42 -0000 This is a multi-part message in MIME format. --------------F489DB713008D84D090C16E3 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Rainer Hurling wrote: > Am 29.08.18 um 16:12 schrieb Kyle Evans: >> On Wed, Aug 29, 2018 at 6:53 AM Yuri Pankov wrote: >>> >>> Yuri Pankov wrote: >>>> Konstantin Belousov wrote: >>>>> On Wed, Aug 29, 2018 at 12:37:52PM +0300, Yuri Pankov wrote: >>>>>> Hi, >>>>>> >>>>>> I've noticed that all recent snapshots (ALPHA3, ALPHA2, ALPHA1, >>>>>> 20180802) fail to boot on MBP 2017: >>>>>> >>>>>> kbd0 at kbdmux0 >>>>>> netmap: loaded module >>>>>> nexus0 >>>>>> >>>>>> Fatal trap 12: page fault while in kernel mode >>>>>> cpuid = 2: apic id = 02 >>>>>> fault virtual address = 0x74c64a50 >>>>>> fault code = supervisor read data, page not present >>>>>> instruction pointer = 0x20: 0x7abece31 >>>>>> stack pointer = 0x28: 0xffffffff82b2f7c0 >>>>>> frame pointer = 0x28: 0xffffffff82b2f810 >>>>>> code segment = base 0x0, limit 0xfffff, type 0x1b >>>>>> = DPL 0, pres 1, long 1, def32 0, gran 1 >>>>>> processor eflags = interrupt enabled, resume, IOPL = 0 >>>>>> current process = 0 (swapper) >>>>>> [ thread pid 0 tid 100000 ] >>>>>> Stopped at 0x7abece31: calll *0x18(%rax) >>>>>> db> >>>>>> >>>>>> Sadly, there's no support for internal keyboard yet (it's connected via >>>>>> SPI), and external USB one stops working. >>>>>> >>>>>> A (not so quick) bisect is pointing at r336921, which enabled EFIRT. >>>>>> >>>>>> Some questions here: >>>>>> - is this something that can/should be fixed? >>>>>> - can we print some "enabling EFIRT" message to the console to make >>>>>> guesses about the problem source a bit easier? >>>>> >>>>> It is not in 'enabling'. Looking at the faulting VA, I believe that >>>>> it occurs inside the BIOS code. >>>>> >>>>> Disable efirt by removing the kernel option, then try to load the module >>>>> at runtime. Does it still fault ? Also, get the efi mem map for the >>>>> machine and look at which region the faulting address and the faulting >>>>> instruction belong. >>>> >>>> kldload'ing the efirt module gets the same fault. Several top lines of >>>> backtrace: >>>> >>>> kernphys() at 0x7abece31 >>>> efi_get_time() at efi_get_time+0xd9 >>>> efirtc_probe() at efirtc_probe+0x17 >>> >>> For the efi mem map, if I'm understanding it correctly, there's the >>> following: >>> >>> ... >>> BootServicesData 00007421d000 000000000000 00000a8b UC WC WT WB >>> ... >>> RuntimeServicesCode 00007ab9f000 000000000000 00000070 UC WC WT WB >>> ... >>> >> >> Hi, >> >> I guess this patch might do it: >> https://people.freebsd.org/~kevans/efi-bootmap.diff >> >> Linux commit messages depict a tale in which they used to also only >> map RUNTIME entries, but they were effectively forced to back down on >> that because of buggy firmware that does exactly what you've described >> and they later reintroduced the restrictive mapping for i386-only >> where they'd not found such bugs. >> >> Thanks, >> >> Kyle Evans > > Hi Kyle, > > After Yuri had no success with the patches of kib, I tried your patch on > a DELL Latitude E6520 with BIOS version A21. Sorry, I accidentally took the discussion off-list, where Konstantin provided some more patches. I'm attaching the one that finally worked for me. It also adds some diagnostic prints which require bootverbose to be enabled. --------------F489DB713008D84D090C16E3 Content-Type: text/plain; charset=UTF-8; name="efirt.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="efirt.diff" ZGlmZiAtLWdpdCBhL3N5cy9hbWQ2NC9hbWQ2NC9lZmlydF9tYWNoZGVwLmMgYi9zeXMvYW1k NjQvYW1kNjQvZWZpcnRfbWFjaGRlcC5jCmluZGV4IGRhNzc4MzA0M2EyLi44MGZmYTY2ZjVl YyAxMDA2NDQKLS0tIGEvc3lzL2FtZDY0L2FtZDY0L2VmaXJ0X21hY2hkZXAuYworKysgYi9z eXMvYW1kNjQvYW1kNjQvZWZpcnRfbWFjaGRlcC5jCkBAIC01NSw2ICs1NSw3IEBAIF9fRkJT RElEKCIkRnJlZUJTRCQiKTsKICNpbmNsdWRlIDxtYWNoaW5lL3ZtcGFyYW0uaD4KICNpbmNs dWRlIDx2bS92bS5oPgogI2luY2x1ZGUgPHZtL3BtYXAuaD4KKyNpbmNsdWRlIDx2bS92bV9l eHRlcm4uaD4KICNpbmNsdWRlIDx2bS92bV9tYXAuaD4KICNpbmNsdWRlIDx2bS92bV9vYmpl Y3QuaD4KICNpbmNsdWRlIDx2bS92bV9wYWdlLmg+CkBAIC0yNjYsNiArMjY3LDcgQEAgZWZp X2FyY2hfZW50ZXIodm9pZCkKIAogCWN1cnBtYXAgPSBQQ1BVX0dFVChjdXJwbWFwKTsKIAlQ TUFQX0xPQ0tfQVNTRVJUKGN1cnBtYXAsIE1BX09XTkVEKTsKKwljdXJ0aHJlYWQtPnRkX21k Lm1kX2VmaXJ0X2Rpc19wZiA9IHZtX2ZhdWx0X2Rpc2FibGVfcGFnZWZhdWx0cygpOwogCiAJ LyoKIAkgKiBJUEkgVExCIHNob290ZG93biBoYW5kbGVyIGludmx0bGJfcGNpZF9oYW5kbGVy KCkgcmVsb2FkcwpAQCAtMzAwLDYgKzMwMiw3IEBAIGVmaV9hcmNoX2xlYXZlKHZvaWQpCiAJ ICAgIGN1cnBtYXAtPnBtX3BjaWRzW1BDUFVfR0VUKGNwdWlkKV0ucG1fcGNpZCA6IDApKTsK IAlpZiAoIXBtYXBfcGNpZF9lbmFibGVkKQogCQlpbnZsdGxiKCk7CisJdm1fZmF1bHRfZW5h YmxlX3BhZ2VmYXVsdHMoY3VydGhyZWFkLT50ZF9tZC5tZF9lZmlydF9kaXNfcGYpOwogfQog CiAvKiBYWFggZGVidWcgc3R1ZmYgKi8KZGlmZiAtLWdpdCBhL3N5cy9hbWQ2NC9hbWQ2NC9l ZmlydF9zdXBwb3J0LlMgYi9zeXMvYW1kNjQvYW1kNjQvZWZpcnRfc3VwcG9ydC5TCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44MmU1NjQ2ZTY0NQotLS0gL2Rl di9udWxsCisrKyBiL3N5cy9hbWQ2NC9hbWQ2NC9lZmlydF9zdXBwb3J0LlMKQEAgLTAsMCAr MSwxMDUgQEAKKy8qLQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1GcmVlQlNECisgKgorICogQ29weXJpZ2h0IChjKSAyMDE4IFRoZSBGcmVlQlNEIEZvdW5k YXRpb24KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBzb2Z0d2FyZSB3 YXMgZGV2ZWxvcGVkIGJ5IEtvbnN0YW50aW4gQmVsb3Vzb3YgPGtpYkBGcmVlQlNELm9yZz4K KyAqIHVuZGVyIHNwb25zb3JzaGlwIGZyb20gdGhlIEZyZWVCU0QgRm91bmRhdGlvbi4KKyAq CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92 aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0 aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90 aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF IElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycg QU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBB UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBPUiBDT05UUklC VVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAo SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV VEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9O IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QK KyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX SVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0gg REFNQUdFLgorICoKKyAqICRGcmVlQlNEJAorICovCisKKyNpbmNsdWRlIDxtYWNoaW5lL2Fz bWFjcm9zLmg+CisKKyNpbmNsdWRlICJhc3N5bS5pbmMiCisKKwkudGV4dAorRU5UUlkoZWZp cnRfYXJjaF9jYWxsKQorCXB1c2hxCSVyYnAKKwltb3ZxCSVyc3AsICVyYnAKKworCW1vdnEJ JXJieCwgRUNfU1RBVEUrVEZfUkJYKCVyZGkpCisJbW92cQklcnNwLCBFQ19TVEFURStURl9S U1AoJXJkaSkKKwltb3ZxCSVyYnAsIEVDX1NUQVRFK1RGX1JCUCglcmRpKQorCW1vdnEJJXIx MiwgRUNfU1RBVEUrVEZfUjEyKCVyZGkpCisJbW92cQklcjEzLCBFQ19TVEFURStURl9SMTMo JXJkaSkKKwltb3ZxCSVyMTQsIEVDX1NUQVRFK1RGX1IxNCglcmRpKQorCW1vdnEJJXIxNSwg RUNfU1RBVEUrVEZfUjE1KCVyZGkpCisJbW92cQlQQ1BVKENVUlRIUkVBRCksICVyYXgKKwlt b3ZxCSVyZGksIFREX01EK01EX0VGSVJUX1RNUCglcmF4KQorCisJbW92cQlQQ1BVKENVUlBD QiksICVyc2kKKwltb3ZxCSRlZmlydF9mYXVsdCwgUENCX09ORkFVTFQoJXJzaSkKKworCW1v dmwJRUNfQVJHQ05UKCVyZGkpLCAlZWN4CisJbW92bAklZWN4LCAlZWJ4CisJc2hsbAkkMywg JWVjeAorCXN1YnEJJXJjeCwgJXJzcAorCisJY21wbAkkMCwgJWVieAorCWp6CTFmCisJbW92 cQlFQ19BUkcxKCVyZGkpLCAlcmN4CisJZGVjbAklZWJ4CisJanoJMWYKKwltb3ZxCUVDX0FS RzIoJXJkaSksICVyZHgKKwlkZWNsCSVlYngKKwlqegkxZgorCW1vdnEJRUNfQVJHMyglcmRp KSwgJXI4CisJZGVjbAklZWJ4CisJanoJMWYKKwltb3ZxCUVDX0FSRzQoJXJkaSksICVyOQor CS8qIFhYWCBvbi1zdGFjayByZWdzICovCisxOgltb3ZxCUVDX0ZQVFIoJXJkaSksICVyYXgK KwljYWxscQkqJXJheAorCisJbW92cQlQQ1BVKENVUlRIUkVBRCksICVyYngKKwltb3ZxCVRE X01EK01EX0VGSVJUX1RNUCglcmJ4KSwgJXJkaQorCW1vdnEJJXJheCwgRUNfU1RBVEUoJXJk aSkKKwltb3ZxCVBDUFUoQ1VSUENCKSwgJXJzaQorCXhvcmwJJWVheCwgJWVheAorCW1vdnEJ JXJheCwgUENCX09ORkFVTFQoJXJzaSkKKworZWZpcnRfYXJjaF9jYWxsX3RhaWw6CisJbW92 cQlFQ19TVEFURStURl9SMTUoJXJkaSksICVyMTUKKwltb3ZxCUVDX1NUQVRFK1RGX1IxNCgl cmRpKSwgJXIxNAorCW1vdnEJRUNfU1RBVEUrVEZfUjEzKCVyZGkpLCAlcjEzCisJbW92cQlF Q19TVEFURStURl9SMTIoJXJkaSksICVyMTIKKwltb3ZxCUVDX1NUQVRFK1RGX1JCUCglcmRp KSwgJXJicAorCW1vdnEJRUNfU1RBVEUrVEZfUlNQKCVyZGkpLCAlcnNwCisJbW92cQlFQ19T VEFURStURl9SQlgoJXJkaSksICVyYngKKworCXBvcHEJJXJicAorCXJldAorRU5EKGVmaXJ0 X2FyY2hfY2FsbCkKKworRU5UUlkoZWZpcnRfZmF1bHQpCisJeG9ybAklZWF4LCAlZWF4CisJ bW92cQlQQ1BVKENVUlBDQiksICVyc2kKKwltb3ZxCSVyYXgsIFBDQl9PTkZBVUxUKCVyc2kp CisJbW92bAkkRUZBVUxULCAlZWF4CisJbW92cQlQQ1BVKENVUlRIUkVBRCksICVyYngKKwlt b3ZxCVREX01EK01EX0VGSVJUX1RNUCglcmJ4KSwgJXJkaQorCWptcAllZmlydF9hcmNoX2Nh bGxfdGFpbAorRU5EKGVmaXJ0X2ZhdWx0KQpkaWZmIC0tZ2l0IGEvc3lzL2FtZDY0L2FtZDY0 L2dlbmFzc3ltLmMgYi9zeXMvYW1kNjQvYW1kNjQvZ2VuYXNzeW0uYwppbmRleCBkNjFiNWM3 YmI2ZC4uYzM4YTU5NjA4OWEgMTAwNjQ0Ci0tLSBhL3N5cy9hbWQ2NC9hbWQ2NC9nZW5hc3N5 bS5jCisrKyBiL3N5cy9hbWQ2NC9hbWQ2NC9nZW5hc3N5bS5jCkBAIC03NywxMiArNzcsMTUg QEAgQVNTWU0oUF9NRCwgb2Zmc2V0b2Yoc3RydWN0IHByb2MsIHBfbWQpKTsKIEFTU1lNKE1E X0xEVCwgb2Zmc2V0b2Yoc3RydWN0IG1kcHJvYywgbWRfbGR0KSk7CiBBU1NZTShNRF9MRFRf U0QsIG9mZnNldG9mKHN0cnVjdCBtZHByb2MsIG1kX2xkdF9zZCkpOwogCitBU1NZTShNRF9F RklSVF9UTVAsIG9mZnNldG9mKHN0cnVjdCBtZHRocmVhZCwgbWRfZWZpcnRfdG1wKSk7CisK IEFTU1lNKFREX0xPQ0ssIG9mZnNldG9mKHN0cnVjdCB0aHJlYWQsIHRkX2xvY2spKTsKIEFT U1lNKFREX0ZMQUdTLCBvZmZzZXRvZihzdHJ1Y3QgdGhyZWFkLCB0ZF9mbGFncykpOwogQVNT WU0oVERfUENCLCBvZmZzZXRvZihzdHJ1Y3QgdGhyZWFkLCB0ZF9wY2IpKTsKIEFTU1lNKFRE X1BGTEFHUywgb2Zmc2V0b2Yoc3RydWN0IHRocmVhZCwgdGRfcGZsYWdzKSk7CiBBU1NZTShU RF9QUk9DLCBvZmZzZXRvZihzdHJ1Y3QgdGhyZWFkLCB0ZF9wcm9jKSk7CiBBU1NZTShURF9G UkFNRSwgb2Zmc2V0b2Yoc3RydWN0IHRocmVhZCwgdGRfZnJhbWUpKTsKK0FTU1lNKFREX01E LCBvZmZzZXRvZihzdHJ1Y3QgdGhyZWFkLCB0ZF9tZCkpOwogCiBBU1NZTShUREZfQVNUUEVO RElORywgVERGX0FTVFBFTkRJTkcpOwogQVNTWU0oVERGX05FRURSRVNDSEVELCBUREZfTkVF RFJFU0NIRUQpOwpAQCAtMjQ5LDMgKzI1MiwxMiBAQCBBU1NZTShfX0ZyZWVCU0RfdmVyc2lv biwgX19GcmVlQlNEX3ZlcnNpb24pOwogI2lmZGVmCUhXUE1DX0hPT0tTCiBBU1NZTShQTUNf Rk5fVVNFUl9DQUxMQ0hBSU4sIFBNQ19GTl9VU0VSX0NBTExDSEFJTik7CiAjZW5kaWYKKwor QVNTWU0oRUNfRUZJX1NUQVRVUywgb2Zmc2V0b2Yoc3RydWN0IGVmaXJ0X2NhbGxpbmZvLCBl Y19lZmlfc3RhdHVzKSk7CitBU1NZTShFQ19GUFRSLCBvZmZzZXRvZihzdHJ1Y3QgZWZpcnRf Y2FsbGluZm8sIGVjX2ZwdHIpKTsKK0FTU1lNKEVDX0FSR0NOVCwgb2Zmc2V0b2Yoc3RydWN0 IGVmaXJ0X2NhbGxpbmZvLCBlY19hcmdjbnQpKTsKK0FTU1lNKEVDX0FSRzEsIG9mZnNldG9m KHN0cnVjdCBlZmlydF9jYWxsaW5mbywgZWNfYXJnMSkpOworQVNTWU0oRUNfQVJHMiwgb2Zm c2V0b2Yoc3RydWN0IGVmaXJ0X2NhbGxpbmZvLCBlY19hcmcyKSk7CitBU1NZTShFQ19BUkcz LCBvZmZzZXRvZihzdHJ1Y3QgZWZpcnRfY2FsbGluZm8sIGVjX2FyZzMpKTsKK0FTU1lNKEVD X0FSRzQsIG9mZnNldG9mKHN0cnVjdCBlZmlydF9jYWxsaW5mbywgZWNfYXJnNCkpOworQVNT WU0oRUNfU1RBVEUsIG9mZnNldG9mKHN0cnVjdCBlZmlydF9jYWxsaW5mbywgZWNfc3RhdGUp KTsKZGlmZiAtLWdpdCBhL3N5cy9hbWQ2NC9hbWQ2NC90cmFwLmMgYi9zeXMvYW1kNjQvYW1k NjQvdHJhcC5jCmluZGV4IDAxOWRlY2I4MzdhLi40ZDAzZGEyMzRmMSAxMDA2NDQKLS0tIGEv c3lzL2FtZDY0L2FtZDY0L3RyYXAuYworKysgYi9zeXMvYW1kNjQvYW1kNjQvdHJhcC5jCkBA IC04MDYsNyArODA2LDcgQEAgdHJhcF9wZmF1bHQoc3RydWN0IHRyYXBmcmFtZSAqZnJhbWUs IGludCB1c2VybW9kZSkKIAkgKiBJZiBueCBwcm90ZWN0aW9uIG9mIHRoZSB1c2VybW9kZSBw b3J0aW9uIG9mIGtlcm5lbCBwYWdlCiAJICogdGFibGVzIGNhdXNlZCB0cmFwLCBwYW5pYy4K IAkgKi8KLQlpZiAoUENQVV9HRVQoY3VycG1hcCktPnBtX3VjcjMgIT0gUE1BUF9OT19DUjMg JiYgdXNlcm1vZGUgJiYKKwlpZiAodXNlcm1vZGUgJiYgUENQVV9HRVQoY3VycG1hcCktPnBt X3VjcjMgIT0gUE1BUF9OT19DUjMgJiYKIAkgICAgcGdfbnggIT0gMCAmJiAoZnJhbWUtPnRm X2VyciAmIChQR0VYX1AgfCBQR0VYX1cgfAogCSAgICBQR0VYX1UgfCBQR0VYX0kpKSA9PSAo UEdFWF9QIHwgUEdFWF9VIHwgUEdFWF9JKSAmJgogCSAgICAoY3VycGNiLT5wY2Jfc2F2ZWRf dWNyMyAmIH5DUjNfUENJRF9NQVNLKT09CmRpZmYgLS1naXQgYS9zeXMvYW1kNjQvaW5jbHVk ZS9mcmFtZS5oIGIvc3lzL2FtZDY0L2luY2x1ZGUvZnJhbWUuaAppbmRleCBmMGE2ZmNmNWJj OS4uYzg0ZWUyYTIwNjQgMTAwNjQ0Ci0tLSBhL3N5cy9hbWQ2NC9pbmNsdWRlL2ZyYW1lLmgK KysrIGIvc3lzL2FtZDY0L2luY2x1ZGUvZnJhbWUuaApAQCAtNDcsNCArNDcsMTUgQEAgc3Ry dWN0IHB0aV9mcmFtZSB7CiAJcmVnaXN0ZXJfdAlwdGlfc3M7CiB9OwogCitzdHJ1Y3QgZWZp cnRfY2FsbGluZm8geworCXJlZ2lzdGVyX3QJZWNfZWZpX3N0YXR1czsKKwlyZWdpc3Rlcl90 CWVjX2ZwdHI7CisJcmVnaXN0ZXJfdAllY19hcmdjbnQ7CisJcmVnaXN0ZXJfdAllY19hcmcx OworCXJlZ2lzdGVyX3QJZWNfYXJnMjsKKwlyZWdpc3Rlcl90CWVjX2FyZzM7CisJcmVnaXN0 ZXJfdAllY19hcmc0OworCXN0cnVjdCB0cmFwZnJhbWUgZWNfc3RhdGU7Cit9OworCiAjZW5k aWYKZGlmZiAtLWdpdCBhL3N5cy9hbWQ2NC9pbmNsdWRlL3Byb2MuaCBiL3N5cy9hbWQ2NC9p bmNsdWRlL3Byb2MuaAppbmRleCBmNTJjNzEyMDhlNi4uNTRmNWI0MTZhN2QgMTAwNjQ0Ci0t LSBhL3N5cy9hbWQ2NC9pbmNsdWRlL3Byb2MuaAorKysgYi9zeXMvYW1kNjQvaW5jbHVkZS9w cm9jLmgKQEAgLTYyLDYgKzYyLDggQEAgc3RydWN0IG1kdGhyZWFkIHsKIAlyZWdpc3Rlcl90 IG1kX3NhdmVkX2ZsYWdzOwkvKiAoaykgKi8KIAlyZWdpc3Rlcl90IG1kX3NwdXJmbHRfYWRk cjsJLyogKGspIFNwdXJpb3VzIHBhZ2UgZmF1bHQgYWRkcmVzcy4gKi8KIAlzdHJ1Y3QgcG1h cF9pbnZsX2dlbiBtZF9pbnZsX2dlbjsKKwlyZWdpc3Rlcl90IG1kX2VmaXJ0X3RtcDsJLyog KGspICovCisJaW50CW1kX2VmaXJ0X2Rpc19wZjsJLyogKGspICovCiB9OwogCiBzdHJ1Y3Qg bWRwcm9jIHsKZGlmZiAtLWdpdCBhL3N5cy9kZXYvZWZpZGV2L2VmaXJ0LmMgYi9zeXMvZGV2 L2VmaWRldi9lZmlydC5jCmluZGV4IGQ0ODA3NGQ3MmQ2Li4wODhjODBjZmI3MSAxMDA2NDQK LS0tIGEvc3lzL2Rldi9lZmlkZXYvZWZpcnQuYworKysgYi9zeXMvZGV2L2VmaWRldi9lZmly dC5jCkBAIC05Niw2ICs5Niw4IEBAIHN0YXRpYyBpbnQgZWZpX3N0YXR1czJlcnJbMjVdID0g ewogc3RhdGljIGludCBlZmlfZW50ZXIodm9pZCk7CiBzdGF0aWMgdm9pZCBlZmlfbGVhdmUo dm9pZCk7CiAKK2ludCBlZmlydF9hcmNoX2NhbGwoc3RydWN0IGVmaXJ0X2NhbGxpbmZvICop OworCiBzdGF0aWMgaW50CiBlZmlfc3RhdHVzX3RvX2Vycm5vKGVmaV9zdGF0dXMgc3RhdHVz KQogewpAQCAtMjk2LDE2ICsyOTgsMjIgQEAgZWZpX2dldF90YWJsZShzdHJ1Y3QgdXVpZCAq dXVpZCwgdm9pZCAqKnB0cikKIHN0YXRpYyBpbnQKIGVmaV9nZXRfdGltZV9sb2NrZWQoc3Ry dWN0IGVmaV90bSAqdG0sIHN0cnVjdCBlZmlfdG1jYXAgKnRtY2FwKQogewotCWVmaV9zdGF0 dXMgc3RhdHVzOworCXN0cnVjdCBlZmlydF9jYWxsaW5mbyBlYzsKIAlpbnQgZXJyb3I7CiAK IAlFRklfVElNRV9PV05FRCgpCisJYnplcm8oJmVjLCBzaXplb2YoZWMpKTsKKwllYy5lY19h cmdjbnQgPSAyOworCWVjLmVjX2FyZzEgPSAodWludHB0cl90KXRtOworCWVjLmVjX2FyZzIg PSAodWludHB0cl90KXRtY2FwOwogCWVycm9yID0gZWZpX2VudGVyKCk7CiAJaWYgKGVycm9y ICE9IDApCiAJCXJldHVybiAoZXJyb3IpOwotCXN0YXR1cyA9IGVmaV9ydW50aW1lLT5ydF9n ZXR0aW1lKHRtLCB0bWNhcCk7CisJZWMuZWNfZnB0ciA9ICh1aW50cHRyX3QpKGVmaV9ydW50 aW1lLT5ydF9nZXR0aW1lKTsKKwllcnJvciA9IGVmaXJ0X2FyY2hfY2FsbCgmZWMpOwogCWVm aV9sZWF2ZSgpOwotCWVycm9yID0gZWZpX3N0YXR1c190b19lcnJubyhzdGF0dXMpOworCWlm IChlcnJvciA9PSAwKQorCQllcnJvciA9IGVmaV9zdGF0dXNfdG9fZXJybm8oZWMuZWNfZWZp X3N0YXR1cyk7CiAJcmV0dXJuIChlcnJvcik7CiB9CiAKQEAgLTM1OSwxNiArMzY3LDIxIEBA IGVmaV9yZXNldF9zeXN0ZW0odm9pZCkKIHN0YXRpYyBpbnQKIGVmaV9zZXRfdGltZV9sb2Nr ZWQoc3RydWN0IGVmaV90bSAqdG0pCiB7Ci0JZWZpX3N0YXR1cyBzdGF0dXM7CisJc3RydWN0 IGVmaXJ0X2NhbGxpbmZvIGVjOwogCWludCBlcnJvcjsKIAogCUVGSV9USU1FX09XTkVEKCk7 CisJYnplcm8oJmVjLCBzaXplb2YoZWMpKTsKKwllYy5lY19hcmdjbnQgPSAxOworCWVjLmVj X2FyZzEgPSAodWludHB0cl90KXRtOwogCWVycm9yID0gZWZpX2VudGVyKCk7CiAJaWYgKGVy cm9yICE9IDApCiAJCXJldHVybiAoZXJyb3IpOwotCXN0YXR1cyA9IGVmaV9ydW50aW1lLT5y dF9zZXR0aW1lKHRtKTsKKwllYy5lY19mcHRyID0gKHVpbnRwdHJfdCkoZWZpX3J1bnRpbWUt PnJ0X3NldHRpbWUpOworCWVycm9yID0gZWZpcnRfYXJjaF9jYWxsKCZlYyk7CiAJZWZpX2xl YXZlKCk7Ci0JZXJyb3IgPSBlZmlfc3RhdHVzX3RvX2Vycm5vKHN0YXR1cyk7CisJaWYgKGVy cm9yID09IDApCisJCWVycm9yID0gZWZpX3N0YXR1c190b19lcnJubyhlYy5lY19lZmlfc3Rh dHVzKTsKIAlyZXR1cm4gKGVycm9yKTsKIH0KIApkaWZmIC0tZ2l0IGEvc3lzL2Rldi9lZmlk ZXYvZWZpcnRjLmMgYi9zeXMvZGV2L2VmaWRldi9lZmlydGMuYwppbmRleCBiOWUwNmJjYzM2 Mi4uZTVhMmVjMjYyYmYgMTAwNjQ0Ci0tLSBhL3N5cy9kZXYvZWZpZGV2L2VmaXJ0Yy5jCisr KyBiL3N5cy9kZXYvZWZpZGV2L2VmaXJ0Yy5jCkBAIC03NCw3ICs3NCw4IEBAIGVmaXJ0Y19w cm9iZShkZXZpY2VfdCBkZXYpCiAJICovCiAJaWYgKChlcnJvciA9IGVmaV9nZXRfdGltZSgm dG0pKSAhPSAwKSB7CiAJCWlmIChib290dmVyYm9zZSkKLQkJCWRldmljZV9wcmludGYoZGV2 LCAiY2Fubm90IHJlYWQgRUZJIHJlYWx0aW1lIGNsb2NrXG4iKTsKKwkJCWRldmljZV9wcmlu dGYoZGV2LCAiY2Fubm90IHJlYWQgRUZJIHJlYWx0aW1lIGNsb2NrLCAiCisJCQkgICAgImVy cm9yICVkXG4iLCBlcnJvcik7CiAJCXJldHVybiAoZXJyb3IpOwogCX0KIAlkZXZpY2Vfc2V0 X2Rlc2MoZGV2LCAiRUZJIFJlYWx0aW1lIENsb2NrIik7CmRpZmYgLS1naXQgYS9zeXMva2Vy bi9rZXJuX3RocmVhZC5jIGIvc3lzL2tlcm4va2Vybl90aHJlYWQuYwppbmRleCA3OWIzNGRj NzY0OS4uYjYwYzJkNWI0MGUgMTAwNjQ0Ci0tLSBhL3N5cy9rZXJuL2tlcm5fdGhyZWFkLmMK KysrIGIvc3lzL2tlcm4va2Vybl90aHJlYWQuYwpAQCAtODMsNyArODMsNyBAQCBfU3RhdGlj X2Fzc2VydChvZmZzZXRvZihzdHJ1Y3QgdGhyZWFkLCB0ZF9wZmxhZ3MpID09IDB4MTA0LAog ICAgICJzdHJ1Y3QgdGhyZWFkIEtCSSB0ZF9wZmxhZ3MiKTsKIF9TdGF0aWNfYXNzZXJ0KG9m ZnNldG9mKHN0cnVjdCB0aHJlYWQsIHRkX2ZyYW1lKSA9PSAweDQ3MCwKICAgICAic3RydWN0 IHRocmVhZCBLQkkgdGRfZnJhbWUiKTsKLV9TdGF0aWNfYXNzZXJ0KG9mZnNldG9mKHN0cnVj dCB0aHJlYWQsIHRkX2VtdWxkYXRhKSA9PSAweDUxOCwKK19TdGF0aWNfYXNzZXJ0KG9mZnNl dG9mKHN0cnVjdCB0aHJlYWQsIHRkX2VtdWxkYXRhKSA9PSAweDUyOCwKICAgICAic3RydWN0 IHRocmVhZCBLQkkgdGRfZW11bGRhdGEiKTsKIF9TdGF0aWNfYXNzZXJ0KG9mZnNldG9mKHN0 cnVjdCBwcm9jLCBwX2ZsYWcpID09IDB4YjAsCiAgICAgInN0cnVjdCBwcm9jIEtCSSBwX2Zs YWciKTsKZGlmZiAtLWdpdCBhL3N5cy9rZXJuL3N1YnJfcnRjLmMgYi9zeXMva2Vybi9zdWJy X3J0Yy5jCmluZGV4IDgyYzI3NmYyMTBhLi4xYzNhOTgwNDY5NCAxMDA2NDQKLS0tIGEvc3lz L2tlcm4vc3Vicl9ydGMuYworKysgYi9zeXMva2Vybi9zdWJyX3J0Yy5jCkBAIC0xMzgsNiAr MTM4LDcgQEAgc2V0dGltZV90YXNrX2Z1bmModm9pZCAqYXJnLCBpbnQgcGVuZGluZykKIHsK IAlzdHJ1Y3QgdGltZXNwZWMgdHM7CiAJc3RydWN0IHJ0Y19pbnN0YW5jZSAqcnRjOworCWlu dCBlcnJvcjsKIAogCXJ0YyA9IGFyZzsKIAlpZiAoIShydGMtPmZsYWdzICYgQ0xPQ0tGX1NF VFRJTUVfTk9fVFMpKSB7CkBAIC0xNTAsNyArMTUxLDkgQEAgc2V0dGltZV90YXNrX2Z1bmMo dm9pZCAqYXJnLCBpbnQgcGVuZGluZykKIAkJdHMudHZfc2VjICA9IDA7CiAJCXRzLnR2X25z ZWMgPSAwOwogCX0KLQlDTE9DS19TRVRUSU1FKHJ0Yy0+Y2xvY2tkZXYsICZ0cyk7CisJZXJy b3IgPSBDTE9DS19TRVRUSU1FKHJ0Yy0+Y2xvY2tkZXYsICZ0cyk7CisJaWYgKGVycm9yICE9 IDAgJiYgYm9vdHZlcmJvc2UpCisJCWRldmljZV9wcmludGYocnRjLT5jbG9ja2RldiwgIkNM T0NLX1NFVFRJTUUgZXJyb3IgJWRcbiIsIGVycm9yKTsKIH0KIAogc3RhdGljIHZvaWQKZGlm ZiAtLWdpdCBhL3N5cy9tb2R1bGVzL2VmaXJ0L01ha2VmaWxlIGIvc3lzL21vZHVsZXMvZWZp cnQvTWFrZWZpbGUKaW5kZXggMjYxMzE1MGRiNDguLjUyNGQ5M2VhZDkzIDEwMDY0NAotLS0g YS9zeXMvbW9kdWxlcy9lZmlydC9NYWtlZmlsZQorKysgYi9zeXMvbW9kdWxlcy9lZmlydC9N YWtlZmlsZQpAQCAtNSw3ICs1LDExIEBACiAKIEtNT0Q9CWVmaXJ0CiBTUkNTPQllZmlydC5j IGVmaXJ0X21hY2hkZXAuYyBlZmlkZXYuYwotU1JDUys9CWVmaXJ0Yy5jCitTUkNTKz0JZWZp cnRjLmMgZWZpcnRfc3VwcG9ydC5TCiBTUkNTKz0gIGRldmljZV9pZi5oIGJ1c19pZi5oIGNs b2NrX2lmLmgKIAorZWZpcnRfc3VwcG9ydC5vOgllZmlydF9zdXBwb3J0LlMgYXNzeW0uaW5j CisJJHtDQ30gLWMgLXggYXNzZW1ibGVyLXdpdGgtY3BwIC1ETE9DT1JFICR7Q0ZMQUdTfSBc CisJICAgICR7LklNUFNSQ30gLW8gJHsuVEFSR0VUfQorCiAuaW5jbHVkZSA8YnNkLmttb2Qu bWs+Cg== --------------F489DB713008D84D090C16E3--