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