Module Name:    src
Committed By:   rmind
Date:           Tue Mar  8 23:27:50 UTC 2011

Modified Files:
        src/sys/arch/x86/include [rmind-uvmplock]: pmap.h

Log Message:
struct pmap_tlb_mailbox: make tm_pending and tm_gen volatile.


To generate a diff of this commit:
cvs rdiff -u -r1.29.2.7 -r1.29.2.8 src/sys/arch/x86/include/pmap.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/x86/include/pmap.h
diff -u src/sys/arch/x86/include/pmap.h:1.29.2.7 src/sys/arch/x86/include/pmap.h:1.29.2.8
--- src/sys/arch/x86/include/pmap.h:1.29.2.7	Sat Mar  5 20:52:28 2011
+++ src/sys/arch/x86/include/pmap.h	Tue Mar  8 23:27:50 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmap.h,v 1.29.2.7 2011/03/05 20:52:28 rmind Exp $	*/
+/*	$NetBSD: pmap.h,v 1.29.2.8 2011/03/08 23:27:50 rmind Exp $	*/
 
 /*
  * Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -465,23 +465,25 @@
 
 struct pmap_tlb_packet {
 #ifdef _LP64
-	uintptr_t	tp_va[14];	/* whole struct: 128 bytes */
+	uintptr_t		tp_va[14];	/* whole struct: 128 bytes */
 #else
-	uintptr_t	tp_va[13];	/* whole struct: 64 bytes */
+	uintptr_t		tp_va[13];	/* whole struct: 64 bytes */
 #endif
-	uint16_t	tp_count;
-	uint16_t	tp_pte;
-	uint32_t	tp_cpumask;
-	uint32_t	tp_usermask;
+	uint16_t		tp_count;
+	uint16_t		tp_pte;
+	uint32_t		tp_cpumask;
+	uint32_t		tp_usermask;
 };
-#define	TP_MAXVA	6		/* no more than N seperate invlpg */
+
+/* No more than N seperate invlpg. */
+#define	TP_MAXVA		6
 
 struct pmap_tlb_mailbox {
-	uint32_t	tm_pending;
-	uint32_t	tm_gen;
-	uint32_t	tm_usergen;
-	uint32_t	tm_globalgen;
-	char		tm_pad[64 - sizeof(uintptr_t) * 4];
+	volatile uint32_t	tm_pending;
+	volatile uint32_t	tm_gen;
+	uint32_t		tm_usergen;
+	uint32_t		tm_globalgen;
+	char			tm_pad[64 - sizeof(uintptr_t) * 4];
 };
 
 #endif /* _KERNEL */

Reply via email to