r336921 broke booting on MBP 2017, EFIRT related

Rainer Hurling rhurlin at gwdg.de
Wed Aug 29 13:19:57 UTC 2018


Am 29.08.18 um 11:37 schrieb Yuri Pankov:
> 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?


I have almost exactly the same trap on a DELL Latitude E6520 with ALPHA3.

Only _with_ 'OPTIONS EFIRT' enabled in the kernel _and_ deactivating it
via efi.rt.disabled=1 in /boot/loader.conf, it works for me.

An oddity is, that the spelling of the loader tuneable has to be
efi.rt.disabled, not efi.rt_disabled (note the dot instead of an
underscore!). The one with the underscore, as mentioned in UPDATING,
does not work for me. Isn't this a typo somewhere in the code?

Regards,
Rainer Hurling


More information about the freebsd-current mailing list