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