Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Ard Biesheuvel df8c2668d7 ArmPkg/ArmDmaLib: clean up abuse of device address
In preparation of adding support to ArmDmalib for DMA bus masters whose
view of memory is offset by a constant compared to the CPU's view, clean
up some abuse of the device address.

The device address is not defined in terms of the CPU's address space,
and so it should not be used in CopyMem () or cache maintenance operations
that require a valid mapping. This not only applies to the above use case,
but also to the DebugUncachedMemoryAllocationLib that unmaps the
primary, cached mapping of an allocation, and returns a host address
which is an uncached alias offset by a constant.

Since we should never access the device address from the CPU, there is
no need to record it in the MAPINFO struct. Instead, record the buffer
address in case of double buffering, since we do need to copy the contents
(in case of a bus master write) and free the buffer (in all cases) when
DmaUnmap() is called.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ryan Harkin <ryan.harkin@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2016-11-30 16:43:08 +00:00
AppPkg AppPkg: Update email and URL. 2016-10-26 09:34:34 -07:00
ArmPkg ArmPkg/ArmDmaLib: clean up abuse of device address 2016-11-30 16:43:08 +00:00
ArmPlatformPkg ArmPlatformPkg: Fix VE RTSM mem map descriptor count 2016-11-25 14:03:32 +00:00
ArmVirtPkg ArmVirtPkg DxeHobLib: Update func header description of BuildFv(2)Hob() 2016-11-17 09:27:14 +08:00
BaseTools BaseTools: fix the bug to add PaletteSize info into AutoGen 2016-11-30 12:26:51 +08:00
BeagleBoardPkg BeagleBoardPkg/BeagleBoardPkg.dsc: remove the LinuxLoader application 2016-11-25 12:56:13 +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: Fix typos in comments 2016-11-15 11:05:33 +08: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/AndroidFastboot: drop dependency on the LinuxLoader 2016-11-25 12:56:10 +00:00
EmulatorPkg EmulatorPkg: Fix typos in comments and variables 2016-10-19 13:32:20 -07: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: Add PACKAGES_PATH support 2016-11-30 14:37:45 +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/SdMmcPciHcDxe: Replace deprecated debug level macros 2016-11-30 13:49:00 +08:00
MdePkg MdePkg IndustryStandard: Add DDR3, DDR4 and LPDDR definition per SPD spec 2016-11-28 11:15:49 +08:00
NetworkPkg NetworkPkg: Check for the max DHCP packet length before use it. 2016-11-18 16:30:50 +08:00
Nt32Pkg Nt32Pkg: Fix typos in comments and variables 2016-11-15 11:05:33 +08:00
Omap35xxPkg EmbeddedPkg: remove unused PrePiHobListPointerLib 2016-10-28 13:51:35 +01:00
OptionRomPkg OptionRomPkg: Fix typos in comments 2016-11-15 11:05:34 +08:00
OvmfPkg OvmfPkg/PlatformPei: take VCPU count from QEMU and configure MpInitLib 2016-11-29 10:05:54 +01:00
PcAtChipsetPkg PcAtChipsetPkg/PcRtc: Handle NULL table entry in RSDT/XSDT 2016-11-18 10:38:39 +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/Library: Remove extra UefiBaseType.h includes 2016-10-27 21:32:46 -07: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: update ping6 to use timer service instead of timer arch protocol . 2016-11-23 14:01:32 +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/MicrocodeUpdate: Fix GetImage API 2016-11-30 20:13:58 +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: Fix IA32 boot timeouts 2016-11-29 08:17:50 -08: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