From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Kamil Szczęk" <kamil@szczek.dev>
Cc: "Bernhard Beschow" <shentey@gmail.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"qemu-trivial@nongnu.org" <qemu-trivial@nongnu.org>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: Re: [PATCH] hw/i386/pc: Warn about unsatisfied vmport deps
Date: Sat, 17 Aug 2024 08:19:24 -0400 [thread overview]
Message-ID: <20240817081845-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <qT_ps6medVHIOIF5hUE_tIMUtEdbHQw5wnhE2ZVauM1cpnfHXqnl9-hroGS-3due9uRtKlMR5RsREbzeIV_0Xp1-FM0w4UDFsvdo3PsIG6U=@szczek.dev>
On Sat, Aug 17, 2024 at 08:49:05AM +0000, Kamil Szczęk wrote:
> On Friday, August 16th, 2024 at 15:14, Bernhard Beschow <shentey@gmail.com> wrote:
>
> >
> > Am 14. August 2024 11:10:16 UTC schrieb "Kamil Szczęk" kamil@szczek.dev:
> >
> > > Since commit 4ccd5fe22feb95137d325f422016a6473541fe9f ('pc: add option
> > > to disable PS/2 mouse/keyboard'), the vmport will not be created unless
> > > the i8042 PS/2 controller is enabled. To not confuse users, let's add a
> > > warning if vmport was explicitly requested, but the i8042 controller is
> > > disabled. This also changes the behavior of vmport=auto to take i8042
> > > controller availability into account.
> > >
> > > Signed-off-by: Kamil Szczęk kamil@szczek.dev
> > > ---
> > > hw/i386/pc.c | 4 ++++
> > > hw/i386/pc_piix.c | 3 ++-
> > > hw/i386/pc_q35.c | 2 +-
> > > qemu-options.hx | 4 ++--
> > > 4 files changed, 9 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> > > index c74931d577..5bd8dd0350 100644
> > > --- a/hw/i386/pc.c
> > > +++ b/hw/i386/pc.c
> > > @@ -1100,6 +1100,10 @@ static void pc_superio_init(ISABus *isa_bus, bool create_fdctrl,
> > > }
> > >
> > > if (!create_i8042) {
> > > + if (!no_vmport) {
> > > + warn_report("vmport requires the i8042 controller to be enabled");
> > > + }
> > > +
> > > return;
> > > }
> > >
> > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> > > index d9e69243b4..cf2e2e3e30 100644
> > > --- a/hw/i386/pc_piix.c
> > > +++ b/hw/i386/pc_piix.c
> > > @@ -312,7 +312,8 @@ static void pc_init1(MachineState *machine, const char *pci_type)
> > >
> > > assert(pcms->vmport != ON_OFF_AUTO__MAX);
> > > if (pcms->vmport == ON_OFF_AUTO_AUTO) {
> > > - pcms->vmport = xen_enabled() ? ON_OFF_AUTO_OFF : ON_OFF_AUTO_ON;
> > > + pcms->vmport = (xen_enabled() || !pcms->i8042_enabled)
> > > + ? ON_OFF_AUTO_OFF : ON_OFF_AUTO_ON;
> > > }
> >
> >
> > I think it makes sense to consolidate this handling into pc_basic_devices_init() before doing this change. Maybe just in front of the call to pc_superio_init()? The additional handling of xen_enabled() shouldn't hurt there for q35: Even though q35 doesn't (yet) support Xen there are already code paths where this check is done.
>
> Makes sense technically, but since I'm new to the mailing list workflow I could use some help with logistics. I've already posted a v2 of this patch which was reviewed and accepted, should I wait for it to be pulled in and post a follow-up patch or post another revision of this patch?
I rebase with now issues - that's why it's a tag, easy to drop.
So feel free to post v3.
> >
> > > /* init basic PC hardware */
> > > diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> > > index 9d108b194e..6c112d804d 100644
> > > --- a/hw/i386/pc_q35.c
> > > +++ b/hw/i386/pc_q35.c
> > > @@ -278,7 +278,7 @@ static void pc_q35_init(MachineState *machine)
> > >
> > > assert(pcms->vmport != ON_OFF_AUTO__MAX);
> > > if (pcms->vmport == ON_OFF_AUTO_AUTO) {
> > > - pcms->vmport = ON_OFF_AUTO_ON;
> > > + pcms->vmport = pcms->i8042_enabled ? ON_OFF_AUTO_ON : ON_OFF_AUTO_OFF;
> > > }
> > >
> > > /* init basic PC hardware */
> > > diff --git a/qemu-options.hx b/qemu-options.hx
> > > index cee0da2014..0bc780a669 100644
> > > --- a/qemu-options.hx
> > > +++ b/qemu-options.hx
> > > @@ -68,8 +68,8 @@ SRST
> > >
> > > `vmport=on|off|auto`
> > > Enables emulation of VMWare IO port, for vmmouse etc. auto says
> > > - to select the value based on accel. For accel=xen the default is
> > > - off otherwise the default is on.
> > > + to select the value based on accel and i8042. For accel=xen
> > > + and/or i8042=off the default is off otherwise the default is on.
> >
> >
> > I'd do s#and/or#or# for readability.
> >
> > Best regards,
> > Bernhard
> >
> > > `dump-guest-core=on|off`
> > > Include guest memory in a core dump. The default is on.
next prev parent reply other threads:[~2024-08-17 12:20 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-14 11:10 [PATCH] hw/i386/pc: Warn about unsatisfied vmport deps Kamil Szczęk
2024-08-14 14:02 ` [PATCH-for-9.1] " Philippe Mathieu-Daudé
2024-08-15 18:22 ` Kamil Szczęk
2024-08-16 6:07 ` Philippe Mathieu-Daudé
2024-08-16 13:14 ` [PATCH] " Bernhard Beschow
2024-08-17 8:49 ` Kamil Szczęk
2024-08-17 11:54 ` Bernhard Beschow
2024-08-17 11:59 ` Bernhard Beschow
2024-08-17 12:33 ` Kamil Szczęk
2024-08-17 12:19 ` Michael S. Tsirkin [this message]
2024-08-17 12:29 ` Kamil Szczęk
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=20240817081845-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=kamil@szczek.dev \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-trivial@nongnu.org \
--cc=shentey@gmail.com \
/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;
as well as URLs for NNTP newsgroup(s).