-/* $OpenBSD: xd.c,v 1.68 2015/01/14 21:14:49 miod Exp $ */
+/* $OpenBSD: xd.c,v 1.69 2015/01/14 21:17:09 miod Exp $ */
/* $NetBSD: xd.c,v 1.37 1997/07/29 09:58:16 fair Exp $ */
/*
* standard */
iopb->headno = i % iorq->xd->nhead;
iopb->sectno = i / iorq->xd->nhead;
+ iopb->daddr = (u_long) iorq->dbuf - DVMA_BASE;
XDC_HWAIT(xdcsc, rqno);
xdc_start(xdcsc, 1); /* resubmit */
return (XD_ERR_AOK); /* recovered! */
-/* $OpenBSD: xy.c,v 1.65 2015/01/14 21:14:49 miod Exp $ */
+/* $OpenBSD: xy.c,v 1.66 2015/01/14 21:17:09 miod Exp $ */
/* $NetBSD: xy.c,v 1.26 1997/07/19 21:43:56 pk Exp $ */
/*
int errno = iorq->errno;
int erract = xyc_entoact(errno);
int oldmode, advance, i;
+ u_long addr;
if (erract == XY_ERA_RSET) { /* some errors require a reset */
oldmode = iorq->mode;
* standard */
iopb->head = i % iorq->xy->nhead;
iopb->sect = i / iorq->xy->nhead;
+
+ addr = (u_long) iorq->dbuf - DVMA_BASE;
+ iopb->dataa = (addr & 0xffff);
+ iopb->datar = ((addr & 0xff0000) >> 16);
+
/* will resubmit when we come out of remove_iorq */
return (XY_ERR_AOK); /* recovered! */
}