From: catalin.marinas@arm.com (Catalin Marinas)
To: linux-arm-kernel@lists.infradead.org
Subject: [GIT PULL] arm64 patches for 3.15
Date: Tue, 8 Apr 2014 18:37:32 +0100 [thread overview]
Message-ID: <20140408173711.GA1588@arm.com> (raw)
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
WARNING: multiple messages have this Message-ID (diff)
From: Catalin Marinas <catalin.marinas@arm.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL] arm64 patches for 3.15
Date: Tue, 8 Apr 2014 18:37:32 +0100 [thread overview]
Message-ID: <20140408173711.GA1588@arm.com> (raw)
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
next reply other threads:[~2014-04-08 17:37 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-08 17:37 Catalin Marinas [this message]
2014-04-08 17:37 ` [GIT PULL] arm64 patches for 3.15 Catalin Marinas
-- strict thread matches above, loose matches on Subject: below --
2014-03-31 17:52 Catalin Marinas
2014-03-31 17:52 ` Catalin Marinas
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=20140408173711.GA1588@arm.com \
--to=catalin.marinas@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.