Module Name:    src
Committed By:   scole
Date:           Thu May  9 15:48:55 UTC 2019

Modified Files:
        src/sys/arch/ia64/conf: Makefile.ia64
        src/sys/arch/ia64/ia64: pmap.c

Log Message:
Revert -O0 for pmap, avoid RAW dependency compilation warning


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/ia64/conf/Makefile.ia64
cvs rdiff -u -r1.37 -r1.38 src/sys/arch/ia64/ia64/pmap.c

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/ia64/conf/Makefile.ia64
diff -u src/sys/arch/ia64/conf/Makefile.ia64:1.7 src/sys/arch/ia64/conf/Makefile.ia64:1.8
--- src/sys/arch/ia64/conf/Makefile.ia64:1.7	Sat May  4 02:06:59 2019
+++ src/sys/arch/ia64/conf/Makefile.ia64	Thu May  9 15:48:55 2019
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.ia64,v 1.7 2019/05/04 02:06:59 scole Exp $
+#	$NetBSD: Makefile.ia64,v 1.8 2019/05/09 15:48:55 scole Exp $
 
 # Makefile for NetBSD
 #
@@ -34,11 +34,6 @@ GENASSYM_CONF=	${IA64}/ia64/genassym.cf
 CPPFLAGS+=	-mconstant-gp -Dia64
 AFLAGS+=	-x assembler-with-cpp -Wa,-x 
 
-# XXX don't optimize pmap.c to get rid of assembler warnings like:
-#   Warning: Use of 'st8' may violate RAW dependency 'RR#' (data)
-# Happening with gcc7 and iirc several years worth of prior gcc versions
-COPTS.pmap.c+=	-O0
-
 ##
 ## (3) libkern and compat
 ##

Index: src/sys/arch/ia64/ia64/pmap.c
diff -u src/sys/arch/ia64/ia64/pmap.c:1.37 src/sys/arch/ia64/ia64/pmap.c:1.38
--- src/sys/arch/ia64/ia64/pmap.c:1.37	Fri May 25 06:34:02 2018
+++ src/sys/arch/ia64/ia64/pmap.c	Thu May  9 15:48:55 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.37 2018/05/25 06:34:02 jdolecek Exp $ */
+/* $NetBSD: pmap.c,v 1.38 2019/05/09 15:48:55 scole Exp $ */
 
 /*-
  * Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@@ -81,7 +81,7 @@
 
 #include <sys/cdefs.h>
 
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.37 2018/05/25 06:34:02 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.38 2019/05/09 15:48:55 scole Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -471,12 +471,13 @@ pmap_bootstrap(void)
 	if (base == 0)
 		panic("Unable to allocate VHPT");
 
-	if (bootverbose)
-		printf("VHPT: address=%#lx, size=%#lx\n", base, size);
-
 	pmap_vhpt_nbuckets = size / sizeof(struct ia64_lpte);
 	pmap_vhpt_bucket = (void *)uvm_pageboot_alloc(pmap_vhpt_nbuckets *
 						      sizeof(struct ia64_bucket));
+	if (bootverbose)
+		printf("VHPT: address=%#lx, size=%#lx, buckets=%ld, address=%lx\n",
+		       base, size, pmap_vhpt_nbuckets, (long unsigned int)&pmap_vhpt_bucket[0]);
+
 	for (i = 0; i < pmap_vhpt_nbuckets; i++) {
 		/* Stolen memory is zeroed. */
 		mutex_init(&pmap_vhpt_bucket[i].mutex, MUTEX_DEFAULT, IPL_VM);
@@ -2541,6 +2542,8 @@ pmap_switch(pmap_t pm)
 		}
 	}
 
+	/* XXX */
+	ia64_srlz_d();
 	curcpu()->ci_pmap = pm;
 	ia64_srlz_d();
 

Reply via email to