Redo r360540 to retain the ifndef sparc code, not delete it.

Also undo the BROKEN stuff, since it was based on the same misreading.

Noticed by: Jens Schweikhardt
This commit is contained in:
imp 2020-05-01 18:36:48 +00:00
parent 31a31598e4
commit 7e231f0853

View File

@ -73,9 +73,7 @@ struct netif_driver ofwnet = {
static ihandle_t netinstance;
#ifdef BROKEN
static void *dmabuf;
#endif
static int
ofwn_match(struct netif *nif, void *machdep_hint)
@ -112,12 +110,10 @@ ofwn_put(struct iodesc *desc, void *pkt, size_t len)
#endif
}
#ifdef BROKEN
if (dmabuf) {
bcopy(pkt, dmabuf, sendlen);
pkt = dmabuf;
}
#endif
rv = OF_write(netinstance, pkt, len);
@ -220,6 +216,16 @@ ofwn_init(struct iodesc *desc, void *machdep_hint)
#if defined(NETIF_DEBUG)
printf("ofwn_init: Open Firmware instance handle: %08x\n", netinstance);
#endif
dmabuf = NULL;
if (OF_call_method("dma-alloc", netinstance, 1, 1, (64 * 1024), &dmabuf)
< 0) {
printf("Failed to allocate DMA buffer (got %p).\n", dmabuf);
goto punt;
}
#if defined(NETIF_DEBUG)
printf("ofwn_init: allocated DMA buffer: %p\n", dmabuf);
#endif
return;
punt: