pkgsrc/sysutils/xenkernel42/patches/patch-xen_drivers_passthrough_vtd_x86_ats.c

22 lines
1,023 B
C

$NetBSD: patch-xen_drivers_passthrough_vtd_x86_ats.c,v 1.1 2015/09/14 13:36:29 joerg Exp $
--- xen/drivers/passthrough/vtd/x86/ats.c.orig 2014-09-02 06:22:57.000000000 +0000
+++ xen/drivers/passthrough/vtd/x86/ats.c
@@ -134,7 +134,7 @@ int dev_invalidate_iotlb(struct iommu *i
case DMA_TLB_GLOBAL_FLUSH:
/* invalidate all translations: sbit=1,bit_63=0,bit[62:12]=1 */
sbit = 1;
- addr = (~0 << PAGE_SHIFT_4K) & 0x7FFFFFFFFFFFFFFF;
+ addr = (~0ULL << PAGE_SHIFT_4K) & 0x7FFFFFFFFFFFFFFF;
rc = qinval_device_iotlb(iommu, pdev->ats_queue_depth,
sid, sbit, addr);
break;
@@ -146,7 +146,7 @@ int dev_invalidate_iotlb(struct iommu *i
sbit = size_order ? 1 : 0;
/* clear lower bits */
- addr &= ~0 << PAGE_SHIFT_4K;
+ addr &= ~0ULL << PAGE_SHIFT_4K;
/* if sbit == 1, zero out size_order bit and set lower bits to 1 */
if ( sbit )