The reasons for the changes made are:
authorcwu11 <cwu11@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 13 Oct 2006 04:12:23 +0000 (04:12 +0000)
committercwu11 <cwu11@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 13 Oct 2006 04:12:23 +0000 (04:12 +0000)
commitc51cec25606163ee3cc478f5d4598227558195c5
tree7c88cceece0bd9eeebd02e410b3f038c1fcd56da
parentdb0e690675ba50c2463c47e4811227e56c4858d9
The reasons for the changes made are:
1)PciCommand.h: Add some macro constants definitions that will be used by other changes.
2)PciDeviceSupport.c:
a)Fix the bug that programs Non-Bridge Devices' Interrupt Line Register to 0x00. Although this register is rarely used in modern OS (actually, only Dos still uses it), it is good practice to modify it so it will align the spec. Please refer to PCI 3.0 Spec for the chapter on Interrupt line register.
b) Change the way used to detect VGA device. The old method will fail.
3)PciEnumeratorSupport.c: Make changes so Pci Driver will preserve those bits in Command & Bridge Control Register that were set by Customer's Chipset initialization code. Pci Driver is supposed to only touch those bits that are generic. Problems will arise if we destroy some initializations already done.
4)PciIo.c: PollIo() is not conformant to EFI spec so fix it. Also, some fixes are introduced to better support VGA card. These modifications are supposed to work with fixes in PciDeviceSupport.c.
5) PciOptionromSupport.c:Add the fix to enhance the logic working with OptionRom. Some legacy cards do not report correct imagelength so we add double check.
And add EFI_MIN and EFI_MAX macro definition since they are not currently defined in global files.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1738 6f19259b-4bc3-4df7-8a09-765794883524
EdkModulePkg/Bus/Pci/PciBus/Dxe/PciCommand.h
EdkModulePkg/Bus/Pci/PciBus/Dxe/PciDeviceSupport.c
EdkModulePkg/Bus/Pci/PciBus/Dxe/PciEnumeratorSupport.c
EdkModulePkg/Bus/Pci/PciBus/Dxe/PciIo.c
EdkModulePkg/Bus/Pci/PciBus/Dxe/PciOptionRomSupport.c