summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64/include/pte.h
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2008-04-20 09:18:53 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2008-04-20 09:18:53 +0000
commit9d34b97ef96432245256e35ad0567b7c67cacfba (patch)
treeaaeebe9aa77d1fad7c486cce5ddd2fc40ab12a5e /sys/arch/sparc64/include/pte.h
parent8c4b8a2c650d53e62db834d2550357e91a8c51d0 (diff)
Implement locking of sun4u TSB entries for MULTIPROCESSOR kernels.
Make sun4v code use the new TSB_TAG_LOCKED define.
Diffstat (limited to 'sys/arch/sparc64/include/pte.h')
-rw-r--r--sys/arch/sparc64/include/pte.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/arch/sparc64/include/pte.h b/sys/arch/sparc64/include/pte.h
index d12e61bff59..9d453fafd54 100644
--- a/sys/arch/sparc64/include/pte.h
+++ b/sys/arch/sparc64/include/pte.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pte.h,v 1.10 2008/03/30 12:30:02 kettenis Exp $ */
+/* $OpenBSD: pte.h,v 1.11 2008/04/20 09:18:52 kettenis Exp $ */
/* $NetBSD: pte.h,v 1.7 2001/07/31 06:55:46 eeh Exp $ */
/*
@@ -140,8 +140,10 @@ void smp_tlb_flush_ctx(int);
#define CTX_MASK ((1<<13)-1)
#define TSB_TAG_CTX_SHIFT 48
#define TSB_TAG_VA_SHIFT 22
-#define TSB_TAG_G 0x8000000000000000LL
+#define TSB_TAG_LOCKED 0x0000040000000000LL
+
+#define TSB_TAG_G 0x8000000000000000LL
#define TSB_TAG_CTX(t) ((((int64_t)(t))>>TSB_TAG_CTX_SHIFT)&CTX_MASK)
#define TSB_TAG_VA(t) ((((int64_t)(t))<<TSB_TAG_VA_SHIFT))
#define TSB_TAG(g,ctx,va) ((((u_int64_t)((g)!=0))<<63)|(((u_int64_t)(ctx)&CTX_MASK)<<TSB_TAG_CTX_SHIFT)|(((u_int64_t)va)>>TSB_TAG_VA_SHIFT))