[PATCH 2.6.14] mm: 8xx MM fix for

Pantelis Antoniou pantelis.antoniou at gmail.com
Mon Oct 31 07:03:24 EST 2005


Latest MMU changes caused 8xx to stop working. Flushing tlb of the faulting
address fixes the problem.

---
commit 978e2f36b1ae53e37ba27b3ab8f1c5ddbb8c8a10
tree 7dd0e403c240162b1925db0834d694f4b4a0e95e
parent ca02ea5aebcda886d1552c6af73ca96c02bf9fed
author Pantelis Antoniou <panto at pantathon> Sun, 30 Oct 2005 21:53:48 +0200
committer Pantelis Antoniou <panto at pantathon> Sun, 30 Oct 2005 21:53:48 +0200

 arch/ppc/mm/fault.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/arch/ppc/mm/fault.c b/arch/ppc/mm/fault.c
--- a/arch/ppc/mm/fault.c
+++ b/arch/ppc/mm/fault.c
@@ -240,6 +240,19 @@ good_area:
 			goto bad_area;
 		if (!(vma->vm_flags & (VM_READ | VM_EXEC)))
 			goto bad_area;
+
+#ifdef CONFIG_8xx
+		{
+		/* 8xx is retarded; news at 11 */
+		pte_t *ptep = NULL;
+
+		if (get_pteptr(mm, address, &ptep) && pte_present(*ptep))
+			_tlbie(address);
+
+		if (ptep != NULL)
+			pte_unmap(ptep);
+		}
+#endif
 	}
 
 	/*



More information about the Linuxppc-embedded mailing list