summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2014-01-24 02:47:13 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2014-01-24 02:47:13 +0000
commit696e8dfb53c5c751b57984a9ec788c0f9f024c2a (patch)
tree55d1ac6a13b2325d966c08885e02d289999c3e47 /sys
parent7cbe78e3adc8e0c9d538e2933fe568e7014fe6f7 (diff)
DVA should be 64 bits, so make sure it is before getting the high bits.
the DVA macro should cast, but i am wary of the effects on all uses of it, so fixing it in the one place that needs it. fixes compiles on i386
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/pci/arc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/pci/arc.c b/sys/dev/pci/arc.c
index 028618606be..fc33d41d101 100644
--- a/sys/dev/pci/arc.c
+++ b/sys/dev/pci/arc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: arc.c,v 1.98 2014/01/23 23:47:37 chris Exp $ */
+/* $OpenBSD: arc.c,v 1.99 2014/01/24 02:47:12 dlg Exp $ */
/*
* Copyright (c) 2006 David Gwynne <dlg@openbsd.org>
@@ -2920,7 +2920,7 @@ arc_alloc_ccbs(struct arc_softc *sc)
ARC_RA_POST_QUEUE_ADDR_SHIFT;
arc_put_ccb(sc, ccb);
}
- sc->sc_ccb_phys_hi = ARC_DMA_DVA(sc->sc_requests) >> 32;
+ sc->sc_ccb_phys_hi = (u_int64_t)ARC_DMA_DVA(sc->sc_requests) >> 32;
if(sc->sc_adp_type == ARC_HBA_TYPE_D) {
sc->postQ_buffer = ARC_DMA_DVA(sc->sc_requests) +
(ARCMSR_MAX_CCB_COUNT * len);