From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Marek Marczykowski-Górecki" <marmarek@invisiblethingslab.com>
Cc: xen-devel@lists.xenproject.org,
"Andrew Cooper" <andrew.cooper3@citrix.com>,
"Anthony PERARD" <anthony.perard@vates.tech>,
"Michal Orzel" <michal.orzel@amd.com>,
"Jan Beulich" <jbeulich@suse.com>,
"Julien Grall" <julien@xen.org>,
"Roger Pau Monné" <roger.pau@citrix.com>,
"Stefano Stabellini" <sstabellini@kernel.org>
Subject: Re: [PATCH] tools: Remove support for qemu-trad's battery reporting
Date: Wed, 26 Mar 2025 15:44:05 +0000 [thread overview]
Message-ID: <D8QBAOE8U497.UAKETQOU3D2Y@cloud.com> (raw)
In-Reply-To: <Z-QIOJax7of-y79f@mail-itl>
On Wed Mar 26, 2025 at 1:59 PM GMT, Marek Marczykowski-Górecki wrote:
> On Tue, Mar 25, 2025 at 05:41:10PM +0000, Alejandro Vallejo wrote:
> > The way this undocumented feature works is via qemu-trad (who nobody
> > uses anymore), by intercepting 3 magic PIOs. 0x88 is one of them, and
> > it's probed by hvmloader as a means of detecting support for this (so,
> > on qemu-upstream this check always fails). If hvmloader detects the
> > feature, it appends an SSDT with AML inherited from some laptop ~20y
> > ago. QEMU then communicates with a userspace daemon (xenpmd) via an
> > undocumented xenstore key ("refreshbatterystatus") in order to report
> > battery levels.
> >
> > Seeing how no one uses, mantains or cares about qemu-trad anymore, rip
> > it all out. The hvmloader check, the SSDT generation logic and xenpmd.
>
> Oh, I didn't know something like this existed!
In retrospect, it might've been for the best. I really dislike the way it's put
together. Using xenstore feels really pointless.
> We needed a feature like this, and solved it via extra kernel module +
> PV-like interface to feed it with data from dom0:
> https://github.com/QubesOS/qubes-dummy-psu/
I did wonder (after learning how this all works) how you guys did it without
qemu-trad. I guess that explains it. FWIW, it's not hard to do this properly on
QEMU upstream. We could create a new field under a BAR of the Xen platform
device and instruct some (much, much, much simpler) AML to read the battery
level from there. Then QEMU can ask the real system what the battery level is
and Bob's your uncle.
But...
>
> I guess it doesn't make much sense for me to resurrect the old interface
> and bring it to QEMU upstream, as I need the battery info in PVH too.
> So, I'm fine with removing it as is.
... in principle I'd say QubesOS and OpenXT are the two only plausible users of
this feature. So it's a tad pointless if you've since developed a working
solution many years ago.
Cheers,
Alejandro
next prev parent reply other threads:[~2025-03-26 15:44 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-25 17:41 [PATCH] tools: Remove support for qemu-trad's battery reporting Alejandro Vallejo
2025-03-26 13:59 ` Marek Marczykowski-Górecki
2025-03-26 15:44 ` Alejandro Vallejo [this message]
2025-03-26 17:35 ` Roger Pau Monné
2025-03-26 14:05 ` Andrew Cooper
2025-03-26 14:40 ` Jürgen Groß
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=D8QBAOE8U497.UAKETQOU3D2Y@cloud.com \
--to=alejandro.vallejo@cloud.com \
--cc=andrew.cooper3@citrix.com \
--cc=anthony.perard@vates.tech \
--cc=jbeulich@suse.com \
--cc=julien@xen.org \
--cc=marmarek@invisiblethingslab.com \
--cc=michal.orzel@amd.com \
--cc=roger.pau@citrix.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.