qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v14 0/5] vGICv3 support


From: Pavel Fedin
Subject: Re: [Qemu-devel] [PATCH v14 0/5] vGICv3 support
Date: Wed, 09 Sep 2015 14:29:37 +0300

 Hello everybody! Just want to inform that i'm leaving for 2 weeks long 
vacation, so i won't respond
during this time.

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia


> -----Original Message-----
> From: address@hidden [mailto:qemu-devel-
> address@hidden On Behalf Of Pavel Fedin
> Sent: Wednesday, September 09, 2015 10:49 AM
> To: address@hidden
> Cc: Peter Maydell; Shlomo Pongratz; Shlomo Pongratz
> Subject: [Qemu-devel] [PATCH v14 0/5] vGICv3 support
> 
> This series introduces support for GICv3 by KVM. Software emulation is
> currently not supported.
> 
> v13 => v14
> 
> - Rebased on the latest master, fixed conflicts in hw/arm/virt.c
> 
> v12 => v13
> - Many stylistic fixes
> - Fixed up ACPI data for virt machine
> - Added gic-version=host value which probes for best possible vGIC version
> - Reserved regions for memory-mapped CPU/vCPU/HYP interfaces
> - Maximum number of CPUs for virt machine dropped to 123 (memory map
>   limitation)
> 
> v11 => v12
> - Do not set timer PPI CPU mask in device tree for GICv3
> - Fixed small styling issues in hw/arm/virt.c
> - Completely untied kvm_gic_access() from GIC and turned into
>   kvm_device_access(). Attribute mapping is now handled in
>   gicd/gicc wrapper macros.
> 
> v11 => v10
> - Fixed minor issues with checkpatch and comments, reported by Eric Auger
> - Make reusable kvm_gic_supports_attr(), moved to kvm-all.c and renamed
>   as kvm_device_check_attr(). Useful for future live migration.
> 
> v9 => v10
> - Renamed "gicversion" option to "gic-version" (was forgotten in v9)
> - Data pointer in kvm_gic_access() is now void * because in case of
>   vGICv3 this function is expected to operate on 64-bit registers too
>   (GICD_IROUTER for instance)
> 
> v8 => v9
> - Removed all limitations on CPU and IRQ number from the base class
> - Added back missing properties, interface is now the same as in GICv2
> - Refactored reusable parts of vGICv2 code, decreased number of changes
> - Removed GIC type check from kvm_arch_irqchip_create(), no more need to
>   specify GIC type early
> - Fixed up all commit messages / logs
> - Removed 'nvic' field assignment in virt machine (was forgotten in v8)
> - CPU number limitation for 'virt' machine now comes from memory map
>   (how many redistributors can be placed). With current layout it appears
>   to be 126.
> 
> v7 => v8
> - Removed all unused SW emulation code
> - Removed unnecessary attributes from common class
> - Set "unmigratable" flag for GICv3 device
> - Removed unnecessary conditions from kvm_arm_gicv3_realize()
> - Fixed GIC type setting in vexpress model, was done in wrong place
> - Fixed condition style in hw/intc/Makefile.objs
> - Cleaned up virt machine memory map
> 
> v6 => v7
> - Wrap own GIC type definitions on top of KVM ones. Fixed build on
>   non-ARM-Linux hosts
> 
> v5 => v6
> - Fixed various checkpatch.pl style warnings
> - Removed TODO in gicv3_init_irqs_and_mmio(), relevant memory API patch
>   included
> - gicv3_init_irqs_and_mmio() now takes 3 arguments instead of 4. It is more
>   convenient to pass MMIO descriptors as array
> 
> v4 => v5
> - Do not reintroduce several constants shared with GICv2, reuse them instead.
> - Added gicv3_init_irqs_and_mmio() in base class, to be used by both software
>   emulation and KVM code. Avoids code duplication.
> - Do not add NULL msi-parent phandle to PCI device in the FDT
> - Removed a couple of stale things from virt.c
> 
> v3 => v4
> - Fixed stupid build breakage in patch 0002
> - Rebased on top of current master, patch 0003 adjusted according to
>   kvm_irqchip_create() changes
> - Added assertion against uninitialized kernel_irqchip_type
> - Removed kernel_irqchip_type initialization from models which do not
>   use KVM vGIC
> 
> v2 => v3
> - Removed some unrelated and unnecessary changes from virt machine,
>   occasionally slipped in; some of them caused qemu to crash on ARM32.
> - Fixed build for ARM32; vGICv3 code requires definitions which are
>   present only in ARM64 kernel
> 
> v1 => v2
> - Base class included, taken from the series by Shlomo Pongratz:
>   http://lists.nongnu.org/archive/html/qemu-devel/2015-06/msg01512.html
>   The code is refactored as little as possible in order to simplify
>   further addition of software emulation:
>   - Minor fixes in code style and comments, according to old reviews
>   - Removed REV_V3 definition because it's currently not used, and it does
>     not add any meaning to number 3.
>   - Removed reserved regions for MBI and ITS (except for 'virt' machine
>     memory map). These should go to separate classes when implemented.
> - Improved commit messages
> - vGIC patches restructured
> - Use 'gicversion' option instead of virt-v3 machine
> 
> Pavel Fedin (4):
>   intc/gic: Extract some reusable vGIC code
>   arm_kvm: Do not assume particular GIC type in
>     kvm_arch_irqchip_create()
>   hw/intc: Initial implementation of vGICv3
>   hw/arm/virt: Add gic-version option to virt machine
> 
> Shlomo Pongratz (1):
>   hw/intc: Implement GIC-500 base class
> 
>  hw/arm/virt-acpi-build.c           |  54 ++++++++------
>  hw/arm/virt.c                      | 124 ++++++++++++++++++++++++------
>  hw/intc/Makefile.objs              |   2 +
>  hw/intc/arm_gic_kvm.c              |  98 ++++++++----------------
>  hw/intc/arm_gicv3_common.c         | 140 ++++++++++++++++++++++++++++++++++
>  hw/intc/arm_gicv3_kvm.c            | 149 
> +++++++++++++++++++++++++++++++++++++
>  hw/intc/vgic_common.h              |  35 +++++++++
>  include/hw/acpi/acpi-defs.h        |   9 +++
>  include/hw/arm/virt-acpi-build.h   |   1 +
>  include/hw/arm/virt.h              |   4 +-
>  include/hw/intc/arm_gicv3_common.h |  68 +++++++++++++++++
>  include/sysemu/kvm.h               |  26 +++++++
>  kvm-all.c                          |  34 +++++++++
>  target-arm/kvm.c                   |  19 +++--
>  target-arm/kvm_arm.h               |  19 +++++
>  target-arm/machine.c               |  18 +++++
>  16 files changed, 682 insertions(+), 118 deletions(-)
>  create mode 100644 hw/intc/arm_gicv3_common.c
>  create mode 100644 hw/intc/arm_gicv3_kvm.c
>  create mode 100644 hw/intc/vgic_common.h
>  create mode 100644 include/hw/intc/arm_gicv3_common.h
> 
> --
> 2.4.4





reply via email to

[Prev in Thread] Current Thread [Next in Thread]