lkml.org 
[lkml]   [2002]   [Jul]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] Make tlb_remove_tlb_entry take ptep

Hi,

It seems only ppc32 and ppc64 use tlb_remove_tlb_entry. On ppc64 we need
a pointer to the pte so we can change some of the pte bits.

Paul has some nice patches to clean up tlb teardown, but the following
patch should allow ppc32 and ppc64 to work in the meantime.

Anton

===== include/asm-arm/tlb.h 1.2 vs edited =====
--- 1.2/include/asm-arm/tlb.h Sat May 25 16:51:16 2002
+++ edited/include/asm-arm/tlb.h Wed Jul 17 19:31:24 2002
@@ -11,7 +11,7 @@
#define tlb_end_vma(tlb,vma) \
flush_tlb_range(vma, vma->vm_start, vma->vm_end)

-#define tlb_remove_tlb_entry(tlb, pte, address) do { } while (0)
+#define tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0)

#include <asm-generic/tlb.h>

===== include/asm-i386/tlb.h 1.4 vs edited =====
--- 1.4/include/asm-i386/tlb.h Fri May 24 11:22:21 2002
+++ edited/include/asm-i386/tlb.h Wed Jul 17 19:31:17 2002
@@ -7,7 +7,7 @@
*/
#define tlb_start_vma(tlb, vma) do { } while (0)
#define tlb_end_vma(tlb, vma) do { } while (0)
-#define tlb_remove_tlb_entry(tlb, pte, address) do { } while (0)
+#define tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0)

/*
* .. because we flush the whole mm when it
===== include/asm-ia64/tlb.h 1.2 vs edited =====
--- 1.2/include/asm-ia64/tlb.h Fri May 24 23:45:09 2002
+++ edited/include/asm-ia64/tlb.h Wed Jul 17 19:31:13 2002
@@ -1,7 +1,7 @@
/* XXX fix me! */
#define tlb_start_vma(tlb, vma) do { } while (0)
#define tlb_end_vma(tlb, vma) do { } while (0)
-#define tlb_remove_tlb_entry(tlb, pte, address) do { } while (0)
+#define tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0)
#define tlb_flush(tlb) flush_tlb_mm((tlb)->mm)

#include <asm-generic/tlb.h>
===== include/asm-m68k/tlb.h 1.2 vs edited =====
--- 1.2/include/asm-m68k/tlb.h Wed May 22 13:19:23 2002
+++ edited/include/asm-m68k/tlb.h Wed Jul 17 19:31:09 2002
@@ -7,7 +7,7 @@
*/
#define tlb_start_vma(tlb, vma) do { } while (0)
#define tlb_end_vma(tlb, vma) do { } while (0)
-#define tlb_remove_tlb_entry(tlb, pte, address) do { } while (0)
+#define tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0)

/*
* .. because we flush the whole mm when it
===== include/asm-s390/tlb.h 1.2 vs edited =====
--- 1.2/include/asm-s390/tlb.h Thu Jun 6 14:31:19 2002
+++ edited/include/asm-s390/tlb.h Wed Jul 17 19:31:05 2002
@@ -7,7 +7,7 @@
*/
#define tlb_start_vma(tlb, vma) do { } while (0)
#define tlb_end_vma(tlb, vma) do { } while (0)
-#define tlb_remove_tlb_entry(tlb, pte, address) do { } while (0)
+#define tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0)

/*
* .. because we flush the whole mm when it
===== include/asm-s390x/tlb.h 1.2 vs edited =====
--- 1.2/include/asm-s390x/tlb.h Thu Jun 6 14:31:19 2002
+++ edited/include/asm-s390x/tlb.h Wed Jul 17 19:31:01 2002
@@ -7,7 +7,7 @@
*/
#define tlb_start_vma(tlb, vma) do { } while (0)
#define tlb_end_vma(tlb, vma) do { } while (0)
-#define tlb_remove_tlb_entry(tlb, pte, address) do { } while (0)
+#define tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0)

/*
* .. because we flush the whole mm when it
===== include/asm-sparc64/tlb.h 1.4 vs edited =====
--- 1.4/include/asm-sparc64/tlb.h Fri Jun 7 00:53:12 2002
+++ edited/include/asm-sparc64/tlb.h Wed Jul 17 19:30:17 2002
@@ -16,7 +16,7 @@
flush_tlb_range(vma, vma->vm_start, vma->vm_end); \
} while (0)

-#define tlb_remove_tlb_entry(tlb, pte, address) \
+#define tlb_remove_tlb_entry(tlb, ptep, address) \
do { } while (0)

#include <asm-generic/tlb.h>
===== include/asm-x86_64/tlb.h 1.2 vs edited =====
--- 1.2/include/asm-x86_64/tlb.h Thu May 30 13:12:17 2002
+++ edited/include/asm-x86_64/tlb.h Wed Jul 17 19:30:04 2002
@@ -4,7 +4,7 @@

#define tlb_start_vma(tlb, vma) do { } while (0)
#define tlb_end_vma(tlb, vma) do { } while (0)
-#define tlb_remove_tlb_entry(tlb, pte, address) do { } while (0)
+#define tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0)

#define tlb_flush(tlb) flush_tlb_mm((tlb)->mm)

===== mm/memory.c 1.74 vs edited =====
--- 1.74/mm/memory.c Thu Jul 4 09:17:35 2002
+++ edited/mm/memory.c Wed Jul 17 19:27:58 2002
@@ -335,7 +335,7 @@
unsigned long pfn = pte_pfn(pte);

pte = ptep_get_and_clear(ptep);
- tlb_remove_tlb_entry(tlb, pte, address+offset);
+ tlb_remove_tlb_entry(tlb, ptep, address+offset);
if (pfn_valid(pfn)) {
struct page *page = pfn_to_page(pfn);
if (!PageReserved(page)) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 13:27    [W:0.034 / U:1.428 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site