audk/ArmPkg/Library
Peicong Li 829633e3a8 ArmPkg/ArmMmuLib: Add new attribute WRITE_BACK_NONSHAREABLE
Flash region needs to be set as cacheable (write back) to increase
performance, if PEI is still XIP on flash or DXE FV is decompressed
from flash FV. However some ARM platforms do not support to set flash
as inner shareable since flash is not normal DDR memory and it will
not respond to cache snoop request, which will causes system hang
after MMU is enabled.

So we need a new ARM memory region attribute WRITE_BACK_NONSHAREABLE
for flash region on these platforms specifically. This attribute will
set the region as write back but not inner shared.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Peicong Li <lipeicong@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-11-07 13:29:46 +00:00
..
ArmArchTimerLib ArmPkg/ArmArchTimerLib: correct typos 2016-04-01 17:19:24 +02:00
ArmCacheMaintenanceLib ArmPkg/ArmLib: don't invalidate entire I-cache on range operation 2016-05-12 13:53:08 +02:00
ArmDisassemblerLib ArmPkg/ArmDisassemblerLib: replace AsciiStrCat() with AsciiStrCatS() 2016-10-25 10:46:40 +02:00
ArmExceptionLib ArmPkg/ArmExceptionLib: use EL0 stack for synchronous exceptions 2017-03-27 13:54:26 +01:00
ArmGenericTimerPhyCounterLib ArmPkg/ArmLib: remove indirection layer from timer register accessors 2017-01-20 15:51:34 +00:00
ArmGenericTimerVirtCounterLib ArmPkg/ArmLib: remove indirection layer from timer register accessors 2017-01-20 15:51:34 +00:00
ArmGicArchLib ArmPkg: cache detected revision in ArmGicArchLib 2015-07-28 20:45:10 +00:00
ArmGicArchSecLib ArmPkg: copy ArmGicArchLib to ArmGicArchSecLib 2015-07-28 20:44:58 +00:00
ArmHvcLib ArmPkg: copy/paste fixes in ARM ArmHvcLib/ArmSmcLib 2017-04-13 10:58:28 +01:00
ArmLib ArmPkg: ARM v8.2 updates for detecting FP 2017-09-15 16:56:08 +01:00
ArmMmuLib ArmPkg/ArmMmuLib: Add new attribute WRITE_BACK_NONSHAREABLE 2017-11-07 13:29:46 +00:00
ArmPsciResetSystemLib Renamed ArmPlatformPkg/ArmVirtualizationPkg into ArmVirtPkg 2015-05-29 13:50:43 +00:00
ArmSmcLib ArmPkg: copy/paste fixes in ARM ArmHvcLib/ArmSmcLib 2017-04-13 10:58:28 +01:00
ArmSmcLibNull ArmPkg/ArmSmcLibNull: move to generic C implementation 2016-08-11 12:29:31 +02:00
ArmSmcPsciResetSystemLib ArmPkg: implement ResetSystemLib using PSCI 0.2 calls 2017-07-03 16:53:33 +01:00
ArmSoftFloatLib ArmPkg/ArmSoftFloatLib: disable LTO build for GCC 2016-08-05 16:32:35 +02:00
ArmSvcLib ArmPkg/ArmSvcLib: Add ArmSvcLib implementation. 2017-10-06 22:35:41 +01:00
BdsLib ArmPkg: Move IS_DEVICE_PATH_NODE for sharing 2017-08-01 15:57:47 +01:00
CompilerIntrinsicsLib ArmPkg: Fix modsi3.S compilation across toolchains. 2017-03-14 08:02:09 +00:00
DebugAgentSymbolsBaseLib ArmPkg: Fix typos in comments 2016-10-19 16:31:22 +01:00
DebugPeCoffExtraActionLib ArmPkg: Rectify file modes 2016-01-30 12:25:59 +00:00
DefaultExceptionHandlerLib ArmPkg/DefaultExceptionHandlerLib: walk call stack unconditionally 2017-03-22 15:48:01 +00:00
GccLto ArmPkg: add prebuilt glue binaries for GCC5 LTO support 2016-08-02 10:53:57 +02:00
PeiServicesTablePointerLib ArmPkg/PeiServicesTablePointerLib: add missing MigratePeiServicesTablePointer() 2015-11-25 20:06:41 +00:00
PlatformBootManagerLib ArmPkg/PlatformBootManagerLib: fix bug in ESRT invocation 2017-10-06 22:31:10 +01:00
RvdPeCoffExtraActionLib ArmPkg/Semihostlib: Rename semi-hosting open option 2014-10-27 10:37:20 +00:00
SemiHostingDebugLib ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
SemiHostingSerialPortLib ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
SemihostLib ArmPkg/SemihostLib: switch to ASM_FUNC() asm macro 2016-08-11 12:40:52 +02:00