Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/sparc/include copy tlb_flush*() #defines here, but ...



details:   https://anonhg.NetBSD.org/src/rev/a00af623c2ed
branches:  trunk
changeset: 511359:a00af623c2ed
user:      mrg <mrg%NetBSD.org@localhost>
date:      Mon Jun 18 15:42:06 2001 +0000

description:
copy tlb_flush*() #defines here, but rename them tlb_flush*_real().  this
allows for tlb_flush*() to be defined differently if MULTIPROCESSOR.

diffstat:

 sys/arch/sparc/include/pmap.h |  20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diffs (34 lines):

diff -r 88d0a9d4b8d3 -r a00af623c2ed sys/arch/sparc/include/pmap.h
--- a/sys/arch/sparc/include/pmap.h     Mon Jun 18 14:04:39 2001 +0000
+++ b/sys/arch/sparc/include/pmap.h     Mon Jun 18 15:42:06 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pmap.h,v 1.56 2001/05/26 16:32:44 chs Exp $ */
+/*     $NetBSD: pmap.h,v 1.57 2001/06/18 15:42:06 mrg Exp $ */
 
 /*
  * Copyright (c) 1996
@@ -373,6 +373,24 @@
 #define                pmap_zero_page          (*cpuinfo.zero_page)
 #define                pmap_copy_page          (*cpuinfo.copy_page)
 
+#if defined(SUN4M)
+/*
+ * Macros which implement SRMMU TLB flushing/invalidation
+ */
+#define tlb_flush_page_real(va)    \
+       sta(((vaddr_t)(va) & ~0xfff) | ASI_SRMMUFP_L3, ASI_SRMMUFP, 0)
+
+#define tlb_flush_segment_real(vr, vs) \
+       sta(((vr)<<RGSHIFT) | ((vs)<<SGSHIFT) | ASI_SRMMUFP_L2, ASI_SRMMUFP,0)
+
+#define tlb_flush_region_real(vr) \
+       sta(((vr) << RGSHIFT) | ASI_SRMMUFP_L1, ASI_SRMMUFP, 0)
+
+#define tlb_flush_context_real()       sta(ASI_SRMMUFP_L0, ASI_SRMMUFP, 0)
+#define tlb_flush_all_real()           sta(ASI_SRMMUFP_LN, ASI_SRMMUFP, 0)
+
+#endif /* SUN4M */
+
 #endif /* _KERNEL */
 
 #endif /* _SPARC_PMAP_H_ */



Home | Main Index | Thread Index | Old Index