Problem with function mmap()

Hi,


I had PCI card(audio) in system x86 and in QNX 6.3.0 SP0, it was all OK. Now
i work in QNX6.3.2, and function mmap no correct mapped physical memory in
PCI card,
but only in factory(12 PCI slots) version PC(x86), in comercial(4 PCI slots)
version of PC si all correct. Function mmap return some address but,
it no point to physical memory in PCI card.
example of calls function:


if(pci_read_config32(devinfo[numcards].busnum,
devinfo[numcards].devfuncnum,

offsetof(struct _pci_config_regs, Base_Address_Regs[1]),

1, (char *)&devinfo[numcards].address) != PCI_SUCCESS)

reurn(-AZKCARD_ERR_PCICFG32);

if(PCI_IS_IO(devinfo[numcards].address))

return(-AZKCARD_ERR_PCIISIO);

/*devinfo[numcards].regisp = mmap_device_memory(NULL, CRD_CTRLREG_LEN,

PROT_READ | PROT_WRITE | PROT_NOCACHE,

0, PCI_MEM_ADDR(devinfo[numcards].address)); //PCI_MEM_ADDR
*/
devinfo[numcards].regisp = mmap(NULL, CRD_CTRLREG_LEN, PROT_READ |
PROT_WRITE | PROT_NOCACHE, MAP_PHYS | MAP_SHARED, NOFD,
PCI_MEM_ADDR(devinfo[numcards].address));

if(devinfo[numcards].regisp == MAP_FAILED)

return(-AZKCARD_ERR_MMAPDEV);



address read by function pci_read_config32 is correct(i compare with address
in list of command pci -v in system) and mapping is also ok, but not maped
physical register in PCI card(mapped something else). If i use for map
function mmap_device_memory() result is same wrong.
I donĀ“t know what is wrong.

Thank you for your help
Josef Madlo
Retia,a.s.