Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Aug 2018 13:27:27 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Yuri Pankov <yuripv@yuripv.net>
Cc:        freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: r336921 broke booting on MBP 2017, EFIRT related
Message-ID:  <20180829102727.GD2340@kib.kiev.ua>
In-Reply-To: <499f05f4-4fab-9b31-5d37-83ecb554013c@yuripv.net>
References:  <499f05f4-4fab-9b31-5d37-83ecb554013c@yuripv.net>

index | next in thread | previous in thread | raw e-mail

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.


help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180829102727.GD2340>