From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: "Peng Hao" <peng.hao2@zte.com.cn>,
"Andrew Jones" <drjones@redhat.com>,
qemu-arm <qemu-arm@nongnu.org>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>,
"QEMU Developers" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH V11 0/8] add pvpanic mmio support
Date: Tue, 4 Dec 2018 12:47:39 +0000 [thread overview]
Message-ID: <20181204124739.GA17825@redhat.com> (raw)
In-Reply-To: <CAFEAcA-oFFz-NtfwHmORxQd4rHsfKa1=tV1kyvPuGQoOZwDB3A@mail.gmail.com>
On Mon, Dec 03, 2018 at 06:50:03PM +0000, Peter Maydell wrote:
> On Mon, 3 Dec 2018 at 11:04, Peng Hao <peng.hao2@zte.com.cn> wrote:
> >
> > The first patches are simple cleanups:
> > - patch 1 move the pvpanic device with the 'ocmmon objects' so we compile
> > it once for the x86/arm/aarch64 archs,
> > - patch 2 simply renames ISA fields/definitions to generic ones.
> >
> > Then instead of add/use the MMIO pvpanic device in the virt machine in an
> > unique patch, I split it in two distinct patches:
> > - patch 3 uses Peng Hao's work, but add the MMIO interface to the existing
> > device (no logical change).
> > - patch 4 is Peng Hao's work in the virt machine (no logical change).
> > - patch 5 add pvpanic device in acpi table in virt machine
> > v2 from Peng Hao is:
> > https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg03433.html
>
> I would still prefer to see a more detailed examination of whether
> we can do this with a PCI device before we commit to taking the
> MMIO version into the virt board.
The original design rational for using an I/O port is mentioned here,
though it is quite brief:
http://lists.gnu.org/archive/html/qemu-devel/2012-10/msg04361.html
[quote]
We have three solutions to implement this feature:
1. use vmcall
2. use I/O port
3. use virtio-serial.
We have decided to avoid touching hypervisor. The reason why I choose
choose the I/O port is:
1. it is easier to implememt
2. it does not depend any virtual device
3. it can work when starting the kernel
[/quote]
Later postings then exposed the port via ACPI
http://lists.nongnu.org/archive/html/qemu-devel/2013-03/msg02293.html
After it had merged there were some changes and the question of turning
it into a PCI device was raised. Paolo was concerned that the guest OS
is in an unknown state (arbitrary locks held, data structures corrupt,
etc) when panic is fired, so simplicity of the I/O port was desirable:
https://lists.gnu.org/archive/html/qemu-devel/2013-08/msg03309.html
Anthony countered that even a PCI device could simply do an outb() in
config space:
https://lists.gnu.org/archive/html/qemu-devel/2013-08/msg03325.html
So it is not clear using a PCI device is in fact a problem in terms of
reliability at time of firing.
Perhaps more relevant is the question of how easily it can be initialized,
as that affects whether it can be used for panics during very early boot,
or from firmware:
https://lists.gnu.org/archive/html/qemu-devel/2013-08/msg03296.html
Finally, there is also the point that PCI slots are precious, and this
is something to be enabled out of the box on all VMs, so you'd be removing
one extra PCI slot from general usage. Thus mgmt apps would need to start
adding PCI bridges sooner. Not a blocker but something to bear in mind
when weighing up options.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2018-12-04 12:47 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-03 19:26 [Qemu-devel] [PATCH V11 0/8] add pvpanic mmio support Peng Hao
2018-12-03 18:50 ` Peter Maydell
2018-12-04 0:41 ` peng.hao2
2018-12-04 9:40 ` Peter Maydell
2018-12-04 12:05 ` Andrew Jones
2018-12-04 12:48 ` Peter Maydell
2018-12-05 0:27 ` peng.hao2
2018-12-05 14:54 ` [Qemu-devel] [Qemu-arm] " Peter Maydell
2018-12-06 2:02 ` peng.hao2
2018-12-04 12:47 ` Daniel P. Berrangé [this message]
2018-12-04 12:59 ` [Qemu-devel] " Peter Maydell
2018-12-04 13:30 ` Paolo Bonzini
2018-12-04 13:43 ` Peter Maydell
2018-12-04 13:53 ` Paolo Bonzini
2018-12-04 19:10 ` Michael S. Tsirkin
2018-12-04 13:48 ` Daniel P. Berrangé
2018-12-03 19:26 ` [Qemu-devel] [PATCH V11 1/8] hw/misc/pvpanic: Build the pvpanic device in $(common-obj) Peng Hao
2018-12-03 19:26 ` [Qemu-devel] [PATCH V11 2/8] hw/misc/pvpanic: Cosmetic renaming Peng Hao
2018-12-03 19:26 ` [Qemu-devel] [PATCH V11 3/8] hw/misc/pvpanic: Add the MMIO interface Peng Hao
2018-12-03 19:26 ` [Qemu-devel] [PATCH V11 4/8] hw/arm/virt: Use the pvpanic device Peng Hao
2018-12-03 11:21 ` Andrew Jones
2018-12-03 19:26 ` [Qemu-devel] [PATCH V11 5/8] hw/arm/virt: add pvpanic device in virt acpi table Peng Hao
2018-12-03 19:26 ` [Qemu-devel] [PATCH V11 6/8] hw/arm/virt: add configure interface for pvpanic-mmio Peng Hao
2018-12-03 11:18 ` Andrew Jones
2018-12-03 11:22 ` Andrew Jones
2018-12-03 19:26 ` [Qemu-devel] [PATCH V11 7/8] hw/arm/virt: use the configure interface Peng Hao
2018-12-03 19:26 ` [Qemu-devel] [PATCH V11 8/8] pvpanic : update pvpanic document Peng Hao
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=20181204124739.GA17825@redhat.com \
--to=berrange@redhat.com \
--cc=drjones@redhat.com \
--cc=peng.hao2@zte.com.cn \
--cc=peter.maydell@linaro.org \
--cc=philmd@redhat.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.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 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).