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