From: Ahmad Fatoum <a.fatoum@pengutronix.de>
To: barebox@lists.infradead.org
Cc: Ahmad Fatoum <a.fatoum@pengutronix.de>,
lst@pengutronix.de, ore@pengutronix.de, rcz@pengutronix.de
Subject: [PATCH 0/5] ARM: mmu: misc armv7 cache/MMU fixes
Date: Tue, 23 Apr 2019 19:18:47 +0200 [thread overview]
Message-ID: <20190423171852.26126-1-a.fatoum@pengutronix.de> (raw)
This series fixes a number of potential caching issues with armv7.
They are:
- Cortex-A7 erratum #814220
Because of this erratum, the CPU may reorder cache maintenance operations
when it shouldn't.
- Wrong Cache invalidation order for Cortex-A7
On the Cortex-A7, the L2 cache needs to be invalidated before the L1 cache.
- Device memory isn't marked NX (Never eXecute)
NX prevents the CPU instruction prefetcher from inadvertently
accessing memory mapped devices
We haven't observed these actually causing problems with barebox,
so testing the changes is a bit tricky. I ran these changes on:
- Cortex-A5 (SAMA5D3, -marm, first stage in SRAM, second in SDRAM)
- Cortex-A7 (i.MX6UL, -marm, architected L2 cache, barebox in SDRAM)
- Cortex-A7 (i.MX6UL, -mthumb (2), architected L2 cache, barebox in SDRAM)
- Cortex-A9 (i.MX6Q, -mthumb (2), barebox in SDRAM)
and verified that:
- barebox can still start up
- barebox PBL can still invoke barebox proper
- barebox can still boot itself over the network
- barebox can still boot a kernel
- barebox can do all of the above with CONFIG_MMU_EARLY=y and =n
Ahmad Fatoum (5):
ARM: cache-armv7: add work-around for errata 814220
ARM: imx: work around i.MX6UL ERR008958 (ARM errata 814220)
ARM: cache-armv7: start invalidation from outer levels
ARM: mmu: remove doubly defined macro
ARM: mmu: mark uncached regions as eXecute never on v7
arch/arm/Kconfig | 12 ++++++++++++
arch/arm/cpu/cache-armv7.S | 15 ++++++++++++++-
arch/arm/cpu/mmu-early.c | 27 ++++++++++++++++++++++++---
arch/arm/cpu/mmu.c | 16 ++++++++++------
arch/arm/cpu/mmu.h | 8 +++++++-
arch/arm/mach-imx/Kconfig | 1 +
6 files changed, 68 insertions(+), 11 deletions(-)
--
2.20.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next reply other threads:[~2019-04-23 17:19 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-23 17:18 Ahmad Fatoum [this message]
2019-04-23 17:18 ` [PATCH 1/5] ARM: cache-armv7: add work-around for errata 814220 Ahmad Fatoum
2019-04-23 17:39 ` Sam Ravnborg
2019-04-25 10:38 ` Ahmad Fatoum
2019-04-25 10:02 ` Lucas Stach
2019-04-23 17:18 ` [PATCH 2/5] ARM: imx: work around i.MX6UL ERR008958 (ARM errata 814220) Ahmad Fatoum
2019-04-23 17:41 ` Sam Ravnborg
2019-04-25 10:39 ` Ahmad Fatoum
2019-04-23 17:18 ` [PATCH 3/5] ARM: cache-armv7: start invalidation from outer levels Ahmad Fatoum
2019-04-23 17:21 ` Ahmad Fatoum
2019-04-25 9:57 ` Lucas Stach
2019-04-23 17:18 ` [PATCH 4/5] ARM: mmu: remove doubly defined macro Ahmad Fatoum
2019-04-23 17:18 ` [PATCH 5/5] ARM: mmu: mark uncached regions as eXecute never on v7 Ahmad Fatoum
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-all 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=20190423171852.26126-1-a.fatoum@pengutronix.de \
--to=a.fatoum@pengutronix.de \
--cc=barebox@lists.infradead.org \
--cc=lst@pengutronix.de \
--cc=ore@pengutronix.de \
--cc=rcz@pengutronix.de \
/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