public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: Laszlo Ersek <lersek@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 15:42:25 +0200	[thread overview]
Message-ID: <20181023134225.k56ujprawo3qdjm7@lupin.home.kraxel.org> (raw)
In-Reply-To: <917454c5-3420-aba3-097f-0ac46b6792c4@redhat.com>

  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.

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.

> 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).
Didn't test though.

cheers,
  Gerd



  reply	other threads:[~2018-10-23 13:42 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 [this message]
2018-10-23 14:02         ` Laszlo Ersek
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=20181023134225.k56ujprawo3qdjm7@lupin.home.kraxel.org \
    --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