FreeBSD: When mapping regions, use the region's base address, not 0.
authorEric Anholt <eric@anholt.net>
Thu, 1 Mar 2007 00:25:07 +0000 (16:25 -0800)
committerEric Anholt <eric@anholt.net>
Thu, 1 Mar 2007 00:25:20 +0000 (16:25 -0800)
src/freebsd_pci.c

index 4790afb..a7d5c05 100644 (file)
@@ -78,7 +78,8 @@ pci_device_freebsd_map( struct pci_device *dev, unsigned region,
 
     prot = write_enable ? (PROT_READ | PROT_WRITE) : PROT_READ;
     dev->regions[ region ].memory = mmap( NULL, dev->regions[ region ].size,
-                                         prot, MAP_SHARED, fd, 0 );
+                                         prot, MAP_SHARED, fd,
+                                         dev->regions[ region ].base_addr);
 
     if ( dev->regions[ region ].memory == MAP_FAILED ) {
        dev->regions[ region ].memory = NULL;