[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [edk2] EFI_CONSOLE_CONTROL_PROTOCOL in OvmfPkg / grub2

From: Andrew Fish
Subject: Re: [edk2] EFI_CONSOLE_CONTROL_PROTOCOL in OvmfPkg / grub2
Date: Mon, 01 Oct 2012 08:19:59 -0700

On Oct 1, 2012, at 5:59 AM, Andrew Fish wrote:

> This is an issue with Grub, ConsoleControl was part of the EDK implementation 
> and is not in UEFI or PI specs.

It is OK for Grub to check for the EFI_CONSOLE_CONTROL_PROTOCOL and set the 
system into a text mode if that is required. For example Macs support console 
control and boot with it in graphics (only) mode. So it seems like the bug is 
in handling systems that don't support EFI_CONSOLE_CONTROL_PROTOCOL, and that 
path needs to get cleaned up. Hopefully the OVMF will make it much easier to 
work on grub EFI support. 

> Sent from my iPhone
> On Oct 1, 2012, at 2:43 AM, Laszlo Ersek <address@hidden> wrote:
>> Hi,
>> during my recent testing with Fedora 18 Alpha on qemu-kvm + OVMF I
>> noticed that there's a very short graphics glitch on the *textual* grub2
>> welcome screen. Basically one or two lines are printed, one of which
>> looks like "Welcome to GRUB!", and then the screen falls apart like in a
>> packed vs. planar pixel format misunderstanding [1]. It goes away in
>> less than one second and the graphical grub2 UI works fine.
>> I think it happens in
>> grub_main                      [grub-core/kern/main.c]
>> grub_machine_init            [grub-core/kern/i386/efi/init.c]
>>   grub_efi_init              [grub-core/kern/efi/init.c]
>>     grub_console_init        [grub-core/term/efi/console.c]
>>       grub_efi_set_text_mode [grub-core/kern/efi/efi.c]
>> The last function calls
>> EFI_CONSOLE_CONTROL_PROTOCOL.SetMode(EfiConsoleControlScreenText) [2].
>> According to [3], this protocol is not supported anymore by edk2, but
>> the referenced grub2 code neither returns cleanly nor crashes, it
>> changes the video mode to something wrong (for a very short while). When
>> I grep the edk2 tree for EFI_CONSOLE_CONTROL_PROTOCOL, the only relevant
>> hits seem to be
>> EdkCompatibilityPkg/Foundation/Library/Dxe/Graphics/Graphics.c
>> EdkCompatibilityPkg/Foundation/Library/Dxe/GraphicsLite/Graphics.c
>> EdkCompatibilityPkg/Foundation/Protocol/ConsoleControl/ConsoleControl.c
>> EdkCompatibilityPkg/Foundation/Protocol/ConsoleControl/ConsoleControl.h
>> none of which is built for OvmfPkg.
>> Is this a problem with grub2 or OvmfPkg?
>> Thanks,
>> Laszlo
>> [1]
>> http://people.redhat.com/~lersek/Screenshot-fw-ovmf.g-f18xfcealpha.e-rhel63%20Virtual%20Machine.png
>> [2]
>> http://bzr.savannah.gnu.org/lh/grub/trunk/grub/annotate/4542/grub-core/kern/efi/efi.c#L119
>> [3]
>> http://sourceforge.net/mailarchive/forum.php?thread_name=EC94AF25-B8AA-43DB-905F-67D42330A5C4%40apple.com&forum_name=edk2-devel
> ------------------------------------------------------------------------------
> Got visibility?
> Most devs has no idea what their production app looks like.
> Find out how fast your code is with AppDynamics Lite.
> http://ad.doubleclick.net/clk;262219671;13503038;y?
> http://info.appdynamics.com/FreeJavaPerformanceDownload.html
> _______________________________________________
> edk2-devel mailing list
> address@hidden
> https://lists.sourceforge.net/lists/listinfo/edk2-devel

reply via email to

[Prev in Thread] Current Thread [Next in Thread]