Kexec Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Moody <benjamin.moody@gmail.com>
To: kexec@lists.infradead.org, Kairui Song <kasong@redhat.com>,
	Dave Young <dyoung@redhat.com>
Subject: Re: Setting "orig_video_isVGA" when handing off Linux framebuffer
Date: Tue, 4 May 2021 19:09:54 -0400	[thread overview]
Message-ID: <20210504190954.46edf191@gmail.com> (raw)
In-Reply-To: <20210423154657.40324d86@gmail.com>

Hi,

In regard to how kexec hands off the framebuffer to the newly-booted
kernel:

Commit 060eee589dd1 (2018-01-28) added the "blindly try old boot time
video type" behavior, without doing any checking to see if the
framebuffer is compatible with the stated format.

Commit fb5a8792e6e4 (2019-03-05) made this behavior conditional on the
--reuse-video-type option.  The commit message observes that:

    Currently kernel hanging is inspected on some hyper-v VMs after this
    commit, because hyperv_fb will mimic EFI (or VESA) VGA on first boot
    up, but after the real driver is loaded, it will switch to new mode
    and no longer compatible with EFI/VESA VGA. Keep setting
    orig_video_isVGA to EFI/VESA VGA flag will get wrong driver loaded
    and try to manipulate the framebuffer in a wrong way.

It's clear to me that various bad things *might* happen if kexec
pretends that the framebuffer is "VESA-compatible" or "EFI-compatible"
when in fact it isn't.

Yet, in many cases, the Linux framebuffer is VESA/EFI-compatible, at
least to the extent that blindly setting orig_video_isVGA = 0x23 or
0x70 results in a usable display.  So I have to wonder, in the
situation mentioned above:

 - was the framebuffer not in a compatible format to begin with?

 - was the framebuffer address not correctly reported by the existing
   kernel driver?

 - did the original bootloader give wrong information and somehow that
   broke the newly booted kernel?

Kairui, can you please clarify what sort of kernel hangs you were
seeing and what specific hardware and drivers you were using?

Benjamin Moody

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

  reply	other threads:[~2021-05-04 23:10 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-23 19:46 Setting "orig_video_isVGA" when handing off Linux framebuffer Benjamin Moody
2021-05-04 23:09 ` Benjamin Moody [this message]
2021-05-18 16:55   ` Kairui Song
2021-05-24 22:19     ` Benjamin Moody

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210504190954.46edf191@gmail.com \
    --to=benjamin.moody@gmail.com \
    --cc=dyoung@redhat.com \
    --cc=kasong@redhat.com \
    --cc=kexec@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox