Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - show_pci source code: (8 Items)
   
show_pci source code  
Dear QNX4 gurus!

Where can I find the source code for the show_pci delivered in the patchG?
In the pci_utils on the QNX ftp site there is an older version that patchG.
In the patch G version there a fixes but I still should fix some further issues.
USing the verbose mode it is actually crashing and I found already the code where it is crashing in the very old version
 of the ftp server.
Re: show_pci source code  
Hi Klaus,

Please, try latest version of the show_pci. I've just updated the Software 
Updates 2010:

http://community.qnx.com/sf/wiki/do/viewPage/projects.qnx4/wiki/SoftwareUpdates2010

-- 
Respectfully,
Oleg

> Dear QNX4 gurus!
> 
> Where can I find the source code for the show_pci delivered in the
> patchG? In the pci_utils on the QNX ftp site there is an older version
> that patchG. In the patch G version there a fixes but I still should
> fix some further issues. USing the verbose mode it is actually
> crashing and I found already the code where it is crashing in the very
> old version of the ftp server.
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post84124
Re: show_pci source code  
Hi Oleg,

thanks for the new show_pci.
But I still have the same problem and it is definitely not based in the QNX4!
SIEMENS has change their BIOS version and I  have now a problem with the second call of _CA_PCI_Get_Routing_Options() in
 the show_pci.c function show_irq.
The show_pci makes a SIGSEG with Memory Fault.
I try to get the info from the vendor what they have changed (and whether they can roll this small issue back).
Re: show_pci source code  
Hi Oleg,

therer is another show_pci problem with this new BIOS.
Not only thi Interrupt Routing database is missing, also not the whole PCI address/IO info I receive.
If  you can give me the source I will give you the feedback where it is crashing.
I assume  in function showdevice_verbose at call dspclass(creg.Class_Code).
The QNX4 show_pci example on the ftp server had problems there.


I see:

Vendor ID      = 1442h,
Device ID      = 2h,
Class Code     = 0c8000h Serial Bus (Other 128) ProgIF=0
Revision ID    = b7h
Bus number     = 16
Device number  = 13
Function num   = 0
Status Reg     = 200h
Command Reg    = 87h
Header type    = 0h Single-function
BIST           = 0h Build-in-self-tes
%1    8125 Memory fault         show_pci -v |

Re: show_pci source code  
Hi Oleg,

I found the reason for the memory fault.
There is a new class of PCI devices for Intel Advanced Management Tools IAMT.

Please extend the show_pci.c according to following:
1) A new string in the array "classes" called e.g. "IAMT":

char *classes[] = {
        "Pre-2.0", "Mass Storage", "Network", "Display", "Multimedia", "Memory", "Bridge", "IAMT"
};

2) a new entry in the class_table e.g. called "iamt":

char **class_table[] = {
        pre, mass, net, disp, multi, mem, bridge, iamt,
};

3)  new array of strings "iamt" with an initial first string e.g. "IAMT"

char *iamt[] = {
        "IAMT",
};

With these changes the "show_pci -v" is offering all the info of the PCI devices. Only the IRQ routing table is still 
not accessible. Is it possible to disable the offering of the IRQ routing table based on a flag?

Kind Regards,
Klaus
Re: show_pci source code  
Hi Klaus,

The latest show_pci source is available here:

http://community.qnx.com/sf/go/topc11538

-- 
Respectfully,
Oleg

> Hi Oleg,
> 
> therer is another show_pci problem with this new BIOS.
> Not only thi Interrupt Routing database is missing, also not the whole
> PCI address/IO info I receive. If  you can give me the source I will
> give you the feedback where it is crashing. I assume  in function
> showdevice_verbose at call dspclass(creg.Class_Code). The QNX4
> show_pci example on the ftp server had problems there.
> 
> 
> I see:
> 
> Vendor ID      = 1442h,
> Device ID      = 2h,
> Class Code     = 0c8000h Serial Bus (Other 128) ProgIF=0
> Revision ID    = b7h
> Bus number     = 16
> Device number  = 13
> Function num   = 0
> Status Reg     = 200h
> Command Reg    = 87h
> Header type    = 0h Single-function
> BIST           = 0h Build-in-self-tes
> %1    8125 Memory fault         show_pci -v |
> 
> 
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post84158
Re: show_pci source code  
Thanks Oleg,

do you have the needed inttypes.h and pci.h?

br,Klaus
Re: show_pci source code  
Dear Oleg,

I found the pci.h in the thread you proposed and finally were able to compile the show_pci. But there is a bug in the 
library!
You must use the Compilerflag -N18k because of the size of the data segment. The call FP_OFF will return an unsigned int
 but in pci.h there is only a unsigned short for that value in _pci_irq_routing. If you change the entry in pci.h to 
unsigned int, you will see in the debugger that now you will get the correct offset.
But the function _CA_PCI_Get_Routing_Options dont like it. The function crashes.
Only if you bring the offset under 0xFFFF you can use the _CA_PCI_Get_Routing_Options.

But now the _CA_PCI_Get_Routing_Options is crashing because of the large  _pci_irq_routing.BufferSize (I assume).  I 
have a BufferSize of 0x140 in the new iAMT PC. In my VMWare I only have 0x90. These value is independent of the amount 
of PCI devices. I setup 9 VMWare network adapters for the QNX4 VMWare but the _pci_irq_routing.BufferSize is always the 
same.

Thanks a lot for the support!!!

br, Klaus