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();