Subject: NetBSD master CVS tree commits
To: None <source-changes@NetBSD.ORG>
From: The Source of All Evil <source@NetBSD.ORG>
List: source-changes
Date: 06/04/1998 11:20:02
thorpej
Thu Jun 4 11:11:23 PDT 1998
Update of /cvsroot/src/sys/arch/alpha/pci
In directory nb00:/tmp/cvs-serv1824
Modified Files:
cia_dma.c
Log Message:
Deal with a hardware bug in Pass 1 and Pass 2 Pyxis chips. Basically,
the scatter/gather TLB cannot be invalidated on these chips. So, to
work around this, we configure the otherwise unsed DMA Window 2 as a
2M SGMAP window at 128M, point all of its page table entries at the
DMA spill page, and, when the TLB is to be invalidated, put the PCI bus
into loopback mode, and create a target hit on Window 2 every 64k for
the number of TLB entries (plus a few ... it seems to not work unless
we read a few extra times), forcing out old TLB entries to make room for
the new, dummy target hits.