diff --git a/xen/arch/arm/acpi/domain_build.c b/xen/arch/arm/acpi/domain_build.c index 2ce75543d0..1f6b318854 100644 --- a/xen/arch/arm/acpi/domain_build.c +++ b/xen/arch/arm/acpi/domain_build.c @@ -47,7 +47,7 @@ static int __init acpi_iomem_deny_access(struct domain *d) { mfn = spcr->serial_port.address >> PAGE_SHIFT; /* Deny MMIO access for UART */ - rc = iomem_deny_access(d, mfn, mfn + 1); + rc = iomem_deny_access(d, mfn, mfn); if ( rc ) return rc; } diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c index 02043c0d4b..a3fc3cee75 100644 --- a/xen/arch/arm/gic-v2.c +++ b/xen/arch/arm/gic-v2.c @@ -1079,23 +1079,23 @@ static int gicv2_iomem_deny_access(struct domain *d) unsigned long mfn, nr; mfn = dbase >> PAGE_SHIFT; - rc = iomem_deny_access(d, mfn, mfn + 1); + rc = iomem_deny_access(d, mfn, mfn); if ( rc ) return rc; mfn = hbase >> PAGE_SHIFT; - rc = iomem_deny_access(d, mfn, mfn + 1); + rc = iomem_deny_access(d, mfn, mfn); if ( rc ) return rc; mfn = cbase >> PAGE_SHIFT; nr = DIV_ROUND_UP(csize, PAGE_SIZE); - rc = iomem_deny_access(d, mfn, mfn + nr); + rc = iomem_deny_access(d, mfn, mfn + nr - 1); if ( rc ) return rc; mfn = vbase >> PAGE_SHIFT; - return iomem_deny_access(d, mfn, mfn + nr); + return iomem_deny_access(d, mfn, mfn + nr - 1); } #ifdef CONFIG_ACPI diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c index 5fd83af25a..e3e068f778 100644 --- a/xen/arch/arm/gic-v3-its.c +++ b/xen/arch/arm/gic-v3-its.c @@ -894,7 +894,7 @@ int gicv3_its_deny_access(struct domain *d) { mfn = paddr_to_pfn(its_data->addr); nr = PFN_UP(its_data->size); - rc = iomem_deny_access(d, mfn, mfn + nr); + rc = iomem_deny_access(d, mfn, mfn + nr - 1); if ( rc ) { printk("iomem_deny_access failed for %lx:%lx \r\n", mfn, nr); diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c index cd3e1acf79..d15f0bc8a7 100644 --- a/xen/arch/arm/gic-v3.c +++ b/xen/arch/arm/gic-v3.c @@ -1463,7 +1463,7 @@ static int gicv3_iomem_deny_access(struct domain *d) mfn = dbase >> PAGE_SHIFT; nr = PFN_UP(SZ_64K); - rc = iomem_deny_access(d, mfn, mfn + nr); + rc = iomem_deny_access(d, mfn, mfn + nr - 1); if ( rc ) return rc; @@ -1475,7 +1475,7 @@ static int gicv3_iomem_deny_access(struct domain *d) { mfn = gicv3.rdist_regions[i].base >> PAGE_SHIFT; nr = PFN_UP(gicv3.rdist_regions[i].size); - rc = iomem_deny_access(d, mfn, mfn + nr); + rc = iomem_deny_access(d, mfn, mfn + nr - 1); if ( rc ) return rc; } @@ -1484,7 +1484,7 @@ static int gicv3_iomem_deny_access(struct domain *d) { mfn = cbase >> PAGE_SHIFT; nr = PFN_UP(csize); - rc = iomem_deny_access(d, mfn, mfn + nr); + rc = iomem_deny_access(d, mfn, mfn + nr - 1); if ( rc ) return rc; } @@ -1493,7 +1493,7 @@ static int gicv3_iomem_deny_access(struct domain *d) { mfn = vbase >> PAGE_SHIFT; nr = PFN_UP(csize); - return iomem_deny_access(d, mfn, mfn + nr); + return iomem_deny_access(d, mfn, mfn + nr - 1); } return 0;