Skip site navigation (1)Skip section navigation (2)
Date:      24 Oct 2000 15:40:46 -0400
From:      David D Golombek <daveg@MIT.EDU>
To:        freebsd-hackers@freebsd.org
Subject:   PCI Device Remapping
Message-ID:  <rxd3dhmjadd.fsf@contents-vnder-pressvre.mit.edu>

next in thread | raw e-mail | index | archive | help
I've written a device driver for a proprietary PCI card, and have run
into what seems to be a show-stopping bug.  The device I'm writing the
driver for is responsible for running DMA transfers to other PCI
devices, and all of our initial work was going well.  I locked down a
contiguous range of host memory and was able to do DMA fine.  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.

So my question is, under FreeBSD (any version -- we're currently
running 3.4, but I can upgrade to -current if it will help), is there
any support for overriding the BIOS-assigned PCI address maps?  I've
read through the 3.4 pci.c code and didn't see anything, and am not
thrilled about writing code to remap all the devices on the PCI bus.

I'm talking to our BIOS vendor about getting them to do the rework for
us, but as in all dealing with BIOS vendors, I am not hopeful :-(

Thanks for any and all suggestions!

DaveG		o_,    o,     o_      o_     o'       	
Programmer	)-'   /|'     ),`     ) '   (\    ^o 	      Gymnast
Dancer		>\    / >     >\      >^'   >\    >>'	        Hiker
daveg@mit.edu			www.mit.edu/~daveg/	(617)216-4705
dave.golombek@conexant.com	www.conexant.com	(508)621-0658
		


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?rxd3dhmjadd.fsf>