> Date: Tue, 2 Feb 2016 14:14:04 -0500 > From: James Hastings <[email protected]>
Best not to drop the list. There are other developers that might want to chime in. > On 2/2/16, Mark Kettenis <[email protected]> wrote: > >> Date: Tue, 2 Feb 2016 02:09:08 -0500 > >> From: James Hastings <[email protected]> > >> > >> Testing UEFI booting. Willing to test patches and debug. > >> > >> 1) Encountered screen corruption immediately after EFIBOOT. > >> http://imgur.com/mXURlgV > > > > Looks like the framebuffer configuration is not correctly passed to > > the kernel isn't quite right. Or the kernel is misinterpreting that > > information. > > > > The code in sys/arch/amd64/stand/efiboot/efiboot.c:efi_makebootargs() > > queries UEFI for the framebuffer layout. It would help if you could > > print that information. This requires building and installing a new > > EFIBOOT bootloader. > > > > It would also be useful to know the resolution of your screen. > > > > Thanks, > > > > Mark > > > > > Native screen size is 1366x768 > > Results: > ei.config_acpi: 0x66bfe014 > ei.config_smbios: 0x66abef98 > ei.fb_addr: 0x80000000 > ei.fb_size: 0x420000 > ei.fb_width: 1024 > ei.fb_height: 768 > ei.fb_pixpsl: 1024 Right. Looks like the firmware is giving us bogus values. But perhaps there is something subtly wrong with our bootloader code. > My efiboot: > --- efiboot.c.orig Tue Feb 2 13:47:13 2016 > +++ efiboot.c Tue Feb 2 13:50:18 2016 > @@ -509,6 +509,7 @@ > ST->ConfigurationTable[i].VendorTable; > } > > + printf("acpi:0x%x smbios:0x%x ", ei.config_acpi, ei.config_smbios); > /* > * Frame buffer > */ > @@ -561,6 +562,8 @@ > ei.fb_height = gopi->VerticalResolution; > ei.fb_width = gopi->HorizontalResolution; > ei.fb_pixpsl = gopi->PixelsPerScanLine; > + printf("addr:0x%x sz:0x%x %ux%u pixpsl:%u", ei.fb_addr, > ei.fb_size, > ei.fb_width, ei.fb_height, ei.fb_pixpsl); > + > } > > addbootarg(BOOTARG_EFIINFO, sizeof(ei), &ei); > > > machine video: > Mode 0: 80 x 25 > Current Mode = 0 > > > machine memory: > Region 0: type 1 at 0x0 for 440KB > Region 1: type 4 at 0x6e000 for 8KB > Region 2: type 1 at 0x70000 for 88KB > Region 3: type 2 at 0x86000 for 232KB > Region 4: type 1 at 0x100000 for 1525032KB > Region 5: type 2 at 0x5d24a000 for 6148KB > Region 6: type 1 at 0x5d84b000 for 192KB > Region 7: type 2 at 0x5d87b000 for 24KB > Region 8: type 1 at 0x5d881000 for 84KB > Region 9: type 2 at 0x5d896000 for 60KB > Region 10 type 1 at 0x5d8a5000 for 141416KB > Region 11 type 2 at 0x662bf000 for 8192KB > Region 12 type 4 at 0x66abf000 for 1024KB > Region 13 type 3 at 0x66bbf000 for 256KB > Region 14 type 1 at 0x66bff000 for 4KB > Region 15 type 2 at 0x66c00000 for 397312KB > Region 16 type 2 at 0xf8000000 for 65536KB > Region 17 type 2 at 0xfec00000 for 4KB > Region 18 type 2 at 0xfec10000 for 4KB > Region 19 type 2 at 0xfed80000 for 4KB > Region 20 type 2 at 0xfee00000 for 4KB > Region 21 type 2 at 0xffc00000 for 4096KB > low ram: 768KB High ram: 2079744KB > Total free memory: 1667256KB >
