Re: [Xen-devel] [PATCH v8 00/28] Add ITS support
Sounds good. Thank you. Cheers, Stefano On Fri, 8 Apr 2016, Steve Capper wrote: > Hello, > We are going to re-examine the design document behind GICv3 ITS within > ARM to see if any simplifications can be made. This should, in turn, > help us simplify this series somewhat. > > The revised design document will then be sent to xen-devel for review > before we re-examine this series. > > Cheers, > -- > Steve Capper > ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Re: [Xen-devel] [PATCH v8 00/28] Add ITS support
Hello, We are going to re-examine the design document behind GICv3 ITS within ARM to see if any simplifications can be made. This should, in turn, help us simplify this series somewhat. The revised design document will then be sent to xen-devel for review before we re-examine this series. Cheers, -- Steve Capper ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
[Xen-devel] [PATCH v8 00/28] Add ITS support
From: Vijaya Kumar KThis is based on DraftG version http://xenbits.xen.org/people/ianc/vits/draftG.pdf Following major features are supported - GICv3 ITS support for arm64 platform - Only Dom0 is supported. For DomU pci passthrough feature is required. Major Changes in v8: - Rebased to latest staging branch. - Tested with kernel 4.2. - Introduced new patch xen/arm: Correct GICD_TYPER register definition typos. - Dropped xen/arm: Move vgic rank locking inside get_irq_priority. This patch is not required with latest code. - Used Tasklet to parse LPI property table. Changes in v7: - Rebased to latest staging branch. - Compiled all the patches individually for both arm32 and arm64 - Patch xen-arm-ITS-implement-hw_irq_controller-for-LPIs.patch split into two patches. - xen-arm-ITS-implement-hw_irq_controller-for-LPIs.patch and - xen-arm-ITS-Plumbing-hw_irq_controller-for-LPIs.patch. - Moved patch xen-arm-ITS-Add-GITS-registers-emulation.patch before vITS compilation. - Merged xen-arm-ITS-Enable-virtual-ITS-driver.patch with patch xen-arm-ITS-Export-ITS-info-to-Virtual-ITS.patch. - Dropped patch xen-arm-ITS-Add-32-bit-access-to-GICR_TYPER.patch. This is only minor change. Hence merged with xen-arm-ITS-Add-GICR-register-emulation.patch. - Dropped patch xen-arm-ITS-Introduce-helper-to-get-number-of-event-.patch - Dropped gic_lpi_supported helper function. - Changed LPI property table usage and handling. - Added support to pass nr_lpis from bootargs. - Added support to enable/disable its support from bootargs. - Fixed issues around freeing of its_device on error. - Introduced vits.h file - Dropped xen-dt-Handle-correctly-node-with-interrupt-map-in-d.patch from this series as it is already merged. Could not share code via Github. Network is very slow. Please, let me know if required. Changes in v6: - Rebased to latest staging branch. - Compiled all the patches individually for both arm32 and arm64 - Split the patch "xen/arm: ITS: Allocate irq descriptors for LPIs" into two. One for allocating LPI irq_desc and other patch for allocating pending_irq desc for LPIs - Following new patches are introduced 1) xen/arm: Rename NR_IRQs and vgic_num_irqs helper function 2) xen/arm: ITS: Introduce msi_desc for LPIs 3) xen/arm: Move vgic locking inside get_irq_priority callback 4) xen/arm: ITS: Store LPIs allocated and IRQ ID bits per domain 5) xen/arm: ITS: Introduce helper to get number of event IDs 6) xen/arm: ITS: Add virtual ITS availability check helper 7) xen/arm: ITS: Add 32-bit access to GICR_TYPER) 8) xen/arm: ITS: Allocate pending_lpi descriptors for LPIs - Based on below patch set http://lists.xen.org/archives/html/xen-devel/2015-08/msg00168.html Some Major TODOs: 1) Avoid making vits_process_cmd() static in later point of time 2) How to handle LPI that does not have LPI config table entry. 3) Enable/disable ITS to Dom0 Changes in v5: - Added following new patches 0001-xen-arm-Return-success-if-dt-node-does-not-have-irq-.patch 0004-xen-arm-Set-nr_cpu_ids-to-available-number-of-cpus.patch 0009-xen-arm-ITS-Export-ITS-info-to-Virtual-ITS.patch 0013-xen-arm-ITS-Implement-gic_is_lpi-helper-function.patch - Split patch #12 into two patches #14 & #16 0014-xen-arm-ITS-Allocate-irq-descriptors-for-LPIs.patch 0016-xen-arm-ITS-Route-LPIs.patch - Introduce new API to route LPI (route_lpi_to_guest() ) - Moved patch #8 in v4 as patch #19 - irq_descritors for LPIs are allocated dynamically - Removed RB-tree for managing vitual its devices. Will be introduced when pci-passthrough is implemented - its_add_device() api now takes nr_ites and DT its node as parameters - some function are kept as non-static when introduced in a patch for compilation purpose and eventually made static when used. - Tested compilation for arm32 Changes in v4: - Patch for rate limiting of error message is removed. - Patch #4 and #5 in v3 is merged - Merged #13 and #16 as one patch - hw_irq_controller is implemented for LPIs - GITS and GICR emulation for LPIs in separate patches - Removed build functions for ITS command in physical ITS driver - Added new patch to add and assign devices from platform file - Enable compilation of vits and pits driver in separate patch - Replace msi-parent property in all pci dt nodes to single ITS node generated by Xen for Dom0 Vijaya Kumar K (28): xen/arm: Add bitmap_find_next_zero_area helper function xen: Add log2 functionality xen/arm: Set nr_cpu_ids to available number of cpus xen/arm: Rename NR_IRQs and vgic_num_irqs helper function xen/arm: ITS: Port ITS driver to Xen xen/arm: ITS: Add helper functions to manage its_devices xen/arm: ITS: Introduce msi_desc for LPIs xen/arm: ITS: Add APIs to add and assign device xen/arm: ITS: Introduce gic_is_lpi