[GIT PULL] arm64 patches for 3.15

From: Catalin Marinas
Date: Tue Apr 08 2014 - 13:38:20 EST


Hi Linus,

The following changes since commit 196adf2f3015eacac0567278ba538e3ffdd16d0e:

arm64: Remove pgprot_dmacoherent() (2014-03-24 10:35:35 +0000)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux tags/arm64-upstream

for you to fetch changes up to ebf81a938dade3b450eb11c57fa744cfac4b523f:

arm64: Fix DMA range invalidation for cache line unaligned buffers (2014-04-08 11:45:08 +0100)

A second pull request for this merging window, mainly with fixes and
docs clarification. As I haven't rebased my tree, you'll get a conflict
with latest mainline in arch/arm64/kernel/head.S. The fix-up is below.
Thanks.

diff --cc arch/arm64/kernel/head.S
index 1fe5d8d2bdfd,26109682d2fa..0fd565000772
--- a/arch/arm64/kernel/head.S
+++ b/arch/arm64/kernel/head.S
@@@ -461,12 -476,26 +476,23 @@@ __create_page_tables
sub x6, x6, #1 // inclusive range
create_block_map x0, x7, x3, x5, x6
1:
-#ifdef CONFIG_EARLY_PRINTK
/*
- * Create the pgd entry for the UART mapping. The full mapping is done
- * later based earlyprintk kernel parameter.
+ * Create the pgd entry for the fixed mappings.
*/
- ldr x5, =EARLYCON_IOBASE // UART virtual address
+ ldr x5, =FIXADDR_TOP // Fixed mapping virtual address
add x0, x26, #2 * PAGE_SIZE // section table address
create_pgd_entry x26, x0, x5, x6, x7
-#endif
+
+ /*
+ * Since the page tables have been populated with non-cacheable
+ * accesses (MMU disabled), invalidate the idmap and swapper page
+ * tables again to remove any speculatively loaded cache lines.
+ */
+ mov x0, x25
+ add x1, x26, #SWAPPER_DIR_SIZE
+ bl __inval_cache_range
+
+ mov lr, x27
ret
ENDPROC(__create_page_tables)
.ltorg

----------------------------------------------------------------
- Documentation clarification on CPU topology and booting requirements
- Additional cache flushing during boot (needed in the presence of
external caches or under virtualisation)
- DMA range invalidation fix for non cache line aligned buffers
- Build failure fix with !COMPAT
- Kconfig update for STRICT_DEVMEM

----------------------------------------------------------------
Catalin Marinas (4):
arm64: Update the TCR_EL1 translation granule definitions for 16K pages
arm64: Relax the kernel cache requirements for boot
Revert "arm64: virt: ensure visibility of __boot_cpu_mode"
arm64: Fix DMA range invalidation for cache line unaligned buffers

Laura Abbott (1):
arm64: Add missing Kconfig for CONFIG_STRICT_DEVMEM

Mark Brown (1):
ARM: topology: Make it clear that all CPUs need to be described

Mark Salter (1):
arm64: fix !CONFIG_COMPAT build failures

Documentation/arm64/booting.txt | 10 ++++++--
Documentation/devicetree/bindings/arm/topology.txt | 7 ++---
arch/arm64/Kconfig.debug | 14 ++++++++++
arch/arm64/include/asm/pgtable-hwdef.h | 6 ++++-
arch/arm64/include/asm/virt.h | 13 ----------
arch/arm64/kernel/head.S | 30 ++++++++++++++++++++--
arch/arm64/kernel/perf_event.c | 4 +++
arch/arm64/kernel/perf_regs.c | 2 ++
arch/arm64/mm/cache.S | 24 ++++++++++++++---
arch/arm64/mm/proc.S | 25 ++++++++++--------
10 files changed, 99 insertions(+), 36 deletions(-)

--
Catalin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/