From owner-freebsd-current@freebsd.org Wed Aug 29 13:05:28 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 B7E4D10899B5 for ; Wed, 29 Aug 2018 13:05:28 +0000 (UTC) (envelope-from tsoome@me.com) Received: from st13p35im-asmtp002.me.com (st13p35im-asmtp002.me.com [17.164.199.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6324A8C2FB for ; Wed, 29 Aug 2018 13:05:28 +0000 (UTC) (envelope-from tsoome@me.com) Received: from process-dkim-sign-daemon.st13p35im-asmtp002.me.com by st13p35im-asmtp002.me.com (Oracle Communications Messaging Server 8.0.2.2.20180531 64bit (built May 31 2018)) id <0PE8000001E1BJ00@st13p35im-asmtp002.me.com> for freebsd-current@freebsd.org; Wed, 29 Aug 2018 12:05:10 +0000 (GMT) Received: from icloud.com ([127.0.0.1]) by st13p35im-asmtp002.me.com (Oracle Communications Messaging Server 8.0.2.2.20180531 64bit (built May 31 2018)) with ESMTPSA id <0PE800KDM1KJA650@st13p35im-asmtp002.me.com>; Wed, 29 Aug 2018 12:05:10 +0000 (GMT) X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 clxscore=1015 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1707230000 definitions=main-1808290131 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-08-29_03:,, signatures=0 From: Toomas Soome Message-id: <93CBBDD1-A874-44E7-9E01-6807ABF4D651@me.com> MIME-version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) Subject: Re: r336921 broke booting on MBP 2017, EFIRT related Date: Wed, 29 Aug 2018 15:05:06 +0300 In-reply-to: Cc: Konstantin Belousov , freebsd-current To: Yuri Pankov References: <499f05f4-4fab-9b31-5d37-83ecb554013c@yuripv.net> <20180829102727.GD2340@kib.kiev.ua> X-Mailer: Apple Mail (2.3445.9.1) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.27 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: Wed, 29 Aug 2018 13:05:28 -0000 > On 29 Aug 2018, at 14:53, Yuri Pankov wrote: >=20 > Yuri Pankov wrote: >> Konstantin Belousov wrote: >>> On Wed, Aug 29, 2018 at 12:37:52PM +0300, Yuri Pankov wrote: >>>> Hi, >>>>=20 >>>> I've noticed that all recent snapshots (ALPHA3, ALPHA2, ALPHA1, >>>> 20180802) fail to boot on MBP 2017: >>>>=20 >>>> kbd0 at kbdmux0 >>>> netmap: loaded module >>>> nexus0 >>>>=20 >>>> Fatal trap 12: page fault while in kernel mode >>>> cpuid =3D 2: apic id =3D 02 >>>> fault virtual address =3D 0x74c64a50 >>>> fault code =3D supervisor read data, page not present >>>> instruction pointer =3D 0x20: 0x7abece31 >>>> stack pointer =3D 0x28: 0xffffffff82b2f7c0 >>>> frame pointer =3D 0x28: 0xffffffff82b2f810 >>>> code segment =3D base 0x0, limit 0xfffff, type 0x1b >>>> =3D DPL 0, pres 1, long 1, def32 0, gran 1 >>>> processor eflags =3D interrupt enabled, resume, IOPL =3D 0 >>>> current process =3D 0 (swapper) >>>> [ thread pid 0 tid 100000 ] >>>> Stopped at 0x7abece31: calll *0x18(%rax) >>>> db> >>>>=20 >>>> Sadly, there's no support for internal keyboard yet (it's connected = via >>>> SPI), and external USB one stops working. >>>>=20 >>>> A (not so quick) bisect is pointing at r336921, which enabled = EFIRT. >>>>=20 >>>> 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? >>>=20 >>> It is not in 'enabling'. Looking at the faulting VA, I believe that >>> it occurs inside the BIOS code. >>>=20 >>> 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 >=20 > For the efi mem map, if I'm understanding it correctly, there's the = following: >=20 > ... > BootServicesData 00007421d000 000000000000 00000a8b UC WC WT WB > ... > RuntimeServicesCode 00007ab9f000 000000000000 00000070 UC WC WT WB > =E2=80=A6 if my math is correct, this RTS code area will end at 0x000000007abe5000 = and if 0x000000007abece31 is fault location, its just after that RTS = code area, that is, 7 pages after=E2=80=A6 meaning you would need to get = the next entry:) rgds, toomas