From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: edk2-devel@lists.01.org, leif.lindholm@linaro.org
Cc: lersek@redhat.com, Ard Biesheuvel <ard.biesheuvel@linaro.org>
Subject: [PATCH v3 0/4] ArmPkg, ArmVirtpkg ARM: enable strict memory protection
Date: Mon, 6 Mar 2017 18:32:11 +0100 [thread overview]
Message-ID: <1488821535-14795-1-git-send-email-ard.biesheuvel@linaro.org> (raw)
This series makes the prerequisite modifications to the ARM version of
the CpuDxe driver so we can enable PE/COFF image and NX memory protection
for ARM platforms, including ArmVirtPkg (#4)
Patch #1 refactors CpuSetMemoryAttributes() so it no longer splits section
mappings into page mappings unnecessarily.
Patch #2 removes some unnecessary cache/TLB maintenance, which becomes very
costly when CpuSetMemoryAttributes() is used in anger as is the case with
memory protections enabled.
Patch #3 wires up the EFI_MEMORY_RO/EFI_MEMORY_XP attributes, which were
ignored before.
Patch #4 enables the protection features for ArmVirtPkg platforms when
built for 32-bit ARM.
Changes since v2:
- minor code tweaks for style and correctness
- add R-b's from Leif to #1 and #2
Changes since v1:
- trigger full TLB flush when UpdatePageEntries() results in a section split
- Make cache maintenance of the remapped regions conditional on whether the
memory type changed. This prevents an inadvertent cache clean/invalidate by
VA of the entire RAM area when the NX attribute is applied to it.
- remove DEBUG_INFO attribute from SetMemoryAttributes DEBUG output
- add Laszlo's R-b to #4
Ard Biesheuvel (4):
ArmPkg/CpuDxe ARM: avoid splitting page table sections unnecessarily
ArmPkg/CpuDxe ARM: avoid unnecessary cache/TLB maintenance
ArmPkg/CpuDxe ARM: honour RO/XP attributes in SetMemoryAttributes()
ArmVirtPkg: enable PE/COFF image and memory protection for ARM
platforms
ArmPkg/Drivers/CpuDxe/Arm/Mmu.c | 277 +++++++++++---------
ArmVirtPkg/ArmVirt.dsc.inc | 9 +-
2 files changed, 161 insertions(+), 125 deletions(-)
--
2.7.4
next reply other threads:[~2017-03-06 17:32 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-06 17:32 Ard Biesheuvel [this message]
2017-03-06 17:32 ` [PATCH v3 1/4] ArmPkg/CpuDxe ARM: avoid splitting page table sections unnecessarily Ard Biesheuvel
2017-03-06 17:32 ` [PATCH v3 2/4] ArmPkg/CpuDxe ARM: avoid unnecessary cache/TLB maintenance Ard Biesheuvel
2017-03-06 17:32 ` [PATCH v3 3/4] ArmPkg/CpuDxe ARM: honour RO/XP attributes in SetMemoryAttributes() Ard Biesheuvel
2017-03-07 7:57 ` Leif Lindholm
2017-03-06 17:32 ` [PATCH v3 4/4] ArmVirtPkg: enable PE/COFF image and memory protection for ARM platforms Ard Biesheuvel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1488821535-14795-1-git-send-email-ard.biesheuvel@linaro.org \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox