From: David Gibson <david@gibson.dropbear.id.au>
To: <linuxppc-dev@ozlabs.org>
Subject: [PATCH 1/10] Fix breakage caused by tlb flush batch changes
Date: Wed, 18 Apr 2007 16:36:26 +1000 (EST) [thread overview]
Message-ID: <20070418063626.164BEDDE3B@ozlabs.org> (raw)
In-Reply-To: <20070418063517.GB29312@localhost.localdomain>
BenH's commit a741e67969577163a4cfc78d7fd2753219087ef1 in powerpc.git,
although (AFAICT) only intended to affect ppc64, also has side-effects
which break 44x. I think 40x, 8xx and Freescale Book E are also
affected, though I haven't tested them.
The problem lies in unconditionally removing flush_tlb_pending() from
the versions of flush_tlb_mm(), flush_tlb_range() and
flush_tlb_kernel_range() used on ppc64 - which are also used the
embedded platforms mentioned above.
The patch below restores the necessary flushes and fixes the breakage
for 44x. They should also fix any breakage for the other platforms,
but again I haven't tested those.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
---
include/asm-powerpc/tlbflush.h | 9 +++++++++
1 file changed, 9 insertions(+)
Index: working-2.6/include/asm-powerpc/tlbflush.h
===================================================================
--- working-2.6.orig/include/asm-powerpc/tlbflush.h 2007-04-18 15:45:12.000000000 +1000
+++ working-2.6/include/asm-powerpc/tlbflush.h 2007-04-18 15:55:21.000000000 +1000
@@ -104,6 +104,9 @@ extern void update_mmu_cache(struct vm_a
static inline void flush_tlb_mm(struct mm_struct *mm)
{
+#ifndef CONFIG_PPC64
+ flush_tlb_pending();
+#endif
}
static inline void flush_tlb_page(struct vm_area_struct *vma,
@@ -125,11 +128,17 @@ static inline void flush_tlb_page_nohash
static inline void flush_tlb_range(struct vm_area_struct *vma,
unsigned long start, unsigned long end)
{
+#ifndef CONFIG_PPC64
+ flush_tlb_pending();
+#endif
}
static inline void flush_tlb_kernel_range(unsigned long start,
unsigned long end)
{
+#ifndef CONFIG_PPC64
+ flush_tlb_pending();
+#endif
}
#else /* 6xx, 7xx, 7xxx cpus */
next prev parent reply other threads:[~2007-04-18 6:36 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-18 6:35 [0/10] Latest Ebony (440GP) support series David Gibson
2007-04-18 6:36 ` [PATCH 9/10] Add device tree for Ebony David Gibson
2007-04-19 18:09 ` Jon Loeliger
2007-04-20 0:08 ` David Gibson
2007-04-18 6:36 ` [PATCH 2/10] Define FIXED_PORT flag for serial_core David Gibson
2007-04-18 6:36 ` [PATCH 4/10] Re-organize Kconfig code for 4xx in arch/powerpc David Gibson
2007-04-19 2:59 ` David Gibson
2007-04-18 6:36 ` [PATCH 8/10] Early serial debug support for PPC44x David Gibson
2007-04-18 6:36 ` [PATCH 5/10] Add arch/powerpc driver for UIC, PPC4xx interrupt controller David Gibson
2007-04-18 6:36 ` [PATCH 6/10] Port 44x MMU definitions to ARCH=powerpc David Gibson
2007-04-18 6:36 ` [PATCH 10/10] zImage wrapper for Ebony David Gibson
2007-04-18 16:14 ` Scott Wood
2007-04-19 1:13 ` David Gibson
2007-04-19 1:42 ` Paul Mackerras
2007-04-19 20:03 ` Mark A. Greer
2007-04-18 6:36 ` [PATCH 7/10] Support for Ebony in arch/powerpc David Gibson
2007-04-18 6:36 ` [PATCH 3/10] Use resource_size_t for serial port IO addresses David Gibson
2007-04-18 6:36 ` David Gibson [this message]
2007-04-18 12:23 ` [0/10] Latest Ebony (440GP) support series Josh Boyer
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=20070418063626.164BEDDE3B@ozlabs.org \
--to=david@gibson.dropbear.id.au \
--cc=linuxppc-dev@ozlabs.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).