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

Re: [Xen-devel] [PATCH v2 17/23] efi: split out efi_set_gop_mode()



On Mon, Jul 20, 2015 at 04:29:12PM +0200, Daniel Kiper wrote:
> ..which sets chosen GOP mode. We want to re-use this
> code to support multiboot2 protocol on EFI platforms.
> 
> Signed-off-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx>

Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> ---
> v2 - suggestions/fixes:
>    - improve commit message
>      (suggested by Jan Beulich).
> ---
>  xen/common/efi/boot.c |   33 ++++++++++++++++++++-------------
>  1 file changed, 20 insertions(+), 13 deletions(-)
> 
> diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
> index 177697a..04b9c7e 100644
> --- a/xen/common/efi/boot.c
> +++ b/xen/common/efi/boot.c
> @@ -860,6 +860,25 @@ static void __init efi_variables(void)
>      }
>  }
>  
> +static void __init efi_set_gop_mode(EFI_GRAPHICS_OUTPUT_PROTOCOL *gop, UINTN 
> gop_mode)
> +{
> +    EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *mode_info;
> +    EFI_STATUS status;
> +    UINTN info_size;
> +
> +    if ( !gop )
> +        return;
> +
> +    /* Set graphics mode. */
> +    if ( gop_mode < gop->Mode->MaxMode && gop_mode != gop->Mode->Mode )
> +        gop->SetMode(gop, gop_mode);
> +
> +    /* Get graphics and frame buffer info. */
> +    status = gop->QueryMode(gop, gop->Mode->Mode, &info_size, &mode_info);
> +    if ( !EFI_ERROR(status) )
> +        efi_arch_video_init(gop, info_size, mode_info);
> +}
> +
>  static int __init __maybe_unused set_color(u32 mask, int bpp, u8 *pos, u8 
> *sz)
>  {
>     if ( bpp < 0 )
> @@ -887,7 +906,6 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE 
> *SystemTable)
>      UINTN map_key, info_size, gop_mode = ~0;
>      EFI_SHIM_LOCK_PROTOCOL *shim_lock;
>      EFI_GRAPHICS_OUTPUT_PROTOCOL *gop = NULL;
> -    EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *mode_info;
>      union string section = { NULL }, name;
>      bool_t base_video = 0, retry;
>      char *option_str;
> @@ -1105,18 +1123,7 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE 
> *SystemTable)
>  
>      efi_arch_memory_setup();
>  
> -    if ( gop )
> -    {
> -
> -        /* Set graphics mode. */
> -        if ( gop_mode < gop->Mode->MaxMode && gop_mode != gop->Mode->Mode )
> -            gop->SetMode(gop, gop_mode);
> -
> -        /* Get graphics and frame buffer info. */
> -        status = gop->QueryMode(gop, gop->Mode->Mode, &info_size, 
> &mode_info);
> -        if ( !EFI_ERROR(status) )
> -            efi_arch_video_init(gop, info_size, mode_info);
> -    }
> +    efi_set_gop_mode(gop, gop_mode);
>  
>      info_size = 0;
>      efi_bs->GetMemoryMap(&info_size, NULL, &map_key,
> -- 
> 1.7.10.4
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.