[Qemu-devel] [PATCH V12 0/5] add pvpanic mmio support

Peng Hao posted 5 patches 5 years, 4 months ago
default-configs/arm-softmmu.mak |  1 +
docs/specs/pvpanic.txt          | 13 +++++-
hw/misc/Makefile.objs           |  2 +-
hw/misc/pvpanic.c               | 91 +++++++++++++++++++++++++++++++++--------
include/hw/misc/pvpanic.h       |  1 +
include/hw/pci/pci.h            |  1 +
6 files changed, 91 insertions(+), 18 deletions(-)
[Qemu-devel] [PATCH V12 0/5] add pvpanic mmio support
Posted by Peng Hao 5 years, 4 months ago
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

v3 --> v4
     patch 1,2 no modification.
     patch 3, add TYPE_PANIC_MMIO for distinguishing different bus device,
              virt + isa_pvpanic will abnormally terminate virtual machine.
     patch 4, "pvpanic,mmio" --> "qemu,pvpanic-mmio".
     patch 5, newly added.

v4 --> v5
     patch 1,2 no modification.
     patch 3 delete PvpanicCommonState structure.
     patch 4 VIRT_PVPANIC_MMIO --> VIRT_PVPANIC
             correct VIRT_PVPANIC's overlap start address
     patch 5 no modification.

v5 --> v6
     add document.

v6 --> v7
     patch 5 modify device name from "PANC" to "PEVT".
     patch 6 modify document description.

v7 --> v8
     add configure interface for pvpanic-mmio

v8 --> v9
     revert "moving structure definition to header file"
     because of compile error in x86.

v9 --> v10
     Modify document.
     Repair missing header files.

v10 --> v11
     change configure interface in virt machine configure parameters.

v11 --> v12
     realize pvpanic as a pci device and use the mmio of pci device.

Philippe Mathieu-Daudé (2):
  hw/misc/pvpanic: Build the pvpanic device in $(common-obj)
  hw/misc/pvpanic: Cosmetic renaming

Peng Hao (3):
  pvpanic : update pvpanic document
  hw/arm/virt: Use the pvpanic device
  pvpanic: add mmio interface as a pci device

default-configs/arm-softmmu.mak |  1 +
docs/specs/pvpanic.txt          | 13 +++++-
hw/misc/Makefile.objs           |  2 +-
hw/misc/pvpanic.c               | 91 +++++++++++++++++++++++++++++++++--------
include/hw/misc/pvpanic.h       |  1 +
include/hw/pci/pci.h            |  1 +
6 files changed, 91 insertions(+), 18 deletions(-)

-- 
1.8.3.1


Re: [Qemu-devel][PATCH V12 0/5] add pvpanic mmio support
Posted by peng.hao2@zte.com.cn 5 years, 4 months ago
>v10 --> v11
>change configure interface in virt machine configure parameters.
>
>v11 --> v12
>realize pvpanic as a pci device and use the mmio of pci device.
>
>Philippe Mathieu-Daudé (2):
>hw/misc/pvpanic: Build the pvpanic device in $(common-obj)
>hw/misc/pvpanic: Cosmetic renaming
>
>Peng Hao (3):
>pvpanic : update pvpanic document
>hw/arm/virt: Use the pvpanic device
>pvpanic: add mmio interface as a pci device
Hi , I resubmit a series patches for realizeing pvpanic as a pci device.
and I want to confirm if these patches meet the requirements. 
I know there are still some imperfections in this series of patches, 
such as how to avoid x86/pvpanic using ISA/pvpanic and PCI/pvpanic at the same time.
 But I want to confirm if there is a problem with the overall direction of implementation 
as a PCI device.Then I can resubmit patches to kernel for replacing the previous ones.

Thanks.
Re: [Qemu-devel] [PATCH V12 0/5] add pvpanic mmio support
Posted by Andrew Jones 5 years, 4 months ago
On Thu, Dec 06, 2018 at 07:25:55PM +0800, Peng Hao 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
> 
> v3 --> v4
>      patch 1,2 no modification.
>      patch 3, add TYPE_PANIC_MMIO for distinguishing different bus device,
>               virt + isa_pvpanic will abnormally terminate virtual machine.
>      patch 4, "pvpanic,mmio" --> "qemu,pvpanic-mmio".
>      patch 5, newly added.
> 
> v4 --> v5
>      patch 1,2 no modification.
>      patch 3 delete PvpanicCommonState structure.
>      patch 4 VIRT_PVPANIC_MMIO --> VIRT_PVPANIC
>              correct VIRT_PVPANIC's overlap start address
>      patch 5 no modification.
> 
> v5 --> v6
>      add document.
> 
> v6 --> v7
>      patch 5 modify device name from "PANC" to "PEVT".
>      patch 6 modify document description.
> 
> v7 --> v8
>      add configure interface for pvpanic-mmio
> 
> v8 --> v9
>      revert "moving structure definition to header file"
>      because of compile error in x86.
> 
> v9 --> v10
>      Modify document.
>      Repair missing header files.
> 
> v10 --> v11
>      change configure interface in virt machine configure parameters.
> 
> v11 --> v12
>      realize pvpanic as a pci device and use the mmio of pci device.

Do you have a pointer to the kernel patches?

Thanks,
drew


> 
> Philippe Mathieu-Daudé (2):
>   hw/misc/pvpanic: Build the pvpanic device in $(common-obj)
>   hw/misc/pvpanic: Cosmetic renaming
> 
> Peng Hao (3):
>   pvpanic : update pvpanic document
>   hw/arm/virt: Use the pvpanic device
>   pvpanic: add mmio interface as a pci device
> 
> default-configs/arm-softmmu.mak |  1 +
> docs/specs/pvpanic.txt          | 13 +++++-
> hw/misc/Makefile.objs           |  2 +-
> hw/misc/pvpanic.c               | 91 +++++++++++++++++++++++++++++++++--------
> include/hw/misc/pvpanic.h       |  1 +
> include/hw/pci/pci.h            |  1 +
> 6 files changed, 91 insertions(+), 18 deletions(-)
> 
> -- 
> 1.8.3.1
> 
> 

Re: [Qemu-devel][PATCH V12 0/5] add pvpanic mmio support
Posted by peng.hao2@zte.com.cn 5 years, 4 months ago
>> v11 --> v12
>>      realize pvpanic as a pci device and use the mmio of pci device.
>
>Do you have a pointer to the kernel patches?
>
>Thanks,
>>drew
>
I'm still sorting out the code for the kernel part, and I haven't submitted a patch yet.
Re: [Qemu-devel] [PATCH V12 0/5] add pvpanic mmio support
Posted by Auger Eric 4 years, 7 months ago
Hi Peng,

On 12/12/18 2:54 AM, peng.hao2@zte.com.cn wrote:
>>> v11 --> v12
>>>      realize pvpanic as a pci device and use the mmio of pci device.
>>
>> Do you have a pointer to the kernel patches?
>>
>> Thanks,
>>> drew
>>
> I'm still sorting out the code for the kernel part, and I haven't submitted a patch yet.
> 

What is the status of the effort to get this PCI PVPANIC device available?

I am unsure about the kernel driver status. I found

[PATCH V6 0/4] add pvpanic driver framework
https://lwn.net/Articles/780193/

Thank you in advance

Best Regards

Eric