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>