Hi, Experts.

We found a problem with the UEFI shell command "pci".

[Problem]

 When issuing the command "pci XX XX XX -i" while using PCI Express Cards,
 the value displayed under "Pci Express device capability structure:" may be 
wrong.

[Cause]

 UEFI shell command "pci" : pci.c
 In the PciExplainPciExpress() function, the Read Count for IoDev->Pci.Read()
 is fixed to (PciExpressCap) / sizeof (UINT32) = 9

 Example: For the following PCI Configuration Space,

  PCI Segment 00 Bus 60 Device 00 Func 00 [EFI 0060000000]
  00000000: 86 80 5E 10 07 01 10 00-06 00 00 02 10 00 80 00  *..^.............*
  00000010: 00 00 06 AC 00 00 04 AC-21 80 00 00 00 00 00 00  *........!.......*
  00000020: 00 00 00 00 00 00 00 00-00 00 00 00 86 80 5E 12  *..............^.*
  00000030: 00 00 FE FF C8 00 00 00-00 00 00 00 0A 01 00 00  *................*
  00000040: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
  00000050: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
  00000060: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
  00000070: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
  00000080: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
  00000090: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
  000000A0: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
  000000B0: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
  000000C0: 00 00 00 00 00 00 00 00-01 D0 22 C8 00 20 00 21  *..........".. .!*
  000000D0: 05 E0 80 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
  000000E0: 10 00 01 00 C1 0C 00 00-27 28 1C 00 41 64 03 00  *........'(..Ad..*
  000000F0: 40 00 41 10 00 00 00 00-00 00 00 00 00 00 00 00  *@.A.............*

 For offset exceeding E0h in the Capability list, although the Read Count for
 IoDev->Pci.Read() should be 8 or less, it is fixed to 9, so the 
IoDev->Pci.Read()
 generates an error on parameter check.

 Although the read is not actually done, the processing still continues,
 ending in the value displayed being wrong.


Could you confirm that?

Thanks in Advance,
Best Regards,
Morito Hironori
--------------------------------------------------------------------------------------

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to