|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |