Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Oct 2000 09:10:05 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        daveg@MIT.EDU (David D Golombek)
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: PCI Device Remapping
Message-ID:  <200010250910.CAA18466@usr02.primenet.com>
In-Reply-To: <rxd3dhmjadd.fsf@contents-vnder-pressvre.mit.edu> from "David D Golombek" at Oct 24, 2000 03:40:46 PM

next in thread | previous in thread | raw e-mail | index | archive | help
> I'm now
> trying to get the card to do DMA to other PCI cards, and have found a
> bug in our chip.  Basically, the high bit of the address on PCI
> transfers gets dropped.  This means that the chip can't address PCI
> memory physical addresses over 0x7FFFFFFF.  Big problem, since the
> BIOS on our computers maps PCI device memory from 0xFFFF0000 downward.

A gross hack that Eagle used on NE1000 cards was to require that
an even number of bytes be transferred.

You can do this hack yourself by swapping the pinouts on the chip,
if it's simply impossible to go back to fab on it.  You will need
to rearrange the input to the mapping register at the same time.

Pretty much ECN time, though.

Alternately, if you have a flashable BIOS, you can hack the BIOS
to start mapping at 0x7fffffff instead.  This should be pretty
trivial, if you have something like a copy of Sourcer lying
around, since it can take your BIOS as input and output a program
(fully commented!) that, when assembled, will result in the same
BIOS being generated.  Flip the start bit and...


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200010250910.CAA18466>