Date: Sat, 18 Jul 2015 09:57:59 +0200 From: Anders Bolt-Evensen <andersbo87@icloud.com> To: freebsd-current@freebsd.org Subject: SV: UEFI boot fail on higher resolutions (Re: Acer E3-112 and UEFI) Message-ID: <056801d0c12f$78d800f0$6a8802d0$@icloud.com> In-Reply-To: <24273.85.229.92.85.1435690356.squirrel@webmail.alvermark.net> References: <20876.213.113.68.53.1419950410.squirrel@webmail.alvermark.net> <54A2CC2D.3040105@freebsd.org> <42818.213.113.68.53.1420039470.squirrel@webmail.alvermark.net> <E86A0514-6C11-4592-BB62-0F992727AFDC@alvermark.net> <24273.85.229.92.85.1435690356.squirrel@webmail.alvermark.net>
next in thread | previous in thread | raw e-mail | index | archive | help
-----Opprinnelig melding----- Fra: owner-freebsd-current@freebsd.org [mailto:owner-freebsd-current@freebsd.org] P=E5 vegne av Jakob Alvermark Sendt: tirsdag 30. juni 2015 20.53 Til: freebsd-current@freebsd.org Emne: Re: UEFI boot fail on higher resolutions (Re: Acer E3-112 and = UEFI) On Wed, February 4, 2015 15:04, Jakob Alvermark wrote: <> <> On 31 dec 2014, at 16:24, Jakob Alvermark wrote: <> <> <>> On Tue, December 30, 2014 17:00, Nathan Whitehorn wrote: <>> <>>> <>> <>>> On 12/30/14 06:40, Jakob Alvermark wrote: <>>> <>>> <>>>> Hi, <>>>> <>>>> <>>>> <>>>> Have been playing with this machine for a while now. <>>>> It is a quad core Pentium N3540 (ValleyView/Bay Trail), 8 GB RAM.=20 <>>>> It came with a Broadcom WiFi card which I swapped for an Intel=20 <>>>> which is supported by FreeBSD. Also swapped the hard drive for an = SSD. <>>>> <>>>> When first trying to boot FreeBSD with UEFI it would not boot. <>>>> It stops after the loader is trying to start the kernel. <>>>> My workaround now is using refind, = http://www.rodsbooks.com/refind/=20 <>>>> to set the screen resolution to 800x600. (Native is 1366x768) Only = <>>>> then will it boot using UEFI. I tried setting it to 1024x768, then = <>>>> it crashes. If it helps I can get the backtrace. <>>> <>>> [Not sure what's going on here] <>>> <>>> <> <> <> A follow up on this: <> <> <> I tried this on my desktop machine (AMD FX-8350, Radeon HD 5450) to=20 <> see if it has the issue, and it has! I went on to try it on my = desktop=20 <> machine at work (Core i3-4130, Radeon HD 4350) and it boots! <> <> On the Acer, resolution set to 1024x768: <> <> <>>> FreeBSD EFI boot block <>>> <> Loader path: /boot/loader.efi <> Consoles: EFI console <> Image base: 0x7502f000 <> EFI version: 2.40 <> EFI Firmware: INSYDE Corp. (rev 21522.39) <> <> <> --- <> Start @ 0xffffffff802e1000 ... <> EFI framebuffer information: <> addr, size 0x80000000, 0x300000 dimensions 1024 x 768 stride <> 1024 <> masks 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 <> <> --- <> <> <> kernel trap12 with interrupts disabled <> <> <> Fatal trap 12: page fault while in kernel mode <> cpuid =3D 0; apic id =3D 00 fault virtual address =3D 0x13 fault = code <> =3D supervisor read data, page not present <> instruction pointer =3D 0x20:0xffffffff80a20834 stack pointer <> =3D 0x28:0xffffffff81604170 <> frame pointer =3D 0x28:0xffffffff81604290 code segment <> =3D base 0x0, limit 0xfffff, type 0x1b <> =3D DPL 0, pres 1, long 1, def32 0, gran 1 <> processor eflags =3D resume, IOPL =3D 0 current process = =3D 0 <> () <> [ thread pid 0 tid 0] <> Stopped at kvprintf+0xd4: movzbl (%r14),%eax <> <> <> .... <> <> <> <> <> On the home desktop resolution 1024x768: <> <> <>>> FreeBSD EFI boot block <>>> <> Loader path: /boot/loader.efi <> Consoles: EFI console <> Image base: 0xb08ac000 <> EFI version: 2.31 <> EFI Firmware: American Megatrends (rev 4.653) <> <> <> --- <> Start @ 0xffffffff802e1000 ... <> EFI framebuffer information: <> addr, size 0xc0000000, 0x300000 dimensions 1024 x 768 stride <> 1024 <> masks 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 <> <> --- <> kernel trap12 with interrupts disabled <> <> <> Fatal trap 12: page fault while in kernel mode <> cpuid =3D 0; apic id =3D 00 fault virtual address =3D 0x13 fault = code <> =3D supervisor read data, page not present <> instruction pointer =3D 0x20:0xffffffff80a20654 stack pointer <> =3D 0x28:0xffffffff81603d70 <> frame pointer =3D 0x28:0xffffffff81603e90 code segment <> =3D base 0x0, limit 0xfffff, type 0x1b <> =3D DPL 0, pres 1, long 1, def32 0, gran 1 <> processor eflags =3D resume, IOPL =3D 0 current process = =3D 0 <> () <> [ thread pid 0 tid 0] <> Stopped at kvprintf+0xd4: movzbl (%r14),%eax <> <> <> ---- <> <> <> On the work desktop: <> <> <>>> FreeBSD EFI boot block <>>> <> Loader path: /boot/loader.efi <> Consoles: EFI console <> Image base: 0xbb7aa000 <> EFI version: 2.31 <> EFI Firmware: American Megatrends (rev 4.654) <> <> <> --- <> Start @ 0xffffffff802e1000 ... <> EFI framebuffer information: <> addr, size 0xe0000000, 0x300000 dimensions 1024 x 768 stride <> 1024 <> masks 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 <> <> And then it boots normally. <> <> <> <> Does anyone have any clues on what's going on here? <> <> <> (This all typed manually from screenshots taken with my phone, there=20 <> might be typos.) <Another update! < <As I found out the EFI loader has the capability to change screen modes = I dumped refind and started playing with this again. <"mode 5" gives me 1024x768 and a panic: < <--- <kernel trap 12 with interrupts disabled < < <Fatal trap 12: page fault while in kernel mode cpuid =3D 0; apic id =3D = 00 <fault virtual address =3D 0x1f2d0ec <fault code =3D supervisor read data, page not present <Instruction pointer =3D 0x20:0xffffffff8030003d <stack pointer =3D 0x28:0xffffffff81616f70 <frame pointer =3D 0x28:0x0 <code segment =3D base 0x0, limit 0xfffff, type 0x1b < =3D DPL 0, pres 1, long 1, def32 0, gran 1 <processor eflags =3D resume, IOPL =3D 0 <current process =3D 0 () <--- < <What struck me then was this line: <instruction pointer =3D 0x20:0xffffffff8030003d <and the fact that: <EFI framebuffer information: <addr, size 0x80000000, 0x300000 < <Coincidence? Maybe not. <In sys/dev/vt/hw/efifb/efifb.c I changed this line: < <info->fb_vbase =3D PHYS_TO_DMAP(efifb->fb_addr); < <Into this hack: < <info->fb_vbase =3D PHYS_TO_DMAP(0x90000000); < <Recompile kernel and now it boots at native resolution (1366x768)! < <Any thoughts on this? < <Thanks, < <Jakob I tried your hack on my Acer Aspire V17 Nitro with a 1920x1080 display, = and it seems that your hack works on my computer as well. Before I tried your hack, I was basically unable to do a UEFI boot = unless I tried the rEFInd method, but thanks to your hack I am now able to do a regular UEFI boot at the native resolution of 1920x1080. :D Thank you so much for your tip. :) Anders
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?056801d0c12f$78d800f0$6a8802d0$>