From: Rahul Singh <[email protected]>
Signed-off-by: Rahul Singh <[email protected]>
---
v4->v5:
* new patch
---
xen/arch/arm/vgic-v3-its.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/xen/arch/arm/vgic-v3-its.c b/xen/arch/arm/vgic-v3-its.c
index 05429030b539..df8f045198a3 100644
--- a/xen/arch/arm/vgic-v3-its.c
+++ b/xen/arch/arm/vgic-v3-its.c
@@ -682,6 +682,18 @@ static int its_handle_mapd(struct virt_its *its, uint64_t
*cmdptr)
BIT(size, UL), valid);
if ( ret && valid )
return ret;
+
+ if ( is_iommu_enabled(its->d) ) {
+ ret = map_mmio_regions(its->d, gaddr_to_gfn(its->doorbell_address),
+ PFN_UP(ITS_DOORBELL_OFFSET),
+ maddr_to_mfn(its->doorbell_address));
+ if ( ret < 0 )
+ {
+ printk(XENLOG_ERR "GICv3: Map ITS translation register d%d
failed.\n",
+ its->d->domain_id);
+ return ret;
+ }
+ }
}
spin_lock(&its->its_lock);
--
2.42.0