Daemon News Ezine BSD News BSD Mall BSD Support Forum BSD Advocacy BSD Updates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]



	while (q->head != tail) {
		status = q->irq[q->head];
		q->irq[q->head] = HE_REGM_ITYPE_INVALID;

would become:

	while (q->head != tail) {
		status = le32toh(q->irq[q->head]);
		q->irq[q->head] = htole32(HE_REGM_ITYPE_INVALID);

Similarly, the fields in the various descriptor structures defined in
if_hatmreg.h need to be converted (since it looks like the adapter
DMAs them to find out target addresses etc.). This would cause wrong
addresses to be used for DMA; it's not unlikely that those addresses
would be outside of the target address space of the host bridge, so
they could be interpreted as writes to other PCI devices (or cause bus
errors if there is no such target device).

	- Thomas

-- 
Thomas Moestl <tmoestl@xxxxxxx>	http://www.tu-bs.de/~y0015675/
              <tmm@xxxxxxxxxxx>	http://people.FreeBSD.org/~tmm/
PGP fingerprint: 1C97 A604 2BD0 E492 51D0  9C0F 1FE6 4F1D 419C 776C

To Unsubscribe: send mail to majordomo@xxxxxxxxxxx
with "unsubscribe freebsd-sparc" in the body of the message