Pci memory for Tundra Universe II

Good day, dear friends.

I am happy user of the qnx 6.4.0 operation system. Please, help me out.

I think all people here know about VME-to-PCI bridge that name Tundra Universe II.

My question is:

When we need to setup tundra window we must put into tundra service register address ( for example , LSI0_BS) of the pci
memory that is aligned to 0x1000. In our project we define this address statically. For example,

#define VMEA16_WIN_BASE 0xA0000000

Of course this address must be free. Recently we ran into the situation when this address was allocated to other device
and our system didn’t work. Question is …

How Can I get such address dynamically ??? Does qnx have mechanisms to send me this address ??? How Can I ask qnx os
about next free address ( that have resolution of 4K ) in the pci memory???

Muchas gracias , amigos.

Hi,

I don’t think statically defined addresses are allowed in this context. You should use the PCI server functions like pci_read_config*() functions to get the address that has been assigned to your hardware by the PCI controller.

HTH,

  • Malte

Thanks for reply.

You don’t understand me correctly.

Such addresses as BASE_ADDR of tundra configuration registers I read via pci server functions because this addr is assigned by the BIOS. But such addresses (they are special registers) as addr of tundra’s image I have to configure myself. This addr is not assigned by BIOS…Therefore I have to ask qnx about free window in the pci memory aligned by 1K ( alignment is requirement of Tundra’s specification ).

Thanks in advance.