Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Laszlo Ersek 807c26d306 ArmVirtualizationPkg/PciHostBridgeDxe: add room for PCI resource allocation
VirtFdtDxe parses the following address space properties from the DTB (and
saves them in PCDs) :

  ProcessPciHost: Config[0x3F000000+0x1000000)
                  Bus[0x0..0xF]
                  Io[0x0+0x10000)@0x3EFF0000
                  Mem[0x10000000+0x2EFF0000)@0x0

In order to allow PCI enumeration to allocate IO and MMIO resources from
the above ranges for devices, we must add the ranges to the Global
Coherency Domain.

There are two ways for that:
- building resource descriptor HOBs in the HOB producer phase (basically,
  PEI), and letting the DXE core process them,
- calling gDS->AddIoSpace() and gDS->AddMemorySpace() during DXE.

We opt for the second method for simplicity.

In the address space maps, the corresponding ranges change from
"nonexistent" to "IO" and "MMIO", from which the gDS->AllocateIoSpace()
and gDS->AllocateMemorySpace() services can later allocate PCI BARs.

   GCD:AddIoSpace(Base=0000000000000000,Length=0000000000010000)
     GcdIoType    = I/O
     Status = Success
   GCDIoType  Range
   ========== =================================
-> I/O        0000000000000000-000000000000FFFF

   GCD:AddMemorySpace(Base=0000000010000000,Length=000000002EFF0000)
     GcdMemoryType   = MMIO
     Capabilities    = 0000000000000001
     Status = Success
   GCDMemType Range                             Capabilities     Attributes
   ========== ================================= ================ ================
   NonExist   0000000000000000-0000000003FFFFFF 0000000000000000 0000000000000000
   MMIO       0000000004000000-0000000007FFFFFF C000000000000001 8000000000000001
   NonExist   0000000008000000-000000000900FFFF 0000000000000000 0000000000000000
   MMIO       0000000009010000-0000000009010FFF C000000000000001 8000000000000001
   NonExist   0000000009011000-000000000FFFFFFF 0000000000000000 0000000000000000
-> MMIO       0000000010000000-000000003EFEFFFF C000000000000001 0000000000000000
   NonExist   000000003EFF0000-000000003FFFFFFF 0000000000000000 0000000000000000
   SystemMem  0000000040000000-00000000BFFFFFFF 800000000000000F 0000000000000008*
   NonExist   00000000C0000000-0000FFFFFFFFFFFF 0000000000000000 0000000000000000

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Olivier Martin <Olivier.martin@arm.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16903 6f19259b-4bc3-4df7-8a09-765794883524
2015-02-23 16:03:37 +00:00
AppPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
ArmPkg ArmPkg/ArmGic: enable ARE bit before driving GICv3 in native mode 2015-02-16 10:27:02 +00:00
ArmPlatformPkg ArmVirtualizationPkg/PciHostBridgeDxe: add room for PCI resource allocation 2015-02-23 16:03:37 +00:00
BaseTools BaseTools/GenFw: Set the PE/COFF attribute BaseOfData with the address of the first '.data' section 2015-02-11 08:20:17 +00:00
BeagleBoardPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CryptoPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
DuetPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EdkCompatibilityPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EdkShellBinPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EdkShellPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EmbeddedPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EmulatorPkg EmulatorPkg: Update web page and wiki urls 2015-02-05 18:25:01 +00:00
FatBinPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
IntelFrameworkModulePkg Remove invalid value sync action when changing value. Else later save change action will fail. 2015-02-12 08:40:16 +00:00
IntelFrameworkPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
IntelFspPkg Fix build error. 2015-02-13 06:17:23 +00:00
IntelFspWrapperPkg Fix comments format error.Fsp1.1 update. 2015-02-12 15:13:37 +00:00
MdeModulePkg MdeModulePkg: Update SMBIOS revision to 3.0. 2015-02-15 05:01:59 +00:00
MdePkg MdePkg: Add new definitions for SMBIOS 3.0. 2015-02-15 05:01:27 +00:00
NetworkPkg NetworkPkg: Code refine to avoid NULL pointer dereferenced. 2015-02-13 01:00:47 +00:00
Nt32Pkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
Omap35xxPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
OptionRomPkg OptionRomPkg: FrameBufferBltLib: drop set but not used variable 2015-02-23 16:02:21 +00:00
OvmfPkg OvmfPkg/QemuVideoDxe: enable ARM builds 2015-02-23 16:02:29 +00:00
PcAtChipsetPkg PcAtChipsetPkg/PciHostBridgeDxe: drop PciAddress, PciData 2015-02-23 16:02:39 +00:00
PerformancePkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
SecurityPkg Add the missed local variable initialization to remove the possible warning. 2015-02-05 05:37:10 +00:00
ShellBinPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
ShellPkg ShellPkg/UefiShellLib: Fixed ARM compiler error 2015-02-23 11:13:58 +00:00
SourceLevelDebugPkg Use MaxPacketSize as the initial buffer size to read data. 2015-02-05 01:15:09 +00:00
StdLib */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
StdLibPrivateInternalFiles */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
UefiCpuPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +00:00
Vlv2DeviceRefCodePkg Add patch-able PCD to support binary modification of MRC module. 2015-02-13 02:13:43 +00:00
Vlv2TbltDevicePkg Upgrade BIOS version to V0.78. 2015-02-13 02:14:12 +00:00
.gitignore EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
BuildNotes2.txt Update to new SVN URL in readme.txt 2013-06-08 05:26:39 +00:00
Edk2Setup.bat Updated version, missed the last two commits and to add the SVN Revision property (last part of the version value). 2014-08-22 16:08:47 +00:00
Maintainers.txt Maintainers.txt: http://tianocore.github.io => http://www.tianocore.org 2015-02-05 18:24:33 +00:00
edksetup.bat Update edksetup.bat to support Microsoft Visual Studio 2013 when building the Nt32Pkg emulation platform (enabled using the --nt32 flag). 2014-10-30 17:09:25 +00:00
edksetup.sh edksetup.sh: Ensure that WORKSPACE points to the top of an edk2 checkout 2014-07-28 17:37:40 +00:00