Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa387d63 authored by Jan Beulich's avatar Jan Beulich Committed by Konrad Rzeszutek Wilk
Browse files

xen/vga: add the xen EFI video mode support

In order to add xen EFI frambebuffer video support, it is required to add
xen-efi's new video type (XEN_VGATYPE_EFI_LFB) case and handle it in the
function xen_init_vga and set the video type to VIDEO_TYPE_EFI to enable
efi video mode.

The original patch from which this was broken out from:
 http://marc.info/?i=4E099AA6020000780004A4C6@nat28.tlf.novell.com



Signed-off-by: default avatarJan Beulich <JBeulich@novell.com>
Signed-off-by: default avatarTang Liang <liang.tang@oracle.com>
[v2: The original author is Jan Beulich and Liang Tang ported it to upstream]
Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
parent ffb8b233
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ void __init xen_init_vga(const struct dom0_vga_console_info *info, size_t size)
			info->u.text_mode_3.font_height;
		break;

	case XEN_VGATYPE_EFI_LFB:
	case XEN_VGATYPE_VESA_LFB:
		if (size < offsetof(struct dom0_vga_console_info,
				    u.vesa_lfb.gbl_caps))
@@ -54,6 +55,12 @@ void __init xen_init_vga(const struct dom0_vga_console_info *info, size_t size)
		screen_info->blue_pos = info->u.vesa_lfb.blue_pos;
		screen_info->rsvd_size = info->u.vesa_lfb.rsvd_size;
		screen_info->rsvd_pos = info->u.vesa_lfb.rsvd_pos;

		if (info->video_type == XEN_VGATYPE_EFI_LFB) {
			screen_info->orig_video_isVGA = VIDEO_TYPE_EFI;
			break;
		}

		if (size >= offsetof(struct dom0_vga_console_info,
				     u.vesa_lfb.gbl_caps)
		    + sizeof(info->u.vesa_lfb.gbl_caps))
+1 −0
Original line number Diff line number Diff line
@@ -454,6 +454,7 @@ struct dom0_vga_console_info {
	uint8_t video_type;
#define XEN_VGATYPE_TEXT_MODE_3 0x03
#define XEN_VGATYPE_VESA_LFB    0x23
#define XEN_VGATYPE_EFI_LFB     0x70

	union {
		struct {