public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: yuchenlin <yuchenlin@synology.com>,
	edk2-devel@lists.01.org, jordan.l.justen@intel.com,
	ard.biesheuvel@linaro.org, anthony.perard@citrix.com,
	julien.grall@linaro.org, Phil Dennis-Jordan <phil@philjordan.eu>
Subject: Re: [PATCH] OvmfPkg: initialize bochs when initializing vmsvga
Date: Tue, 23 Oct 2018 16:02:57 +0200	[thread overview]
Message-ID: <b181b0aa-0d56-73e6-5d30-bff3636c55a4@redhat.com> (raw)
In-Reply-To: <20181023134225.k56ujprawo3qdjm7@lupin.home.kraxel.org>

On 10/23/18 15:42, Gerd Hoffmann wrote:
>   Hi,
> 
>> Please help me see the situation better. Here's my current
>> understanding.
>>
>> (1) QemuVideoDxe doesn't set up the VMW SVGA FIFO, and does not store 1
>>     to the SVGA_REG_CONFIG_DONE register. And this is not a "small
>>     missing step" -- the FIFO setup can be considered a separate
>>     feature.
>>
>> (2) We don't intend to implement the FIFO setup feature. (In particular
>>     because we don't intend to track changed rectangles and send updates
>>     via the FIFO.)
>>
>> (3) The intent of the original VMW SVGA enablement patch for
>>     QemuVideoDxe, namely commit c137d9508169, was to enable booting some
>>     UEFI operating systems on OVMF that had guest drivers only for VMW
>>     SVGA.
>>
>> (4) The QEMU device model now -- since commit 104bd1dc70 -- falls back
>>     to stdvga (that is, Bochs) in response to QemuVideoDxe's actions.
>>
>> (5) Your proposal is to set up the Bochs interface in QemuVideoDxe, *in
>>     addition* to the -- now dysfunctional! -- VMW SVGA interface.
>>
>> Is my understanding correct?
> 
> I understand things the same way.
> 
>> So, what do you think of the following approach, instead of your
>> currently proposed patch:
>>
>> - revert commit c137d9508169 ("OvmfPkg/QemuVideoDxe: VMWare SVGA device
>>   support", 2017-04-07)
>>
>> - revert commit 05a537945872 ("OvmfPkg/QemuVideoDxe: Helper functions
>>   for unaligned port I/O.", 2017-04-07)
>>
>> - given that QEMU provides the Bochs interface anyway, with the VMW SVGA
>>   device model, simply recognize the "QEMU VMWare SVGA" card, in the
>>   "gQemuVideoCardList" array, as the QEMU_VIDEO_BOCHS_MMIO variant.
> 
> Makes sense to me.

Great, thank you.

> Alternatively write a full-blown vmsvga driver which works simliar to
> the virtio-gpu driver.  I have my doubts this is worth the effort
> though.

Right, please let us *not* do this.

> 
>> Before QEMU commit 104bd1dc70, was it really *required* to use the (now
>> dead) QemuVideoDxe code for VMW SVGA, or would it always have been
>> possible to simply use the Bochs interface, to drive the VMW SVGA
>> device?
> 
> I think bochs interface works works with all vmsvga version (in qemu).

Great!

> Didn't test though.

That's fine; I think I haven't tested VMW SVGA, as in "ever". That's up
to people that actually use the device model. As I wrote previously,
it's quite telling that the consequences of QEMU commit 104bd1dc70, from
release v2.10.0, are reported only now, more than a year after the
release -- VMW SVGA must not be a very popular device model.

Yuchenlin, can you then please investigate this approach, including
testing the reverts (the Bochs-only implementation) against QEMU v2.9.1?

(FWIW, upstream QEMU doesn't seem to support earlier releases than
v2.10.2 any longer, according to <https://www.qemu.org/>. So even if the
v2.9.1 test failed, maybe we shouldn't care, in *upstream* edk2. Still,
knowing the status would be useful.)

Thanks!
Laszlo


  reply	other threads:[~2018-10-23 14:03 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-23  2:40 [PATCH] OvmfPkg: initialize bochs when initializing vmsvga yuchenlin
2018-10-23 10:18 ` Laszlo Ersek
2018-10-23 11:12   ` yuchenlin
2018-10-23 12:45     ` Laszlo Ersek
2018-10-23 13:42       ` Gerd Hoffmann
2018-10-23 14:02         ` Laszlo Ersek [this message]
2018-10-24  1:33           ` yuchenlin

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-list 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=b181b0aa-0d56-73e6-5d30-bff3636c55a4@redhat.com \
    --to=devel@edk2.groups.io \
    /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