lkml.org 
[lkml]   [2000]   [Feb]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH] flush_icache_page for sparc64
   Date:   Mon, 14 Feb 2000 18:47:57 -0500
From: "Pat O'Rourke" <orourke@missioncriticallinux.com>

It appears ia64 added a flush_icache_page() macro with a different
signature than the one which already existed for sparc64. Here is
a proposed patch to correct it.

It's wrong, we flush the icache for different reasons than
the interface which was added. The following is what I
sent to Linus and is the correct fix:

--- vanilla/linux/include/asm-sparc64/pgtable.h Sun Feb 13 10:31:07 2000
+++ linux/include/asm-sparc64/pgtable.h Mon Feb 14 04:15:54 2000
@@ -1,4 +1,4 @@
-/* $Id: pgtable.h,v 1.118 1999/12/21 21:24:35 davem Exp $
+/* $Id: pgtable.h,v 1.119 2000/02/14 02:53:44 davem Exp $
* pgtable.h: SpitFire page table operations.
*
* Copyright 1996,1997 David S. Miller (davem@caip.rutgers.edu)
@@ -280,16 +280,18 @@
* table.
* 4) Splat.
*/
-extern void flush_icache_page(unsigned long phys_page);
+extern void __flush_icache_page(unsigned long phys_page);
#define update_mmu_cache(__vma, __address, _pte) \
do { \
unsigned short __flags = ((__vma)->vm_flags); \
if ((__flags & VM_EXEC) != 0 && \
((pte_val(_pte) & (_PAGE_PRESENT | _PAGE_WRITE | _PAGE_MODIFIED)) == \
(_PAGE_PRESENT | _PAGE_WRITE | _PAGE_MODIFIED))) { \
- flush_icache_page(pte_pagenr(_pte) << PAGE_SHIFT); \
+ __flush_icache_page(pte_pagenr(_pte) << PAGE_SHIFT); \
} \
} while(0)
+
+#define flush_icache_page(vma, pg) do { } while(0)

/* Make a non-present pseudo-TTE. */
extern inline pte_t mk_pte_io(unsigned long page, pgprot_t prot, int space)
--- vanilla/linux/arch/sparc64/mm/ultra.S Mon Dec 20 22:05:52 1999
+++ linux/arch/sparc64/mm/ultra.S Sun Feb 13 18:52:04 2000
@@ -1,4 +1,4 @@
-/* $Id: ultra.S,v 1.36 1999/12/15 15:45:18 davem Exp $
+/* $Id: ultra.S,v 1.37 2000/02/14 02:52:04 davem Exp $
* ultra.S: Don't expand these all over the place...
*
* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
@@ -132,8 +132,8 @@
wrpr %g1, 0x0, %pstate

.align 32
- .globl flush_icache_page
-flush_icache_page: /* %o0 = phys_page */
+ .globl __flush_icache_page
+__flush_icache_page: /* %o0 = phys_page */
sethi %hi(1 << 13), %o2 ! IC_set bit
mov 1, %g1
srlx %o0, 5, %o0
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:56    [W:0.037 / U:0.980 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site