From owner-freebsd-hackers Mon Mar 10 12:47:30 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id MAA22177 for hackers-outgoing; Mon, 10 Mar 1997 12:47:30 -0800 (PST) Received: from plains.nodak.edu (tinguely@plains.NoDak.edu [134.129.111.64]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id MAA22172 for ; Mon, 10 Mar 1997 12:47:27 -0800 (PST) Received: (from tinguely@localhost) by plains.nodak.edu (8.8.4/8.8.3) id OAA23607; Mon, 10 Mar 1997 14:47:08 -0600 (CST) Date: Mon, 10 Mar 1997 14:47:08 -0600 (CST) From: Mark Tinguely Message-Id: <199703102047.OAA23607@plains.nodak.edu> To: bmcgover@cisco.com, hackers@freebsd.org Subject: Re: Question on mapping PCI memory... Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk what is the PCI memory register? most have them at 0x10, and you do: pci_map_mem(tag, PCI_MAP_REG_START, &(XXX->virt_baseaddr), &(XXX->phys_baseaddr)); (note: PCI_MAP_REG_START is defined in the PCI header files as 0x10). but if it also has an I/O address, then it would more like: #define MY_PCI_MAP_REG_START (PCI_MAP_REG_START+4) pci_map_mem(tag, MY_PCI_MAP_REG_START, &(XXX->virt_baseaddr), &(XXX->phys_baseaddr)); you need to look at the PCI register description to see where your card's memory register is set. once the above command is done, you use the "virt_baseaddr" for kernel references. --mark.