Enhanced the PCI Bus DXE module

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4844 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
zliu3
2008-03-13 08:44:09 +00:00
parent e92d66f280
commit 31bbf49fa7
3 changed files with 18 additions and 1 deletions

View File

@ -653,6 +653,13 @@ Returns:
Node->PciDev = PciDev;
Node->Length = Length;
Node->Alignment = Alignment;
if(((ResType == PciBarTypeIo16) || (ResType == PciBarTypeIo32)) && ( Alignment == 0x0FFF))
{
if((PciDev->Decodes & EFI_BRIDGE_IOEN1K_DECODE_SUPPORTED) == EFI_BRIDGE_IOEN1K_DECODE_SUPPORTED)
Node->Alignment = 0x3FF;
else
Node->Alignment = 0xFFF;
}
Node->Bar = Bar;
Node->ResType = ResType;
Node->Reserved = FALSE;
@ -1013,7 +1020,10 @@ Returns:
//
// if no PMem32 request, still keep PMem64. Otherwise degrade to PMem32
//
if (PMem32Node != NULL) {
if (PMem32Node != NULL && PMem32Node->Length != 0 && Bridge->Parent != NULL ) {
//
// Fixed the issue that there is no resource for 64-bit (above 4G)
//
MergeResourceTree (
PMem32Node,
PMem64Node,