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-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>
[-- Attachment #1.1: Type: text/plain, Size: 3206 bytes --]
>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
WARNING: multiple messages have this Message-ID (diff)
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: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-03 19:26 [Qemu-arm] [PATCH V11 0/8] add pvpanic mmio support Peng Hao
2018-12-03 19:26 ` [Qemu-devel] " Peng Hao
2018-12-03 18:50 ` [Qemu-arm] " Peter Maydell
2018-12-03 18:50 ` [Qemu-devel] " Peter Maydell
2018-12-04 0:41 ` [Qemu-arm] " peng.hao2
2018-12-04 0:41 ` [Qemu-devel] " peng.hao2
2018-12-04 9:40 ` [Qemu-arm] " Peter Maydell
2018-12-04 9:40 ` [Qemu-devel] " Peter Maydell
2018-12-04 12:05 ` Andrew Jones
2018-12-04 12:05 ` Andrew Jones
2018-12-04 12:48 ` Peter Maydell
2018-12-04 12:48 ` Peter Maydell
2018-12-05 0:27 ` [Qemu-arm] " peng.hao2
2018-12-05 0:27 ` [Qemu-devel] " peng.hao2
2018-12-05 14:54 ` [Qemu-arm] " Peter Maydell
2018-12-05 14:54 ` [Qemu-devel] " Peter Maydell
2018-12-06 2:02 ` peng.hao2 [this message]
2018-12-06 2:02 ` peng.hao2
2018-12-04 12:47 ` [Qemu-arm] [Qemu-devel] " Daniel P. Berrangé
2018-12-04 12:47 ` Daniel P. Berrangé
2018-12-04 12:59 ` [Qemu-arm] " Peter Maydell
2018-12-04 12:59 ` Peter Maydell
2018-12-04 13:30 ` [Qemu-arm] " Paolo Bonzini
2018-12-04 13:30 ` Paolo Bonzini
2018-12-04 13:43 ` [Qemu-arm] " Peter Maydell
2018-12-04 13:43 ` Peter Maydell
2018-12-04 13:53 ` Paolo Bonzini
2018-12-04 13:53 ` Paolo Bonzini
2018-12-04 19:10 ` [Qemu-arm] " Michael S. Tsirkin
2018-12-04 19:10 ` [Qemu-devel] " Michael S. Tsirkin
2018-12-04 13:48 ` [Qemu-arm] " Daniel P. Berrangé
2018-12-04 13:48 ` Daniel P. Berrangé
2018-12-03 19:26 ` [Qemu-arm] [PATCH V11 1/8] hw/misc/pvpanic: Build the pvpanic device in $(common-obj) Peng Hao
2018-12-03 19:26 ` [Qemu-devel] " Peng Hao
2018-12-03 19:26 ` [Qemu-arm] [PATCH V11 2/8] hw/misc/pvpanic: Cosmetic renaming Peng Hao
2018-12-03 19:26 ` [Qemu-devel] " Peng Hao
2018-12-03 19:26 ` [Qemu-arm] [PATCH V11 3/8] hw/misc/pvpanic: Add the MMIO interface Peng Hao
2018-12-03 19:26 ` [Qemu-devel] " Peng Hao
2018-12-03 19:26 ` [Qemu-arm] [PATCH V11 4/8] hw/arm/virt: Use the pvpanic device Peng Hao
2018-12-03 19:26 ` [Qemu-devel] " Peng Hao
2018-12-03 11:21 ` [Qemu-arm] " Andrew Jones
2018-12-03 11:21 ` [Qemu-devel] " Andrew Jones
2018-12-03 19:26 ` [Qemu-arm] [PATCH V11 5/8] hw/arm/virt: add pvpanic device in virt acpi table Peng Hao
2018-12-03 19:26 ` [Qemu-devel] " Peng Hao
2018-12-03 19:26 ` [Qemu-arm] [PATCH V11 6/8] hw/arm/virt: add configure interface for pvpanic-mmio Peng Hao
2018-12-03 19:26 ` [Qemu-devel] " Peng Hao
2018-12-03 11:18 ` [Qemu-arm] " Andrew Jones
2018-12-03 11:18 ` [Qemu-devel] " Andrew Jones
2018-12-03 11:22 ` [Qemu-arm] " Andrew Jones
2018-12-03 11:22 ` [Qemu-devel] " Andrew Jones
2018-12-03 19:26 ` [Qemu-arm] [PATCH V11 7/8] hw/arm/virt: use the configure interface Peng Hao
2018-12-03 19:26 ` [Qemu-devel] " Peng Hao
2018-12-03 19:26 ` [Qemu-arm] [PATCH V11 8/8] pvpanic : update pvpanic document Peng Hao
2018-12-03 19:26 ` [Qemu-devel] " 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 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.