From d1235883bf4e61be0b38e6393d445374b6e52492 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Mon, 2 Sep 2019 14:41:19 +0200 Subject: [PATCH] x86/ACPI: restore VESA mode upon resume from S3 In order for "acpi_sleep=s3_mode" to have any effect, we should record the video mode we switched to during boot. Since right now there's mode setting code for VESA modes only in the resume case, record the mode just in that one case. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- xen/arch/x86/boot/video.S | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xen/arch/x86/boot/video.S b/xen/arch/x86/boot/video.S index 335a51c9b5..20097aa643 100644 --- a/xen/arch/x86/boot/video.S +++ b/xen/arch/x86/boot/video.S @@ -455,14 +455,17 @@ check_vesa: cmpb $0x99, %al jnz _setbad # Doh! No linear frame buffer. + pushw %bx subb $VIDEO_FIRST_VESA>>8, %bh orw $0x4000, %bx # Use linear frame buffer movw $0x4f02, %ax # VESA BIOS mode set call int $0x10 + popw %bx cmpw $0x004f, %ax # AL=4f if implemented jnz _setbad # AH=0 if OK movb $1, bootsym(graphic_mode) # flag graphic mode + movw %bx, bootsym(video_mode) stc ret -- 2.30.2