From: yuchenlin <yuchenlin@synology.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.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: Wed, 24 Oct 2018 09:33:38 +0800 [thread overview]
Message-ID: <441901c727f480df877c261f1e1e1279@synology.com> (raw)
In-Reply-To: <b181b0aa-0d56-73e6-5d30-bff3636c55a4@redhat.com>
On 2018-10-23 22:02, Laszlo Ersek wrote:
> 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?
>
Sure!
Thanks,
yuchenlin
> (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
prev parent reply other threads:[~2018-10-24 1:33 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
2018-10-24 1:33 ` yuchenlin [this message]
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=441901c727f480df877c261f1e1e1279@synology.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