Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Ard Biesheuvel a42e6d448d MdeModulePkg: implement generic PCI I/O driver for non-discoverable devices
This implements support for non-discoverable PCI compatible devices, i.e,
devices that are not on a PCI bus but that can be controlled by generic PCI
drivers in EDK2.

This is implemented as a UEFI driver, which means we take full advantage
of the UEFI driver model, and only instantiate those devices that are
necessary for booting.

Care is taken to deal with DMA addressing limitations: DMA mappings and
allocations are moved below 4 GB if the PCI driver has not informed us
that the device being driven is 64-bit DMA capable. DMA is implemented as
coherent, support for non-coherent DMA is implemented by a subsequent patch.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Tested-by: Marcin Wojtas <mw@semihalf.com>
2016-12-07 09:45:56 +00:00
AppPkg AppPkg: Update email and URL. 2016-10-26 09:34:34 -07:00
ArmPkg ArmPkg: fix compilation error in ArmDmaLib 2016-12-01 17:02:13 +00:00
ArmPlatformPkg ArmPlatformPkg: Fix VE RTSM mem map descriptor count 2016-11-25 14:03:32 +00:00
ArmVirtPkg ArmVirtPkg/QemuFwCfgLib: rebase lib instance to updated lib class header 2016-12-05 19:44:52 +01:00
BaseTools BaseTools/VolInfo: Fix printf issue using '%ls' in format string 2016-12-05 09:48:28 +08:00
BeagleBoardPkg Omap35xxPkg, BeagleBoardPkg: Use Pcd for INTERRUPT_BASE 2016-12-05 17:21:40 +00:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CorebootModulePkg CorebootPayloadPkg/CbSupportPei: Fix the memory map issue 2016-11-17 14:49:11 -08:00
CorebootPayloadPkg CorebootPayloadPkg: Allow PciLib instance selection 2016-11-17 10:21:52 -08:00
CryptoPkg CryptoPkg/BaseCryptLib: Make comments consistent with the function 2016-11-11 13:46:04 +08:00
DuetPkg DuetPkg: Remove use of IntelFrameworkModulePkg legacy libs 2016-12-02 15:59:19 +00:00
EdkCompatibilityPkg EdkCompatibilityPkg/PrintLite: Fix ErrorPrint() wrong NULL char check 2016-11-03 10:28:47 +08: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 EmbeddedPkg: Remove use of IntelFrameworkModulePkg legacy libs 2016-12-05 15:53:30 +00:00
EmulatorPkg EmulatorPkg: Remove use of IntelFrameworkModulePkg legacy libs 2016-12-02 15:59:19 +00:00
FatBinPkg FatBinPkg: Change to 2-clause BSD license 2016-04-22 00:55:21 -07:00
FatPkg FatPkg/EnhancedFatDxe: rebase to ARRAY_SIZE() 2016-10-27 11:10:54 +02:00
IntelFrameworkModulePkg IntelFrameworkModulePkg/LegacyBios: Fix legacy serial redirection bug 2016-11-10 10:19:54 +08:00
IntelFrameworkPkg IntelFrameworkPkg PeiHobLib: Check FV alignment when building FV HOB 2016-11-17 09:27:13 +08:00
IntelFsp2Pkg IntelFsp2Pkg: 41d739e breaks flat tree build 2016-12-05 14:17:23 +08:00
IntelFsp2WrapperPkg IntelFsp2WrapperPkg: Add a PCD to control if signaling PciEnumerationComplete. 2016-10-28 07:46:42 +08:00
IntelFspPkg IntelFspPkg: Fix typos in comments 2016-10-24 09:26:28 +08:00
IntelFspWrapperPkg IntelFspWrapperPkg: Fix typos in comments 2016-10-24 09:26:30 +08:00
IntelSiliconPkg IntelSiliconPkg: Add DxeSmbiosDataHobLib 2016-11-17 17:35:02 -08:00
MdeModulePkg MdeModulePkg: implement generic PCI I/O driver for non-discoverable devices 2016-12-07 09:45:56 +00:00
MdePkg MdePkg IndustryStandard: Add DDR3, DDR4 and LPDDR definition per SPD spec 2016-11-28 11:15:49 +08:00
NetworkPkg NetworkPkg/IpSecDxe: correct one comment and remove the unused buf 2016-12-06 18:37:25 +08:00
Nt32Pkg Nt32Pkg: Fix typos in comments and variables 2016-11-15 11:05:33 +08:00
Omap35xxPkg Omap35xxPkg, BeagleBoardPkg: Use Pcd for INTERRUPT_BASE 2016-12-05 17:21:40 +00:00
OptionRomPkg OptionRomPkg: Fix typos in comments 2016-11-15 11:05:34 +08:00
OvmfPkg OvmfPkg/build.sh: Use GCC49 toolchains with GCC 6.[0-2] 2016-12-06 18:00:56 +01:00
PcAtChipsetPkg PcAtChipsetPkg/PcRtc: Fix bad EOL 2016-12-06 17:07:47 +08:00
PerformancePkg PerformancePkg/Dp_App: rebase to ARRAY_SIZE() 2016-10-27 11:10:59 +02:00
QuarkPlatformPkg QuarkPlatformPkg/dsc: enable Smm paging protection. 2016-11-17 16:30:08 +08:00
QuarkSocPkg QuarkSocPkg: Remove use of IntelFrameworkModulePkg legacy libs 2016-12-02 15:59:19 +00:00
SecurityPkg SecurityPkg Tcg2ConfigDxe: Align Attempt TPM Device help with options 2016-11-28 16:21:25 +08:00
ShellBinPkg ShellBinPkg Arm/AArch64 Shell binary update 2016-08-02 12:25:13 +02:00
ShellPkg ShellPkg: Add error prompt message in Ifconfig6 command. 2016-12-06 18:37:50 +08:00
SignedCapsulePkg SignedCapsulePkg: GetImage() return EFI_UNSUPPORTED. 2016-11-30 14:39:01 +08:00
SourceLevelDebugPkg SourceLevelDebugPkg: Avoid to re-init IDT table again at SMI entry 2016-11-30 14:34:45 +08:00
StdLib StdLib/LibC ARM AARCH64: do not redefine compiler intrinsics 2016-08-09 10:10:12 +02:00
StdLibPrivateInternalFiles StdLib: Clarify and improve comments. 2016-01-06 00:31:42 +00:00
UefiCpuPkg UefiCpuPkg/PiSmmCpuDxeSmm: Remove MTRR field from PSD 2016-12-06 23:34:16 -08:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +00:00
Vlv2DeviceRefCodePkg Vlv2DeviceRefCodePkg/ValleyView2Soc: Remove the unused code 2016-08-03 11:02:19 +08:00
Vlv2TbltDevicePkg Vlv2TbltDevicePkg: Remove use of IntelFrameworkModulePkg legacy libs 2016-12-06 09:18:51 +00:00
.gitignore EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
BuildNotes2.txt BaseTools: Updated BuildNotes URLs 2016-03-25 09:46:44 +08:00
Edk2Setup.bat Edk2Setup.bat: Fix build errors from VS tools PREFIX ENV missing 2016-11-05 09:10:58 +08:00
Maintainers.txt Maintainers.txt: Change maintainer of VLV2 packages. 2016-10-27 21:08:23 +08:00
edksetup.bat edksetup.bat: make sure BASE_TOOLS_PATH be set correctly 2016-10-26 13:45:45 +08:00
edksetup.sh edksetup.sh, BaseTools/BuildEnv: add --reconfig support 2016-10-24 13:53:16 +01:00