From owner-freebsd-hackers Tue Oct 24 13:44: 7 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from MIT.EDU (SOUTH-STATION-ANNEX.MIT.EDU [18.72.1.2]) by hub.freebsd.org (Postfix) with SMTP id 8107E37B479 for ; Tue, 24 Oct 2000 13:44:05 -0700 (PDT) Received: from GRAND-CENTRAL-STATION.MIT.EDU by MIT.EDU with SMTP id AA03532; Tue, 24 Oct 00 15:40:40 EDT Received: from melbourne-city-street.MIT.EDU (MELBOURNE-CITY-STREET.MIT.EDU [18.69.0.45]) by grand-central-station.MIT.EDU (8.9.2/8.9.2) with ESMTP id PAA00991 for ; Tue, 24 Oct 2000 15:40:55 -0400 (EDT) Received: from contents-vnder-pressvre.mit.edu (CONTENTS-VNDER-PRESSVRE.MIT.EDU [18.184.0.40]) by melbourne-city-street.MIT.EDU (8.9.3/8.9.2) with ESMTP id PAA05062 for ; Tue, 24 Oct 2000 15:40:54 -0400 (EDT) Received: (from daveg@localhost) by contents-vnder-pressvre.mit.edu (8.9.3) id PAA07983; Tue, 24 Oct 2000 15:40:46 -0400 (EDT) To: freebsd-hackers@freebsd.org Subject: PCI Device Remapping From: David D Golombek Date: 24 Oct 2000 15:40:46 -0400 Message-Id: Lines: 28 User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.3 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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