summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReyk Floeter <reyk@cvs.openbsd.org>2013-09-08 02:18:01 +0000
committerReyk Floeter <reyk@cvs.openbsd.org>2013-09-08 02:18:01 +0000
commit9e91ce04e2b0d45a4eecca81923cc556977047c2 (patch)
tree6b8374be869412870ef81fa6a409d66557af7aa0
parent4206df8421031c8becca324790b0886b76bd0fe0 (diff)
Unbreak vmx(4) on i386. The right shift of 32 bits for the DSH
register (driver shared address high) exceeded the width of the 32bit bus address; casting the address to a 64bit type will correctly result in a zero value on i386 and the high bits on amd64.
-rw-r--r--sys/dev/pci/if_vmx.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/pci/if_vmx.c b/sys/dev/pci/if_vmx.c
index 24d6997877b..68f443f2f34 100644
--- a/sys/dev/pci/if_vmx.c
+++ b/sys/dev/pci/if_vmx.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_vmx.c,v 1.12 2013/08/28 10:19:19 reyk Exp $ */
+/* $OpenBSD: if_vmx.c,v 1.13 2013/09/08 02:18:00 reyk Exp $ */
/*
* Copyright (c) 2013 Tsubai Masanari
@@ -366,7 +366,7 @@ vmxnet3_dma_init(struct vmxnet3_softc *sc)
for (i = 0; i < VMXNET3_NINTR; i++)
ds->modlevel[i] = UPT1_IMOD_ADAPTIVE;
WRITE_BAR1(sc, VMXNET3_BAR1_DSL, ds_pa);
- WRITE_BAR1(sc, VMXNET3_BAR1_DSH, ds_pa >> 32);
+ WRITE_BAR1(sc, VMXNET3_BAR1_DSH, (u_int64_t)ds_pa >> 32);
return 0;
}