]> git.proxmox.com Git - mirror_edk2.git/commit
ArmPkg/Mmu: set required XN attributes for device mappings
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 18 Nov 2015 11:51:06 +0000 (11:51 +0000)
committerabiesheuvel <abiesheuvel@Edk2>
Wed, 18 Nov 2015 11:51:06 +0000 (11:51 +0000)
commit6bc35cbaca790fc32904cbb4f1bfc30381910ed0
tree130a0662a08c28bac7aa63becf028a0d3aeada02
parent19bb46c411279dcd30d540c56e5993c5f771c319
ArmPkg/Mmu: set required XN attributes for device mappings

To prevent speculative intruction fetches from MMIO ranges that may
have side effects on reads, the architecture requires device mappings
to be created with the XN or UXN/PXN bits set (for the ARM/EL2 and
EL1&0 translation regimes, respectively.)

Note that, in the ARM case, this involves moving all accesses to a
client domain since permission attributes like XN are ignored from
a manager domain. The use of a client domain is actually mandated
explicitly by the UEFI spec.

Reported-by: Heyi Guo <heyi.guo@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18891 6f19259b-4bc3-4df7-8a09-765794883524
ArmPkg/Include/Chipset/ArmV7Mmu.h
ArmPkg/Library/ArmLib/AArch64/AArch64Mmu.c
ArmPkg/Library/ArmLib/ArmV7/ArmV7Mmu.c