On 08/06/17 13:11, Manish Jaggi wrote:
On 5/30/2017 4:07 PM, Julien Grall wrote:
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index c927306..f496fc1 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -1301,6 +1301,7 @@ static int gicv3_iomem_deny_access(const struct
domain *d)
{
int rc, i;
unsigned long mfn, nr;
+ const struct host_its *its_data;
mfn = dbase >> PAGE_SHIFT;
nr = DIV_ROUND_UP(SZ_64K, PAGE_SIZE);
@@ -1333,6 +1334,16 @@ static int gicv3_iomem_deny_access(const struct
domain *d)
return iomem_deny_access(d, mfn, mfn + nr);
}
If GICv2 is supported, the function will bail out as soon as the virtual
base region is denied (see just above).
Didnt get your point. gicv2 has already a similar function
gicv2_iomem_deny_access. Can you please elaborate.
I am sending a v2 version on patch incorporating other comments.
if ( vbase != INVALID_PADDR )
{
mfn = vbase >> PAGE_SHIFT;
nr = DIV_ROUND_UP(csize, PAGE_SIZE);
return iomem_deny_access(d, mfn, mfn + nr);
}
When GICv3 is able to support GICv2, vbase will be valid and the code
will bail out after denying access to the GICV. So the ITS regions will
not be denied.
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel