From: <peng.hao2@zte.com.cn>
To: peter.maydell@linaro.org
Cc: drjones@redhat.com, qemu-arm@nongnu.org, philmd@redhat.com,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [Qemu-arm] [PATCH V11 0/8] add pvpanic mmio support
Date: Thu, 6 Dec 2018 10:02:31 +0800 (CST) [thread overview]
Message-ID: <201812061002316241763@zte.com.cn> (raw)
In-Reply-To: <CAFEAcA8s87tB4LGaVvJNpS0RN1gQ-ZjtzOBO0mWWQamBFiTzYw@mail.gmail.com>
>On Wed, 5 Dec 2018 at 00:28, <peng.hao2@zte.com.cn> wrote:
>>
>> >I'm afraid I don't understand. If it's a PCI device then
>> >it does not need to be listed in the device tree or the
>> >ACPI tables at all, because it is probeable by the guest.
>> >This also significantly simplifies the changes needed in QEMU.
>> >
>>
>> It is precisely because PCI devices can not be controlled by FDT or ACPI tables,
>> I do not want to implement it as a pci device.
>> X86/pvpanic is implemented as ISA device in QEMU and ACPI device in kernel.
>> My implementation extends the implementation of x86/pvpanic, and a large of x86/pvpanic
>> codes are reused.If PCI devices are implemented in qemu, then ACPI devices and PCI
>> devices may appear simultaneously in the kernel. This would add both devices to the
>> crash notifier list, which is odd. I want to see only one device at any time.
>
>Yes, certainly we only need one pvpanic device. If it's implemented
>as a PCI device, then that's what appears. We don't need and
>would not implement the MMIO version. On x86 a user could
>in theory use the command line to request both ISA and PCI
>pvpanic devices. That would not be very sensible, but there
>are lots of QEMU command lines the user can request that
>don't make sense.
>
>> Of course, many
>> architectures can use PCI devices, but we are currently reusing x86/pvpanic code as much
>> as possible in qemu and kernel , rather than reimplementing it. At the same time,
>> backward compatibility also needs to be considered.
>>
>> pvpanic in guest kernel
>> ARM: ACPI table acpi device
>> FDT mmio device (start guest bypassing uefi)
>> x86 ACPI table acpi device
>
>For Arm, there is no backward compatibility issue, as we have
>not yet implemented or shipped anything.
>
Sorry, the expression is not clear enough. I want to say that x86 needs backward
compatibility if we intend to reuse the code of x86/pvpanic.
>> >> Secondly, I don't want it to be a pluggable device. If the user
>> >> deletes the device by mistake, it may lead to unpredictable results.
>> >
>> >If the user deletes the PCI device they're using for their
>> >disk or networking this will also lead to unpredictable
>> >results. We expect users not to randomly unplug things from
>> >their system if they want it to continue to work. In any
>> >case your guest driver can easily handle the unplug: the
>> >guest would then just lose the ability to notify on panic,
>> >falling back to as if the pvpanic device had never been
>> >present.
>>
>> If two devices can exist simultaneously by modifying the code,
>> then because ACPI devices rely on a PCI device, if PCI devices are dynamically
>> unplugged, ACPI device will not work when panic is triggered.
>
>If somebody modifies the code to QEMU or the guest kernel
>such that something breaks, that's their issue to deal with.
>My proposal is that we would ship:
>* a QEMU with a PCI pvpanic device (which you could plug in
>if you wanted it)
>* no changes to the Arm virt board, so nothing in the ACPI
>or device tree
>* no "mmio pvpanic" device
ok, I will try it.
thanks.
>
>thanks
>-- PMM
next prev parent reply other threads:[~2018-12-06 2:02 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 [this message]
2018-12-04 12:47 ` [Qemu-devel] " Daniel P. Berrangé
2018-12-04 12:59 ` 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=201812061002316241763@zte.com.cn \
--to=peng.hao2@zte.com.cn \
--cc=drjones@redhat.com \
--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).