Re: [PATCH] xen/x86: obtain full video frame buffer address for Dom0 also under EFI

2022-02-07 Thread Juergen Gross

On 07.02.22 08:41, Jan Beulich wrote:

The initial change would not work when Xen was booted from EFI: There
is an early exit from the case block in that case. Move the necessary
code ahead of that.

Fixes: 335e4dd67b48 ("xen/x86: obtain upper 32 bits of video frame
buffer address for Dom0") Signed-off-by: Jan Beulich



Reviewed-by: Juergen Gross 


Juergen


OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature


[PATCH] xen/x86: obtain full video frame buffer address for Dom0 also under EFI

2022-02-06 Thread Jan Beulich
The initial change would not work when Xen was booted from EFI: There is
an early exit from the case block in that case. Move the necessary code
ahead of that.

Fixes: 335e4dd67b48 ("xen/x86: obtain upper 32 bits of video frame buffer 
address for Dom0")
Signed-off-by: Jan Beulich 

--- a/arch/x86/xen/vga.c
+++ b/arch/x86/xen/vga.c
@@ -57,6 +57,14 @@ void __init xen_init_vga(const struct do
screen_info->rsvd_size = info->u.vesa_lfb.rsvd_size;
screen_info->rsvd_pos = info->u.vesa_lfb.rsvd_pos;
 
+   if (size >= offsetof(struct dom0_vga_console_info,
+u.vesa_lfb.ext_lfb_base)
+   + sizeof(info->u.vesa_lfb.ext_lfb_base)
+   && info->u.vesa_lfb.ext_lfb_base) {
+   screen_info->ext_lfb_base = 
info->u.vesa_lfb.ext_lfb_base;
+   screen_info->capabilities |= 
VIDEO_CAPABILITY_64BIT_BASE;
+   }
+
if (info->video_type == XEN_VGATYPE_EFI_LFB) {
screen_info->orig_video_isVGA = VIDEO_TYPE_EFI;
break;
@@ -66,14 +74,6 @@ void __init xen_init_vga(const struct do
 u.vesa_lfb.mode_attrs)
+ sizeof(info->u.vesa_lfb.mode_attrs))
screen_info->vesa_attributes = 
info->u.vesa_lfb.mode_attrs;
-
-   if (size >= offsetof(struct dom0_vga_console_info,
-u.vesa_lfb.ext_lfb_base)
-   + sizeof(info->u.vesa_lfb.ext_lfb_base)
-   && info->u.vesa_lfb.ext_lfb_base) {
-   screen_info->ext_lfb_base = 
info->u.vesa_lfb.ext_lfb_base;
-   screen_info->capabilities |= 
VIDEO_CAPABILITY_64BIT_BASE;
-   }
break;
}
 }