From: Vijaya Kumar K
Helper functions to manage its devices using RB-tree
are introduced in physical ITS driver.
This is global list of all the devices.
Signed-off-by: Vijaya Kumar K
---
v8: - Added assert on lock in its_remove_device()
- Dropped Ack's from Ian and Julien
v7: - Introduce i
From: Vijaya Kumar K
Export physical ITS information to virtual ITS driver
Signed-off-by: Vijaya Kumar K
---
v8: - eventID_bits and devID_bits are made its node specific.
Max of all the nodes is considered
- Moved assert on eventID_bits from its_assign_device()
to its_add_device
From: Vijaya Kumar K
Add Virtual ITS command processing support to Virtual ITS driver
Signed-off-by: Vijaya Kumar K
Reviewed-by: Julien Grall
---
v8: - Fixed coding styles
v7: - Moved is_valid_collection() declaration to vits.h
- Added check for number of vcpus of a domain in
vits_do
From: Vijaya Kumar K
The linux driver is based on 4.1 with below commit id
591e5bec13f15feb13fc445b6c9c59954711c4ac
Only following code from Linux ITS driver is ported
and compiled
- LPI initialization
- ITS configuration code
- Physical command queue management
- ITS command building
Also
From: Vijaya Kumar K
bitmap_find_next_zero_area helper function will be used
by physical ITS driver. This is imported from linux 4.2
Signed-off-by: Vijaya Kumar K
Acked-by: Jan Beulich
CC: Ian Campbell
CC: Ian Jackson
CC: Jan Beulich
CC: Keir Fraser
CC: Tim Deegan
---
v5: Ported from Linu
From: Vijaya Kumar K
Emulate LPI related changes to GICR registers
Signed-off-by: Vijaya Kumar K
---
v8: - Updated GICR_PROPBASER and GICR_PENDBASER only on enabling
LPIs and added 32/64 bit reg access
- Allocated LPI property table of size supported by Xen.
- Moved LPI property t
From: Vijaya Kumar K
log2 helper apis are ported from linux from
commit 13c07b0286d340275f2d97adf085cecda37ede37
(linux/log2.h: Fix rounddown_pow_of_two(1))
Changes made for xen are:
- Only required functionality is retained
- Replace fls_long with flsl
Signed-off-by: Vijaya Kumar K
Acked-b
From: Vijaya Kumar K
Allocate dynamically irq descriptors for LPIs
Signed-off-by: Vijaya Kumar K
---
v8: - Use gic_nr_irq_ids() instead of nr_lpis
v6: - Add separate patch for irq_pending structures
- renamed and moved is_domain_lpi to vgic
- Updated __irq_to_domain
---
xen/arch/arm/gi
From: Vijaya Kumar K
nr_cpu_ids for arm platforms is incorrectly set to NR_CPUS
irrespective of the number of cpus supported by platform.
Signed-off-by: Vijaya Kumar K
Reviewed-by: Julien Grall
---
v6: - Updated nr_cpu_ids in setup.c instead of creating
a helper function
---
xen/arch/ar
From: Vijaya Kumar K
This 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 l
From: Vijaya Kumar K
Emulate GITS* registers
Signed-off-by: Vijaya Kumar K
---
v8: - Fixed GITS_BASER0 value.
- Added comments for GITS_BASER0.
- Support 32/64 bit access for GITS_BASER0 and GITS_CBASER.
- s/vits->ctrl/vits->ctlr/
- Used VREG{64,32} and VRANGE{64,32} macros
v7:
From: Vijaya Kumar K
Enable compilation of pITS driver.
Signed-off-by: Vijaya Kumar K
---
xen/arch/arm/Makefile |1 +
1 file changed, 1 insertion(+)
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 9982a93..4970641 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Make
From: Vijaya Kumar K
Define msi_desc structure for arm and introduce
helper functions to access msi_desc member variables.
Signed-off-by: Vijaya Kumar K
Reviewed-by: Julien Grall
---
xen/arch/arm/gic-v3-its.c | 28
xen/arch/arm/irq.c| 12 ++
From: Vijaya Kumar K
Initialize physical ITS if HW supports LPIs.
Signed-off-by: Vijaya Kumar K
---
v8: - Rename lpi_support to its_support.
- Removed its command line parameter.
- Dropped its_enabled global variable.
v7: - Export lpi support information to vgic-v3 driver from gic-v3.
From: Vijaya Kumar K
Change callbacks gic_host_irq_type and gic_guest_irq_type
to gic_get_host_irq_type and gic_get_guest_irq_type
in gic_hw_operations, which returns hw_irq_controller based
on irq type (SPI or LPI).
Signed-off-by: Vijaya Kumar K
CC: Zoltan Kiss
Reviewed-by: Julien Grall
---
From: Vijaya Kumar K
Allocate dynamically pending_lpi descriptors for LPIs
Signed-off-by: Vijaya Kumar K
---
v8: - Dropped HAS_GICV3 config switch around pending_lpis[]
---
xen/arch/arm/vgic-v3-its.c |9 +
xen/arch/arm/vgic.c | 12 +---
xen/include/asm-arm/doma
From: Vijaya Kumar K
ITS translation space contains GITS_TRANSLATER register
which is written by device to raise LPI. This space needs
to mapped to every domain address space for all physical
ITS available,so that device can access GITS_TRANSLATER
register using SMMU.
Signed-off-by: Vijaya Kumar
From: Vijaya Kumar K
Allocate and initialize irq descriptor for LPIs and
route LPIs to guest
For LPIs deactivation is not required. Hence
GICH_LR.HW is not required to set.
Signed-off-by: Vijaya Kumar K
---
v7: - Subtract 8192 from irq number to index to lpi property
table to read priori
From: Vijaya Kumar K
Introduce vgic_is_lpi_supported() helper function
to know virtual ITS availability for a domain
Signed-off-by: Vijaya Kumar K
---
v8: - Dropped its_enabled field
v7: - its_enabled field is added to vgic structure
---
xen/arch/arm/vgic.c|5 +
xen/include/asm
From: Vijaya Kumar K
NR_IRQS represents the number of lines (i.e SGIs, PPIs and SPIs).
With the introduction of LPIs, NR_IRQs is renamed to NR_ITLINES.
Similarly vgic_num_irqs() is renamed as vgic_num_irq_lines().
Signed-off-by: Vijaya Kumar K
Reviewed-by: Julien Grall
---
v7: - Renamed NR_LIN
From: Vijaya Kumar K
Helper function gic_is_lpi() is used to find
if irq is lpi or not. For GICv2 platforms this function
returns number of irq ids which represents only number of line irqs.
For GICv3 platform irq ids are calculated from nr_lpis if
HW supports LPIs
Signed-off-by: Vijaya Kumar K
From: Vijaya Kumar K
Implement hw_irq_controller callbacks required to
handle LPIs.
Signed-off-by: Vijaya Kumar K
Reviewed-by: Julien Grall
---
v8: - Removed const before hw_irq_controller for lpis
v7: - Split this patch into two. In this patch implement
only hw_irq_controller callbacks
From: Vijaya Kumar K
Add APIs to add devices to RB-tree, assign and remove
devices to domain.
Signed-off-by: Vijaya Kumar K
---
v8: - Merged its_free_msi_descs() with its_discard_lpis
- Dropped extra spin_unlock() in its_assign_device()
- Dropped check on device domain to be dom0 in ass
From: Vijaya Kumar K
ITS initialization required for all PCI devices in
ThunderX platform are done by calling from specific
mapping function.
This patch can be reverted once XEN PCI passthrough
framework for arm64 is in available.
For now all the PCI devices are assigned to Dom0
Signed-off-by:
From: Vijaya Kumar K
This patch introduces virtual ITS driver with following
functionality
- Introduces helper functions to manage device table and
ITT table in guest memory
- Helper function to handle virtual ITS devices assigned
to domain
Signed-off-by: Vijaya Kumar K
Reviewed-by: Jul
From: Vijaya Kumar K
Parse host dt and generate ITS node for Dom0.
ITS node resides inside GIC node so when GIC node
is encountered look for ITS node.
Signed-off-by: Vijaya Kumar K
---
v7: - Check on return value
v6: - Introduced get_its_phandle in gic_hw_ops
- Removed make_hwdom_its_dt_nod
From: Vijaya Kumar K
Store the number of lpis allocated per domain in vgic structure
Signed-off-by: Vijaya Kumar K
---
v8: - Updated commit message and added comments
- Removed initialization of vgic.nr_lpis to zero
v7: - Change commit message.
- Store only nr_lpis per domain in vgic st
From: Vijaya Kumar K
GICD_TYPER register definitions are defined as GICD_TYPE.
Rename all GICD_TYPE_* as GICD_TYPER_*
Signed-off-by: Vijaya Kumar K
---
xen/arch/arm/gic-hip04.c |4 ++--
xen/arch/arm/gic-v2.c |6 +++---
xen/arch/arm/gic-v3.c |2 +-
x
From: Vijaya Kumar K
Call domain specific ITS initialization and introduce
callback in vgic for domain free
Signed-off-by: Vijaya Kumar K
---
v7: - Deprecate use of gic_lpi_supported and instead use
vgic_v3_hw.lpi_support
v6: - Moved vits_domain_free() out of this patch
---
xen/arch/arm/
29 matches
Mail list logo