Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/ia64 Revert -O0 for pmap, avoid RAW dependency comp...



details:   https://anonhg.NetBSD.org/src/rev/12eb3a0452dc
branches:  trunk
changeset: 451200:12eb3a0452dc
user:      scole <scole%NetBSD.org@localhost>
date:      Thu May 09 15:48:55 2019 +0000

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

diffstat:

 sys/arch/ia64/conf/Makefile.ia64 |   7 +------
 sys/arch/ia64/ia64/pmap.c        |  13 ++++++++-----
 2 files changed, 9 insertions(+), 11 deletions(-)

diffs (65 lines):

diff -r 8b8416f7a6d4 -r 12eb3a0452dc sys/arch/ia64/conf/Makefile.ia64
--- a/sys/arch/ia64/conf/Makefile.ia64  Thu May 09 14:50:38 2019 +0000
+++ b/sys/arch/ia64/conf/Makefile.ia64  Thu May 09 15:48:55 2019 +0000
@@ -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 @@
 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
 ##
diff -r 8b8416f7a6d4 -r 12eb3a0452dc sys/arch/ia64/ia64/pmap.c
--- a/sys/arch/ia64/ia64/pmap.c Thu May 09 14:50:38 2019 +0000
+++ b/sys/arch/ia64/ia64/pmap.c Thu May 09 15:48:55 2019 +0000
@@ -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 @@
        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 @@
                }
        }
 
+       /* XXX */
+       ia64_srlz_d();
        curcpu()->ci_pmap = pm;
        ia64_srlz_d();
 



Home | Main Index | Thread Index | Old Index