> 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
> 

Reply via email to