Hi, The normal usage of pci_resource_start() in Linux is to get the base address of the BAR for further reads/writes using inb/outb etc.
In Free BSD you can use the following : bus_alloc_resource(); rman_get_bustag(); rman_get_bushandle(); Usually the ret value of rman_get_bushandle() gives the starting address of the resource (of the BAR for which you called bus_alloc_resource) . Normally we use bus_space_* api's to read/write in FreeBSD. The use of bus_space_ functions need us to only specify the offset rather than the Linux like usage inb(base+offset) etc. Thanks Dip On 4/28/05, Cole <[EMAIL PROTECTED]> wrote: > Hey > > Im currently trying to port some linux pci driver to FreeBSD code. But im > running into a problem. Its using a function that I cant > seem to find the equivalent of for FreeBSD. > > Heres the function up to the point where im getting stuck. > > int FindDevice( void ) > { > > static struct pci_dev *pciptr; > int pci_info_index = 0; > U16 wDev; > unsigned int tmp_addr; > > /*-----------------------------------------*/ > #ifdef CONFIG_PCI // find the specified device and its configuration > if( pcibios_present() ){ > > pci_for_each_dev( pciptr ){ > if ((pciptr->vendor == VENDOR_ID) && \ > (pciptr->device == DEVICE_ID) && \ > (pciptr->subsystem_vendor == SUBSYSTEM_VID) && \ > (pciptr->subsystem_device == SUBSYSTEM_DID) && \ > (PCI_FUNC(pciptr->devfn) == 0) ) > { > DevExtension[pci_info_index].wBus= pciptr->bus->number; > DevExtension[pci_info_index].wDevFunc= pciptr->devfn; > DevExtension[pci_info_index].wCard = pci_info_index; > tmp_addr = pci_resource_start( pciptr, 4 ); > DevExtension[pci_info_index].func0_bar = (tmp_addr & > ~0x03); > > now the function im getting stuck at, is the "tmp_addr = > pci_resource_start(pciptr, 4). I was wondering if anyone knows of an > equivalent under FreeBSD. Or if there is a way to obtain that value with some > other method in FreeBSD. I am pretty much fine up > until that point. > > If anyone has any sample code or anything that I could read to proceed any > further, it would be greatly appreciated. > > Regards > /Cole > > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "[EMAIL PROTECTED]" > _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"