Query: Add GCD IO Space Map


Wasim Khan
 

Hi All,

The Initial GCD I/O Space Map printed from DxeMain is :

GCD:Initial GCD I/O Space Map
GCDIoType Range
========== =================================
NonExist 0000000000000000-00000000000FFFFF


I require some IO memory (for PciHostBridgeDxe) , i need NonExist IO chuck from 0x90_00010000 - 0x90_0001ffff , for which I tried BuildResourceDescriptorHob() from PEI Phase

BuildResourceDescriptorHob (
EFI_RESOURCE_IO,
ResourceAttributes,
0x9000010000,
0x10000
);

And gDS->AddIoSpace (EfiGcdIoTypeIo, 0x9000010000, 0x10000) from a DXE driver . But in both case GCD AddIoSpace fails with Status as Unsupported.

GCD:AddIoSpace(Base=0000009000010000,Length=0000000000010000)
GcdIoType = I/O
Status = Unsupported
GCDIoType Range
========== =================================
NonExist 0000000000000000-00000000000FFFFF



Can someone help that how can I add a NonExist GCDIoType memory ?




Also, why does the initial GCD I/O space map shows small range as compared with GCD Memory Space Map?

GCD:Initial GCD Memory Space Map
GCDMemType Range Capabilities Attributes
========== ================================= ================ ================
NonExist 0000000000000000-00000FFFFFFFFFFF 0000000000000000 0000000000000000

GCD:Initial GCD I/O Space Map
GCDIoType Range
========== =================================
NonExist 0000000000000000-00000000000FFFFF


Regards,
Wasim

Join discuss@edk2.groups.io to automatically receive all group messages.