From: <peng.hao2@zte.com.cn>
To: peter.maydell@linaro.org
Cc: drjones@redhat.com, philmd@redhat.com, qemu-devel@nongnu.org,
qemu-arm@nongnu.org
Subject: Re: [Qemu-devel] [PATCH V11 0/8] add pvpanic mmio support
Date: Wed, 5 Dec 2018 08:27:45 +0800 (CST) [thread overview]
Message-ID: <201812050827458661131@zte.com.cn> (raw)
In-Reply-To: <CAFEAcA8hw_PHrBTC+v9rr8VoeU5uiV3Z6nMRknDM7WWdG1Ti5g@mail.gmail.com>
>On Tue, 4 Dec 2018 at 00:41, <peng.hao2@zte.com.cn> wrote:
>>
>> >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.
>>
>> I'm sorry I thought I had sent an email. yesterday when I wrote an email to
>> explain the reason, I was interrupted and forgot to send it out.
>>
>> Now the pvpanic device is implemented as a mmio device or an ACPI device in the kernel,
>> and only one device can be seen at the same time. If the kernel parses FDT first, then pvpanic
>> is a mmio device. The kernel parses ACPI table first(and virtual machine is configured with ACPI),
>> and pvpanic is an ACPI device.
>> If pvpanic is implemented as a PCI device, then the PCI device must still be seen when the ACPI table
>> is first parsed by the kernel, because ACPI device relies on the mmio space of the PCI device.
>> Mmio devices can be thought of as just an address space rather than a device in the strict sense.
>
>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. 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
>> 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.
thanks.
>
>thanks
>-- PMM
next prev parent reply other threads:[~2018-12-05 0:28 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 [this message]
2018-12-05 14:54 ` [Qemu-devel] [Qemu-arm] " Peter Maydell
2018-12-06 2:02 ` peng.hao2
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=201812050827458661131@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).