CVS commit: src/distrib/sets/lists/debug
Module Name:src Committed By: martin Date: Thu Sep 10 04:56:00 UTC 2020 Modified Files: src/distrib/sets/lists/debug: module.md.evbarm Log Message: Add iavf To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/distrib/sets/lists/debug/module.md.evbarm Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/sets/lists/debug/module.md.evbarm diff -u src/distrib/sets/lists/debug/module.md.evbarm:1.1 src/distrib/sets/lists/debug/module.md.evbarm:1.2 --- src/distrib/sets/lists/debug/module.md.evbarm:1.1 Fri May 1 22:21:11 2020 +++ src/distrib/sets/lists/debug/module.md.evbarm Thu Sep 10 04:56:00 2020 @@ -1,4 +1,6 @@ -# $NetBSD: module.md.evbarm,v 1.1 2020/05/01 22:21:11 christos Exp $ +# $NetBSD: module.md.evbarm,v 1.2 2020/09/10 04:56:00 martin Exp $ +./usr/libdata/debug/@MODULEDIR@/if_iavfmodules-base-kernel kmod,debug +./usr/libdata/debug/@MODULEDIR@/if_iavf/if_iavf.kmod.debug modules-base-kernel kmod,debug ./usr/libdata/debug/@MODULEDIR@/if_ixlmodules-base-kernel kmod,debug ./usr/libdata/debug/@MODULEDIR@/if_ixl/if_ixl.kmod.debug modules-base-kernel kmod,debug ./usr/libdata/debug/@MODULEDIR@/ubsecmodules-base-kernel kmod,debug
CVS commit: src/sys/arch/powerpc/ibm4xx
Module Name:src Committed By: rin Date: Thu Sep 10 04:36:24 UTC 2020 Modified Files: src/sys/arch/powerpc/ibm4xx: pmap.c Log Message: Tiny cosmetic fix for previous. No functional changes. To generate a diff of this commit: cvs rdiff -u -r1.94 -r1.95 src/sys/arch/powerpc/ibm4xx/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/powerpc/ibm4xx/pmap.c diff -u src/sys/arch/powerpc/ibm4xx/pmap.c:1.94 src/sys/arch/powerpc/ibm4xx/pmap.c:1.95 --- src/sys/arch/powerpc/ibm4xx/pmap.c:1.94 Thu Sep 10 04:31:55 2020 +++ src/sys/arch/powerpc/ibm4xx/pmap.c Thu Sep 10 04:36:24 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.94 2020/09/10 04:31:55 rin Exp $ */ +/* $NetBSD: pmap.c,v 1.95 2020/09/10 04:36:24 rin Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -67,7 +67,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.94 2020/09/10 04:31:55 rin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.95 2020/09/10 04:36:24 rin Exp $"); #ifdef _KERNEL_OPT #include "opt_ddb.h" @@ -1160,9 +1160,9 @@ pmap_deactivate(struct lwp *l) void pmap_procwr(struct proc *p, vaddr_t va, size_t len) { + struct pmap *pm = p->p_vmspace->vm_map.pmap; if (__predict_true(p == curproc)) { - struct pmap *pm = p->p_vmspace->vm_map.pmap; int msr, ctx, opid; /* @@ -1203,7 +1203,6 @@ pmap_procwr(struct proc *p, vaddr_t va, : "=" (msr), "=" (opid) : "r" (ctx), "r" (va), "r" (len), "r" (CACHELINESIZE)); } else { - struct pmap *pm = p->p_vmspace->vm_map.pmap; paddr_t pa; vaddr_t tva, eva; int tlen;
CVS commit: src/sys/arch/powerpc/ibm4xx
Module Name:src Committed By: rin Date: Thu Sep 10 04:31:55 UTC 2020 Modified Files: src/sys/arch/powerpc/ibm4xx: pmap.c Log Message: Real fix for pmap_procwr(), attempted in revs 1.85 and 1.87: http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/powerpc/ibm4xx/pmap.c#rev1.85 http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/powerpc/ibm4xx/pmap.c#rev1.87 ibm4xx has VIPT icache and operations in pmap_procwr() should be done with DMMU enabled (write back dcache into memory and invalidate icache). When p == curproc, this is trivial. However, p != curproc needs a special care; we cannot rely upon TLB miss handler in user context. Therefore, extract pa and operate against it. Note that va below VM_MIN_KERNEL_ADDRESS (== 2GB at the moment) is reserved for direct mapping. Tested by gdb with WIP software single stepping for ibm4xx. To generate a diff of this commit: cvs rdiff -u -r1.93 -r1.94 src/sys/arch/powerpc/ibm4xx/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/powerpc/ibm4xx/pmap.c diff -u src/sys/arch/powerpc/ibm4xx/pmap.c:1.93 src/sys/arch/powerpc/ibm4xx/pmap.c:1.94 --- src/sys/arch/powerpc/ibm4xx/pmap.c:1.93 Thu Sep 10 03:32:46 2020 +++ src/sys/arch/powerpc/ibm4xx/pmap.c Thu Sep 10 04:31:55 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.93 2020/09/10 03:32:46 rin Exp $ */ +/* $NetBSD: pmap.c,v 1.94 2020/09/10 04:31:55 rin Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -67,7 +67,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.93 2020/09/10 03:32:46 rin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.94 2020/09/10 04:31:55 rin Exp $"); #ifdef _KERNEL_OPT #include "opt_ddb.h" @@ -1160,42 +1160,72 @@ pmap_deactivate(struct lwp *l) void pmap_procwr(struct proc *p, vaddr_t va, size_t len) { - struct pmap *pm = p->p_vmspace->vm_map.pmap; - int msr, ctx, opid, step; - step = CACHELINESIZE; + if (__predict_true(p == curproc)) { + struct pmap *pm = p->p_vmspace->vm_map.pmap; + int msr, ctx, opid; - /* - * Need to turn off IMMU and switch to user context. - * (icbi uses DMMU). - */ - if (!(ctx = pm->pm_ctx)) { - /* No context -- assign it one */ - ctx_alloc(pm); - ctx = pm->pm_ctx; - } - __asm volatile( - "mfmsr %0;" - "li %1, %7;" - "andc %1,%0,%1;" - "mtmsr %1;" - "isync;" - "mfpid %1;" - "mtpid %2;" - "isync;" + /* + * Take it easy! TLB miss handler takes care of us. + */ + + /* + * Need to turn off IMMU and switch to user context. + * (icbi uses DMMU). + */ + + if (!(ctx = pm->pm_ctx)) { + /* No context -- assign it one */ + ctx_alloc(pm); + ctx = pm->pm_ctx; + } + + __asm volatile( + "mfmsr %0;" + "li %1,0x20;" /* Turn off IMMU */ + "andc %1,%0,%1;" + "ori %1,%1,0x10;" /* Turn on DMMU for sure */ + "mtmsr %1;" + "isync;" + "mfpid %1;" + "mtpid %2;" + "isync;" "1:" - "dcbst 0,%3;" - "icbi 0,%3;" - "add %3,%3,%5;" - "addc. %4,%4,%6;" - "bge 1b;" - "sync;" - "mtpid %1;" - "mtmsr %0;" - "isync;" - : "=" (msr), "=" (opid) - : "r" (ctx), "r" (va), "r" (len), "r" (step), "r" (-step), - "K" (PSL_IR | PSL_DR)); + "dcbst 0,%3;" + "icbi 0,%3;" + "add %3,%3,%5;" + "sub. %4,%4,%5;" + "bge 1b;" + "sync;" + "mtpid %1;" + "mtmsr %0;" + "isync;" + : "=" (msr), "=" (opid) + : "r" (ctx), "r" (va), "r" (len), "r" (CACHELINESIZE)); + } else { + struct pmap *pm = p->p_vmspace->vm_map.pmap; + paddr_t pa; + vaddr_t tva, eva; + int tlen; + + /* + * For p != curproc, we cannot rely upon TLB miss handler in + * user context. Therefore, extract pa and operate againt it. + * + * Note that va below VM_MIN_KERNEL_ADDRESS is reserved for + * direct mapping. + */ + + for (tva = va; len > 0; tva = eva, len -= tlen) { + eva = uimin(tva + len, trunc_page(tva + PAGE_SIZE)); + tlen = eva - tva; + if (!pmap_extract(pm, tva, )) { +/* XXX should be already unmapped */ +continue; + } + __syncicache((void *)pa, tlen); + } + } } static inline void
CVS commit: src/sys/arch/powerpc
Module Name:src Committed By: rin Date: Thu Sep 10 03:32:46 UTC 2020 Modified Files: src/sys/arch/powerpc/conf: files.powerpc src/sys/arch/powerpc/ibm4xx: pmap.c Log Message: Introduce PMAP_TLBDEBUG option for ibm4xx: clear only TLBHI[V] bit when TLB entry is invalidated, instead of clearing entire TLBHI register. To generate a diff of this commit: cvs rdiff -u -r1.94 -r1.95 src/sys/arch/powerpc/conf/files.powerpc cvs rdiff -u -r1.92 -r1.93 src/sys/arch/powerpc/ibm4xx/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/powerpc/conf/files.powerpc diff -u src/sys/arch/powerpc/conf/files.powerpc:1.94 src/sys/arch/powerpc/conf/files.powerpc:1.95 --- src/sys/arch/powerpc/conf/files.powerpc:1.94 Tue Jun 30 16:20:01 2020 +++ src/sys/arch/powerpc/conf/files.powerpc Thu Sep 10 03:32:46 2020 @@ -1,11 +1,11 @@ -# $NetBSD: files.powerpc,v 1.94 2020/06/30 16:20:01 maxv Exp $ +# $NetBSD: files.powerpc,v 1.95 2020/09/10 03:32:46 rin Exp $ defflag opt_altivec.h ALTIVEC K_ALTIVEC PPC_HAVE_SPE defflag opt_openpic.h OPENPIC_DISTRIBUTE defparam opt_ppcparam.h L2CR_CONFIG L3CR_CONFIG INTSTK CLOCKBASE VERBOSE_INITPPC defflag opt_ppcarch.h PPC_OEA PPC_OEA601 PPC_OEA64 PPC_OEA64_BRIDGE PPC_MPC8XX PPC_IBM4XX PPC_IBM403 PPC_IBM440 PPC_BOOKE defflag opt_ppccache.h CACHE_PROTO_MEI -defflag opt_pmap.h PMAPDEBUG PMAPCHECK PMAPCOUNTERS PMAP_MINIMALTLB +defflag opt_pmap.h PMAPDEBUG PMAPCHECK PMAPCOUNTERS PMAP_MINIMALTLB PMAP_TLBDEBUG defparam opt_pmap.h PTEGCOUNT PMAP_MEMLIMIT file arch/powerpc/powerpc/core_machdep.c coredump Index: src/sys/arch/powerpc/ibm4xx/pmap.c diff -u src/sys/arch/powerpc/ibm4xx/pmap.c:1.92 src/sys/arch/powerpc/ibm4xx/pmap.c:1.93 --- src/sys/arch/powerpc/ibm4xx/pmap.c:1.92 Thu Sep 10 03:23:55 2020 +++ src/sys/arch/powerpc/ibm4xx/pmap.c Thu Sep 10 03:32:46 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.92 2020/09/10 03:23:55 rin Exp $ */ +/* $NetBSD: pmap.c,v 1.93 2020/09/10 03:32:46 rin Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -67,10 +67,11 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.92 2020/09/10 03:23:55 rin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.93 2020/09/10 03:32:46 rin Exp $"); #ifdef _KERNEL_OPT #include "opt_ddb.h" +#include "opt_pmap.h" #endif #include @@ -193,6 +194,8 @@ static inline int pte_enter(struct pmap static inline int pmap_enter_pv(struct pmap *, vaddr_t, paddr_t, int); static void pmap_remove_pv(struct pmap *, vaddr_t, paddr_t); +static inline void tlb_invalidate_entry(int); + static int ppc4xx_tlb_size_mask(size_t, int *, int *); @@ -1195,6 +1198,43 @@ pmap_procwr(struct proc *p, vaddr_t va, "K" (PSL_IR | PSL_DR)); } +static inline void +tlb_invalidate_entry(int i) +{ +#ifdef PMAP_TLBDEBUG + /* + * Clear only TLBHI[V] bit so that we can track invalidated entry. + */ + register_t msr, pid, hi; + + KASSERT(mfspr(SPR_PID) == KERNEL_PID); + + __asm volatile( + "mfmsr %0;" + "li %1,0;" + "mtmsr %1;" + "mfpid %1;" + "tlbre %2,%3,0;" + "andc %2,%2,%4;" + "tlbwe %2,%3,0;" + "mtpid %1;" + "mtmsr %0;" + "isync;" + : "=" (msr), "=" (pid), "=" (hi) + : "r" (i), "r" (TLB_VALID)); +#else + /* + * Just clear entire TLBHI register. + */ + __asm volatile( + "tlbwe %0,%1,0;" + "isync;" + : : "r" (0), "r" (i)); +#endif + + tlb_info[i].ti_ctx = 0; + tlb_info[i].ti_flags = 0; +} /* This has to be done in real mode !!! */ void @@ -1228,13 +1268,7 @@ ppc4xx_tlb_flush(vaddr_t va, int pid) : "r" (va), "r" (pid)); if (found && !TLB_LOCKED(i)) { /* Now flush translation */ - __asm volatile( - "tlbwe %0,%1,0;" - "isync;" - : : "r" (0), "r" (i)); - - tlb_info[i].ti_ctx = 0; - tlb_info[i].ti_flags = 0; + tlb_invalidate_entry(i); tlbnext = i; /* Successful flushes */ tlbflush_ev.ev_count++; @@ -1247,12 +1281,8 @@ ppc4xx_tlb_flush_all(void) u_long i; for (i = 0; i < NTLB; i++) - if (!TLB_LOCKED(i)) { - __asm volatile( -"tlbwe %0,%1,0;" : : "r" (0), "r" (i)); - tlb_info[i].ti_ctx = 0; - tlb_info[i].ti_flags = 0; - } + if (!TLB_LOCKED(i)) + tlb_invalidate_entry(i); __asm volatile("isync"); } @@ -1526,10 +1556,11 @@ ctx_flush(int cnum) if (i < tlb_nreserved) panic("TLB entry %d not locked", i); #endif - /* Invalidate particular TLB entry regardless of locked status */ - __asm volatile("tlbwe %0,%1,0" : :"r"(0),"r"(i)); - tlb_info[i].ti_ctx = 0; - tlb_info[i].ti_flags = 0; + /* + * Invalidate particular TLB entry regardless of + * locked status + */ + tlb_invalidate_entry(i); } } return (0);
CVS commit: src/sys/arch/powerpc/ibm4xx
Module Name:src Committed By: rin Date: Thu Sep 10 03:23:55 UTC 2020 Modified Files: src/sys/arch/powerpc/ibm4xx: pmap.c Log Message: pmap_kenter_pa: Remove comment which says ``Have to remove any existing mapping first.'' Contrary to this comment, pmap_kremove(9) has never been called there since rev 1.1, and we don't for other ports also. To generate a diff of this commit: cvs rdiff -u -r1.91 -r1.92 src/sys/arch/powerpc/ibm4xx/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/powerpc/ibm4xx/pmap.c diff -u src/sys/arch/powerpc/ibm4xx/pmap.c:1.91 src/sys/arch/powerpc/ibm4xx/pmap.c:1.92 --- src/sys/arch/powerpc/ibm4xx/pmap.c:1.91 Thu Sep 10 03:02:36 2020 +++ src/sys/arch/powerpc/ibm4xx/pmap.c Thu Sep 10 03:23:55 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.91 2020/09/10 03:02:36 rin Exp $ */ +/* $NetBSD: pmap.c,v 1.92 2020/09/10 03:23:55 rin Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -67,7 +67,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.91 2020/09/10 03:02:36 rin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.92 2020/09/10 03:23:55 rin Exp $"); #ifdef _KERNEL_OPT #include "opt_ddb.h" @@ -931,10 +931,6 @@ pmap_kenter_pa(vaddr_t va, paddr_t pa, v struct pmap *pm = pmap_kernel(); /* - * Have to remove any existing mapping first. - */ - - /* * Generate TTE. * *
CVS commit: src/sys/dev/pci
Module Name:src Committed By: yamaguchi Date: Thu Sep 10 03:20:08 UTC 2020 Modified Files: src/sys/dev/pci: if_iavf.c Log Message: Fix a possible deadlock in iavf(4) To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/dev/pci/if_iavf.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/dev/pci/if_iavf.c diff -u src/sys/dev/pci/if_iavf.c:1.4 src/sys/dev/pci/if_iavf.c:1.5 --- src/sys/dev/pci/if_iavf.c:1.4 Wed Sep 9 00:56:17 2020 +++ src/sys/dev/pci/if_iavf.c Thu Sep 10 03:20:08 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: if_iavf.c,v 1.4 2020/09/09 00:56:17 yamaguchi Exp $ */ +/* $NetBSD: if_iavf.c,v 1.5 2020/09/10 03:20:08 yamaguchi Exp $ */ /* * Copyright (c) 2013-2015, Intel Corporation @@ -75,7 +75,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_iavf.c,v 1.4 2020/09/09 00:56:17 yamaguchi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_iavf.c,v 1.5 2020/09/10 03:20:08 yamaguchi Exp $"); #include #include @@ -3523,6 +3523,7 @@ iavf_reset_finish(struct iavf_softc *sc) struct ether_multistep step; struct ifnet *ifp = >ec_if; struct vlanid_list *vlanidp; + uint8_t enaddr_prev[ETHER_ADDR_LEN], enaddr_next[ETHER_ADDR_LEN]; KASSERT(mutex_owned(>sc_cfg_lock)); @@ -3550,14 +3551,19 @@ iavf_reset_finish(struct iavf_softc *sc) ETHER_UNLOCK(ec); if (memcmp(sc->sc_enaddr, sc->sc_enaddr_reset, ETHER_ADDR_LEN) != 0) { + memcpy(enaddr_prev, sc->sc_enaddr_reset, sizeof(enaddr_prev)); + memcpy(enaddr_next, sc->sc_enaddr, sizeof(enaddr_next)); log(LOG_INFO, "%s: Ethernet address changed to %s\n", - ifp->if_xname, ether_sprintf(sc->sc_enaddr)); + ifp->if_xname, ether_sprintf(enaddr_next)); + + mutex_exit(>sc_cfg_lock); IFNET_LOCK(ifp); kpreempt_disable(); /*XXX we need an API to change ethernet address. */ - iavf_replace_lla(ifp, sc->sc_enaddr_reset, sc->sc_enaddr); + iavf_replace_lla(ifp, enaddr_prev, enaddr_next); kpreempt_enable(); IFNET_UNLOCK(ifp); + mutex_enter(>sc_cfg_lock); } sc->sc_resetting = false;
CVS commit: src/sys/arch/powerpc/ibm4xx
Module Name:src Committed By: rin Date: Thu Sep 10 03:02:36 UTC 2020 Modified Files: src/sys/arch/powerpc/ibm4xx: pmap.c Log Message: Introduce PV_VA() macro to extract va from pv->pv_va by clearing PV_WIRED flag, and use it where appropriate. There should be no functional changes. Only for safety in future. To generate a diff of this commit: cvs rdiff -u -r1.90 -r1.91 src/sys/arch/powerpc/ibm4xx/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/powerpc/ibm4xx/pmap.c diff -u src/sys/arch/powerpc/ibm4xx/pmap.c:1.90 src/sys/arch/powerpc/ibm4xx/pmap.c:1.91 --- src/sys/arch/powerpc/ibm4xx/pmap.c:1.90 Mon Jul 6 10:40:21 2020 +++ src/sys/arch/powerpc/ibm4xx/pmap.c Thu Sep 10 03:02:36 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.90 2020/07/06 10:40:21 rin Exp $ */ +/* $NetBSD: pmap.c,v 1.91 2020/09/10 03:02:36 rin Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -67,7 +67,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.90 2020/07/06 10:40:21 rin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.91 2020/09/10 03:02:36 rin Exp $"); #ifdef _KERNEL_OPT #include "opt_ddb.h" @@ -156,7 +156,8 @@ static char *pmap_attrib; #define PV_WIRE(pv) ((pv)->pv_va |= PV_WIRED) #define PV_UNWIRE(pv) ((pv)->pv_va &= ~PV_WIRED) #define PV_ISWIRED(pv) ((pv)->pv_va & PV_WIRED) -#define PV_CMPVA(va,pv) (!(((pv)->pv_va ^ (va)) & (~PV_WIRED))) +#define PV_VA(pv) ((pv)->pv_va & ~PV_WIRED) +#define PV_CMPVA(va,pv) (!(PV_VA(pv) ^ (va))) struct pv_entry { struct pv_entry *pv_next; /* Linked list of mappings */ @@ -1115,14 +1116,14 @@ pmap_page_protect(struct vm_page *pg, vm npv = pv->pv_next; pm = pv->pv_pm; - va = pv->pv_va; + va = PV_VA(pv); pmap_protect(pm, va, va + PAGE_SIZE, prot); } /* Now check the head pv */ if (pvh->pv_pm) { pv = pvh; pm = pv->pv_pm; - va = pv->pv_va; + va = PV_VA(pv); pmap_protect(pm, va, va + PAGE_SIZE, prot); } }
CVS commit: src/sys/arch/powerpc/booke
Module Name:src Committed By: rin Date: Thu Sep 10 02:45:28 UTC 2020 Modified Files: src/sys/arch/powerpc/booke: trap.c Log Message: Fix build with UVMHIST; stop passing string literal to UVMHIST_LOG(), and also cast pointer arguments into uintptr_t. To generate a diff of this commit: cvs rdiff -u -r1.34 -r1.35 src/sys/arch/powerpc/booke/trap.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/powerpc/booke/trap.c diff -u src/sys/arch/powerpc/booke/trap.c:1.34 src/sys/arch/powerpc/booke/trap.c:1.35 --- src/sys/arch/powerpc/booke/trap.c:1.34 Wed Jul 15 09:10:14 2020 +++ src/sys/arch/powerpc/booke/trap.c Thu Sep 10 02:45:28 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: trap.c,v 1.34 2020/07/15 09:10:14 rin Exp $ */ +/* $NetBSD: trap.c,v 1.35 2020/09/10 02:45:28 rin Exp $ */ /*- * Copyright (c) 2010, 2011 The NetBSD Foundation, Inc. * All rights reserved. @@ -35,7 +35,7 @@ */ #include -__KERNEL_RCSID(1, "$NetBSD: trap.c,v 1.34 2020/07/15 09:10:14 rin Exp $"); +__KERNEL_RCSID(1, "$NetBSD: trap.c,v 1.35 2020/09/10 02:45:28 rin Exp $"); #ifdef _KERNEL_OPT #include "opt_altivec.h" @@ -294,12 +294,18 @@ isi_exception(struct trapframe *tf, ksig KASSERT(pg); struct vm_page_md * const mdpg = VM_PAGE_TO_MD(pg); - UVMHIST_LOG(pmapexechist, - "srr0=%#x pg=%p (pa %#"PRIxPADDR"): %s", - tf->tf_srr0, pg, pa, - (VM_PAGEMD_EXECPAGE_P(mdpg) - ? "no syncicache (already execpage)" - : "performed syncicache (now execpage)")); +#ifdef UVMHIST + if (VM_PAGEMD_EXECPAGE_P(mdpg)) + UVMHIST_LOG(pmapexechist, + "srr0=%#x pg=%p (pa %#"PRIxPADDR"): " + "no syncicache (already execpage)", + tf->tf_srr0, (uintptr_t)pg, pa, 0); + else + UVMHIST_LOG(pmapexechist, + "srr0=%#x pg=%p (pa %#"PRIxPADDR"): " + "performed syncicache (now execpage)", + tf->tf_srr0, (uintptr_t)pg, pa, 0); +#endif if (!VM_PAGEMD_EXECPAGE_P(mdpg)) { ci->ci_softc->cpu_ev_exec_trap_sync.ev_count++;
CVS commit: src/share/mk
Module Name:src Committed By: rin Date: Thu Sep 10 02:34:13 UTC 2020 Modified Files: src/share/mk: bsd.kmodule.mk Log Message: Turn off -mpltseq for kernel modules on powerpc for GCC >= 9. Otherwise, object files compiled with -mlongcall contain relocation types referring PLT, which our in-kernel linker cannot handle. This ends up with failure in kernel module load with ``kobj_reloc: unexpected relocation type 31'' (31 == R_PPC_PLT16_HA here). See descriptions for -mlongcall in gcc(1) of GCC9 for more details. To generate a diff of this commit: cvs rdiff -u -r1.70 -r1.71 src/share/mk/bsd.kmodule.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/share/mk/bsd.kmodule.mk diff -u src/share/mk/bsd.kmodule.mk:1.70 src/share/mk/bsd.kmodule.mk:1.71 --- src/share/mk/bsd.kmodule.mk:1.70 Sun Sep 6 07:20:28 2020 +++ src/share/mk/bsd.kmodule.mk Thu Sep 10 02:34:13 2020 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.kmodule.mk,v 1.70 2020/09/06 07:20:28 mrg Exp $ +# $NetBSD: bsd.kmodule.mk,v 1.71 2020/09/10 02:34:13 rin Exp $ # We are not building this with PIE MKPIE=no @@ -51,6 +51,7 @@ CFLAGS+= -fno-common -fno-unwind-tables CFLAGS+= -mlong-calls -mno-space-regs -mfast-indirect-calls .elif ${MACHINE_CPU} == "powerpc" CFLAGS+= ${${ACTIVE_CC} == "gcc":? -mlongcall :} +CFLAGS+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 9:? -mno-pltseq :} .elif ${MACHINE_CPU} == "vax" CFLAGS+= -fno-pic .elif ${MACHINE_CPU} == "riscv"
CVS commit: src/sys/uvm/pmap
Module Name:src Committed By: rin Date: Thu Sep 10 02:12:57 UTC 2020 Modified Files: src/sys/uvm/pmap: pmap_segtab.c Log Message: Cast pointer arguments of UVMHIST_CALLARGS() into uintptr_t. Appease GCC9 -Wpointer-to-int-cast on ILP32 environments. To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 src/sys/uvm/pmap/pmap_segtab.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/uvm/pmap/pmap_segtab.c diff -u src/sys/uvm/pmap/pmap_segtab.c:1.23 src/sys/uvm/pmap/pmap_segtab.c:1.24 --- src/sys/uvm/pmap/pmap_segtab.c:1.23 Sat Aug 22 15:34:51 2020 +++ src/sys/uvm/pmap/pmap_segtab.c Thu Sep 10 02:12:57 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap_segtab.c,v 1.23 2020/08/22 15:34:51 skrll Exp $ */ +/* $NetBSD: pmap_segtab.c,v 1.24 2020/09/10 02:12:57 rin Exp $ */ /*- * Copyright (c) 1998, 2001 The NetBSD Foundation, Inc. @@ -67,7 +67,7 @@ #include -__KERNEL_RCSID(0, "$NetBSD: pmap_segtab.c,v 1.23 2020/08/22 15:34:51 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap_segtab.c,v 1.24 2020/09/10 02:12:57 rin Exp $"); /* * Manages physical address maps. @@ -246,7 +246,7 @@ pmap_segtab_free(pmap_segtab_t *stp) { UVMHIST_FUNC(__func__); - UVMHIST_CALLARGS(pmapsegtabhist, "stp=%#jx", stp, 0, 0, 0); + UVMHIST_CALLARGS(pmapsegtabhist, "stp=%#jx", (uintptr_t)stp, 0, 0, 0); mutex_spin_enter(_segtab_lock); stp->seg_seg[0] = pmap_segtab_info.free_segtab; @@ -346,7 +346,8 @@ pmap_segtab_alloc(void) stp->seg_seg[0] = NULL; SEGTAB_ADD(nget, 1); found_on_freelist = true; - UVMHIST_CALLARGS(pmapsegtabhist, "freelist stp=%#jx", stp, 0, 0, 0); + UVMHIST_CALLARGS(pmapsegtabhist, "freelist stp=%#jx", + (uintptr_t)stp, 0, 0, 0); } mutex_spin_exit(_segtab_lock); @@ -364,7 +365,8 @@ pmap_segtab_alloc(void) const paddr_t stp_pa = VM_PAGE_TO_PHYS(stp_pg); stp = (pmap_segtab_t *)PMAP_MAP_POOLPAGE(stp_pa); - UVMHIST_CALLARGS(pmapsegtabhist, "new stp=%#jx", stp, 0, 0, 0); + UVMHIST_CALLARGS(pmapsegtabhist, "new stp=%#jx", + (uintptr_t)stp, 0, 0, 0); const size_t n = NBPG / sizeof(*stp); if (n > 1) { /* @@ -574,7 +576,7 @@ pmap_pte_reserve(pmap_t pmap, vaddr_t va KASSERT(pte == stp->seg_tab[(va >> SEGSHIFT) & (PMAP_SEGTABSIZE - 1)]); UVMHIST_CALLARGS(pmapsegtabhist, "pm=%#jx va=%#jx -> tab[%jd]=%jx", (uintptr_t)pmap, (uintptr_t)va, - (va >> SEGSHIFT) & (PMAP_SEGTABSIZE - 1), pte); + (va >> SEGSHIFT) & (PMAP_SEGTABSIZE - 1), (uintptr_t)pte); pmap_check_ptes(pte, __func__); pte += (va >> PGSHIFT) & (NPTEPG - 1);
CVS commit: src/sys/arch/sun3/conf
Module Name:src Committed By: rin Date: Thu Sep 10 02:06:25 UTC 2020 Modified Files: src/sys/arch/sun3/conf: GENERIC Log Message: Build in debug symbols. To generate a diff of this commit: cvs rdiff -u -r1.184 -r1.185 src/sys/arch/sun3/conf/GENERIC 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/sun3/conf/GENERIC diff -u src/sys/arch/sun3/conf/GENERIC:1.184 src/sys/arch/sun3/conf/GENERIC:1.185 --- src/sys/arch/sun3/conf/GENERIC:1.184 Mon Aug 10 06:32:58 2020 +++ src/sys/arch/sun3/conf/GENERIC Thu Sep 10 02:06:25 2020 @@ -1,4 +1,4 @@ -# $NetBSD: GENERIC,v 1.184 2020/08/10 06:32:58 rin Exp $ +# $NetBSD: GENERIC,v 1.185 2020/09/10 02:06:25 rin Exp $ # # GENERIC machine description file # @@ -25,7 +25,7 @@ include "arch/sun3/conf/std.sun3" #options INCLUDE_CONFIG_FILE # embed config file in kernel binary -#ident "GENERIC-$Revision: 1.184 $" +#ident "GENERIC-$Revision: 1.185 $" makeoptions COPTS="-Os -fno-unwind-tables -fno-omit-frame-pointer" # Bootloader has size limit (~2MB). -fno-omit-frame-pointer is @@ -60,7 +60,7 @@ options PIPE_SOCKETPAIR # smaller, but # Which kernel debugger? Uncomment either this: options DDB # ... or these for KGDB (gdb remote target) -#makeoptions DEBUG="-g" # debugging symbols for gdb +makeoptions DEBUG="-g" # debugging symbols for gdb #options KGDB #options KGDB_DEV=0x0C01 # ttya=0C00 ttyb=0C01
CVS commit: src/sys/arch
Module Name:src Committed By: rin Date: Thu Sep 10 02:03:44 UTC 2020 Modified Files: src/sys/arch/sun2/sun2: promlib.c src/sys/arch/sun3/sun3: sunmon.c Log Message: Fix tracedump() for sun3 and sun2 by adding __noinline attribute. It unwinds stack frame by using address of its first argument, which does not, of course, work if inline-expanded. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 src/sys/arch/sun2/sun2/promlib.c cvs rdiff -u -r1.21 -r1.22 src/sys/arch/sun3/sun3/sunmon.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/sun2/sun2/promlib.c diff -u src/sys/arch/sun2/sun2/promlib.c:1.18 src/sys/arch/sun2/sun2/promlib.c:1.19 --- src/sys/arch/sun2/sun2/promlib.c:1.18 Mon Mar 24 18:50:31 2014 +++ src/sys/arch/sun2/sun2/promlib.c Thu Sep 10 02:03:44 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: promlib.c,v 1.18 2014/03/24 18:50:31 christos Exp $ */ +/* $NetBSD: promlib.c,v 1.19 2020/09/10 02:03:44 rin Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: promlib.c,v 1.18 2014/03/24 18:50:31 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: promlib.c,v 1.19 2020/09/10 02:03:44 rin Exp $"); #include #include @@ -349,7 +349,7 @@ struct funcall_frame { int fr_arg[1]; }; /*VARARGS0*/ -static void +static void __noinline tracedump(int x1) { struct funcall_frame *fp = (struct funcall_frame *)( - 2); Index: src/sys/arch/sun3/sun3/sunmon.c diff -u src/sys/arch/sun3/sun3/sunmon.c:1.21 src/sys/arch/sun3/sun3/sunmon.c:1.22 --- src/sys/arch/sun3/sun3/sunmon.c:1.21 Sat Oct 18 08:33:27 2014 +++ src/sys/arch/sun3/sun3/sunmon.c Thu Sep 10 02:03:44 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: sunmon.c,v 1.21 2014/10/18 08:33:27 snj Exp $ */ +/* $NetBSD: sunmon.c,v 1.22 2020/09/10 02:03:44 rin Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: sunmon.c,v 1.21 2014/10/18 08:33:27 snj Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sunmon.c,v 1.22 2020/09/10 02:03:44 rin Exp $"); #include #include @@ -168,7 +168,7 @@ struct funcall_frame { int fr_arg[1]; }; /*VARARGS0*/ -static void +static void __noinline tracedump(int x1) { struct funcall_frame *fp = (struct funcall_frame *)( - 2);
CVS commit: src
Module Name:src Committed By: rin Date: Thu Sep 10 01:53:22 UTC 2020 Modified Files: src/distrib/sets/lists/base: mi src/distrib/sets/lists/comp: mi src/sys/dev: Makefile Log Message: Unconditionally install kernel headers for iSCSI as required by sanitizer shipped with GCC9. Fix build release with HAVE_GCC=9 for sun2, where MKISCSI=no by default. To generate a diff of this commit: cvs rdiff -u -r1.1261 -r1.1262 src/distrib/sets/lists/base/mi cvs rdiff -u -r1.2349 -r1.2350 src/distrib/sets/lists/comp/mi cvs rdiff -u -r1.44 -r1.45 src/sys/dev/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/sets/lists/base/mi diff -u src/distrib/sets/lists/base/mi:1.1261 src/distrib/sets/lists/base/mi:1.1262 --- src/distrib/sets/lists/base/mi:1.1261 Wed Sep 9 06:50:33 2020 +++ src/distrib/sets/lists/base/mi Thu Sep 10 01:53:22 2020 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.1261 2020/09/09 06:50:33 mrg Exp $ +# $NetBSD: mi,v 1.1262 2020/09/10 01:53:22 rin Exp $ # # Note: Don't delete entries from here - mark them as "obsolete" instead, # unless otherwise stated below. @@ -1149,7 +1149,7 @@ ./usr/include/dev/irbase-c-usr ./usr/include/dev/isabase-c-usr ./usr/include/dev/isapnp base-obsolete obsolete -./usr/include/dev/iscsibase-c-usr iscsi +./usr/include/dev/iscsibase-c-usr ./usr/include/dev/microcode base-obsolete obsolete ./usr/include/dev/microcode/aic7xxx base-obsolete obsolete ./usr/include/dev/microcode/isp base-obsolete obsolete Index: src/distrib/sets/lists/comp/mi diff -u src/distrib/sets/lists/comp/mi:1.2349 src/distrib/sets/lists/comp/mi:1.2350 --- src/distrib/sets/lists/comp/mi:1.2349 Wed Sep 9 14:38:41 2020 +++ src/distrib/sets/lists/comp/mi Thu Sep 10 01:53:22 2020 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.2349 2020/09/09 14:38:41 kamil Exp $ +# $NetBSD: mi,v 1.2350 2020/09/10 01:53:22 rin Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. ./etc/mtree/set.compcomp-sys-root @@ -619,8 +619,8 @@ ./usr/include/dev/isapnp/if_levar.h comp-obsolete obsolete ./usr/include/dev/isapnp/isapnpreg.h comp-obsolete obsolete ./usr/include/dev/isapnp/isapnpvar.h comp-obsolete obsolete -./usr/include/dev/iscsi/iscsi.h comp-c-include iscsi -./usr/include/dev/iscsi/iscsi_ioctl.h comp-c-include iscsi +./usr/include/dev/iscsi/iscsi.h comp-c-include +./usr/include/dev/iscsi/iscsi_ioctl.h comp-c-include ./usr/include/dev/iscsi/iscsi_perf.h comp-obsolete obsolete ./usr/include/dev/iscsi/iscsi_test.h comp-obsolete obsolete ./usr/include/dev/keylock.h comp-c-include Index: src/sys/dev/Makefile diff -u src/sys/dev/Makefile:1.44 src/sys/dev/Makefile:1.45 --- src/sys/dev/Makefile:1.44 Sun Jan 19 20:41:18 2020 +++ src/sys/dev/Makefile Thu Sep 10 01:53:22 2020 @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.44 2020/01/19 20:41:18 riastradh Exp $ +# $NetBSD: Makefile,v 1.45 2020/09/10 01:53:22 rin Exp $ SUBDIR= apm ata bluetooth dec dm dmover dtv hdaudio hdmicec hid hpc \ - i2c i2o ic ieee1394 ir isa \ + i2c i2o ic ieee1394 ir isa iscsi \ microcode ofw pci pckbport pcmcia pud putter raidframe sbus scsipi \ spi sun tc usb vme wscons @@ -11,10 +11,6 @@ SUBDIR+= nvmm .include -.if ${MKISCSI} != "no" -SUBDIR+= iscsi -.endif - INCSDIR= /usr/include/dev # Only install includes which are used by userland
CVS commit: src/tests/lib/libexecinfo
Module Name:src Committed By: christos Date: Wed Sep 9 20:04:10 UTC 2020 Modified Files: src/tests/lib/libexecinfo: t_backtrace.c Log Message: PR/55648: Kyle Evans: Minor warnings in compilation of libexecinfo test2 To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/tests/lib/libexecinfo/t_backtrace.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libexecinfo/t_backtrace.c diff -u src/tests/lib/libexecinfo/t_backtrace.c:1.16 src/tests/lib/libexecinfo/t_backtrace.c:1.17 --- src/tests/lib/libexecinfo/t_backtrace.c:1.16 Mon Nov 3 19:20:19 2014 +++ src/tests/lib/libexecinfo/t_backtrace.c Wed Sep 9 16:04:10 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: t_backtrace.c,v 1.16 2014/11/04 00:20:19 justin Exp $ */ +/* $NetBSD: t_backtrace.c,v 1.17 2020/09/09 20:04:10 christos Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include -__RCSID("$NetBSD: t_backtrace.c,v 1.16 2014/11/04 00:20:19 justin Exp $"); +__RCSID("$NetBSD: t_backtrace.c,v 1.17 2020/09/09 20:04:10 christos Exp $"); #include #include @@ -47,7 +47,7 @@ void myfunc2(size_t ncalls); void myfunc1(size_t origcalls, volatile size_t ncalls); void myfunc(size_t ncalls); -volatile int prevent_inline; +static volatile int prevent_inline; void myfunc3(size_t ncalls)
CVS commit: src/sys/arch/xen/xen
Module Name:src Committed By: bouyer Date: Wed Sep 9 16:46:06 UTC 2020 Modified Files: src/sys/arch/xen/xen: hypervisor.c Log Message: Workarounds for amazon's Xen 4.2 version, still present on some instances: - It doens't provides an xencons, so allow HVM_PARAM_CONSOLE_PFN to fail - the xen clock is not fully functionnal, so don't try to use it if HVM_PARAM_CONSOLE_PFN failed. - it doesn't have XEN_HVM_CPUID_VCPU_ID_PRESENT so fall back to ci_acpiid as ci_vcpuid in this case. It also doesn't support the per-CPU event callback; so fix the fallback to global vector (don't try to register more per-cpu vector) Should fix port-amd64/55543 To generate a diff of this commit: cvs rdiff -u -r1.87 -r1.88 src/sys/arch/xen/xen/hypervisor.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/xen/xen/hypervisor.c diff -u src/sys/arch/xen/xen/hypervisor.c:1.87 src/sys/arch/xen/xen/hypervisor.c:1.88 --- src/sys/arch/xen/xen/hypervisor.c:1.87 Tue Jul 14 00:45:53 2020 +++ src/sys/arch/xen/xen/hypervisor.c Wed Sep 9 16:46:06 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: hypervisor.c,v 1.87 2020/07/14 00:45:53 yamaguchi Exp $ */ +/* $NetBSD: hypervisor.c,v 1.88 2020/09/09 16:46:06 bouyer Exp $ */ /* * Copyright (c) 2005 Manuel Bouyer. @@ -53,7 +53,7 @@ #include -__KERNEL_RCSID(0, "$NetBSD: hypervisor.c,v 1.87 2020/07/14 00:45:53 yamaguchi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: hypervisor.c,v 1.88 2020/09/09 16:46:06 bouyer Exp $"); #include #include @@ -413,31 +413,41 @@ xen_hvm_init(void) xen_hvm_param.index = HVM_PARAM_CONSOLE_PFN; if ( HYPERVISOR_hvm_op(HVMOP_get_param, _hvm_param) < 0) { - aprint_error( + aprint_debug( "Xen HVM: Unable to obtain xencons page address\n"); - return 0; - } - - /* Re-use PV field */ - xen_start_info.console.domU.mfn = xen_hvm_param.value; - - pmap_kenter_pa((vaddr_t) xencons_interface, ptoa(xen_start_info.console.domU.mfn), - VM_PROT_READ|VM_PROT_WRITE, 0); + xen_start_info.console.domU.mfn = 0; + xen_start_info.console.domU.evtchn = -1; + xencons_interface = 0; + } else { + /* Re-use PV field */ + xen_start_info.console.domU.mfn = xen_hvm_param.value; - xen_hvm_param.domid = DOMID_SELF; - xen_hvm_param.index = HVM_PARAM_CONSOLE_EVTCHN; + pmap_kenter_pa((vaddr_t) xencons_interface, + ptoa(xen_start_info.console.domU.mfn), + VM_PROT_READ|VM_PROT_WRITE, 0); + + xen_hvm_param.domid = DOMID_SELF; + xen_hvm_param.index = HVM_PARAM_CONSOLE_EVTCHN; + + if ( HYPERVISOR_hvm_op(HVMOP_get_param, _hvm_param) < 0) { + aprint_error( + "Xen HVM: Unable to obtain xencons event channel\n"); + return 0; + } - if ( HYPERVISOR_hvm_op(HVMOP_get_param, _hvm_param) < 0) { - aprint_error( - "Xen HVM: Unable to obtain xencons event channel\n"); - return 0; + xen_start_info.console.domU.evtchn = xen_hvm_param.value; } - xen_start_info.console.domU.evtchn = xen_hvm_param.value; - - - delay_func = x86_delay = xen_delay; - x86_initclock_func = xen_initclocks; + /* + * PR port-amd64/55543 + * workround for amazon's Xen 4.2: it looks like the Xen clock is not + * fully funtionnal here. This version also doesn't support + * HVM_PARAM_CONSOLE_PFN. + */ + if (xencons_interface != 0) { + delay_func = x86_delay = xen_delay; + x86_initclock_func = xen_initclocks; + } vm_guest = VM_GUEST_XENPVHVM; /* Be more specific */ return 1; @@ -458,13 +468,14 @@ xen_hvm_init_cpu(struct cpu_info *ci) descs[0] = 0; x86_cpuid(XEN_CPUID_LEAF(4), descs); - if (!(descs[0] & XEN_HVM_CPUID_VCPU_ID_PRESENT)) { - aprint_error_dev(ci->ci_dev, "Xen HVM: can't get VCPU id\n"); - vm_guest = VM_GUEST_XENHVM; - return 0; + if (descs[0] & XEN_HVM_CPUID_VCPU_ID_PRESENT) { + ci->ci_vcpuid = descs[1]; + } else { + aprint_debug_dev(ci->ci_dev, + "Xen HVM: can't get VCPU id, falling back to ci_acpiid\n"); + ci->ci_vcpuid = ci->ci_acpiid; } - ci->ci_vcpuid = descs[1]; ci->ci_vcpu = _shared_info->vcpu_info[ci->ci_vcpuid]; /* Register event callback handler. */ @@ -491,6 +502,7 @@ xen_hvm_init_cpu(struct cpu_info *ci) panic("event upcall vector"); aprint_error_dev(ci->ci_dev, "falling back to global vector\n"); + xenhvm_use_percpu_callback = 0; } else { /* * From FreeBSD: @@ -664,9 +676,11 @@ hypervisor_attach(device_t parent, devic config_found_ia(self, "xendevbus", _xenbus, hypervisor_print); #endif #if NXENCONS > 0 - memset(, 0, sizeof(hac)); - hac.hac_xencons.xa_device = "xencons"; - config_found_ia(self, "xendevbus", _xencons, hypervisor_print); + if (xencons_interface != 0) { + memset(, 0, sizeof(hac)); + hac.hac_xencons.xa_device = "xencons"; + config_found_ia(self, "xendevbus", _xencons, hypervisor_print); + } #endif #if defined(XENPV) && defined(DOM0OPS) #if NPCI > 0
CVS commit: src/sys
Module Name:src Committed By: maxv Date: Wed Sep 9 16:30:00 UTC 2020 Modified Files: src/sys/arch/amd64/include: msan.h src/sys/kern: subr_msan.c src/sys/sys: msan.h Log Message: kmsan: update the copyright notices To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/amd64/include/msan.h cvs rdiff -u -r1.13 -r1.14 src/sys/kern/subr_msan.c cvs rdiff -u -r1.1 -r1.2 src/sys/sys/msan.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/amd64/include/msan.h diff -u src/sys/arch/amd64/include/msan.h:1.4 src/sys/arch/amd64/include/msan.h:1.5 --- src/sys/arch/amd64/include/msan.h:1.4 Sun Jun 7 23:15:51 2020 +++ src/sys/arch/amd64/include/msan.h Wed Sep 9 16:29:59 2020 @@ -1,11 +1,10 @@ -/* $NetBSD: msan.h,v 1.4 2020/06/07 23:15:51 christos Exp $ */ +/* $NetBSD: msan.h,v 1.5 2020/09/09 16:29:59 maxv Exp $ */ /* - * Copyright (c) 2019 The NetBSD Foundation, Inc. + * Copyright (c) 2019-2020 Maxime Villard, m00nbsd.net * All rights reserved. * - * This code is derived from software contributed to The NetBSD Foundation - * by Maxime Villard. + * This code is part of the KMSAN subsystem of the NetBSD kernel. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -16,17 +15,17 @@ *notice, this list of conditions and the following disclaimer in the *documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. */ #include Index: src/sys/kern/subr_msan.c diff -u src/sys/kern/subr_msan.c:1.13 src/sys/kern/subr_msan.c:1.14 --- src/sys/kern/subr_msan.c:1.13 Sat Sep 5 16:30:12 2020 +++ src/sys/kern/subr_msan.c Wed Sep 9 16:29:59 2020 @@ -1,11 +1,10 @@ -/* $NetBSD: subr_msan.c,v 1.13 2020/09/05 16:30:12 riastradh Exp $ */ +/* $NetBSD: subr_msan.c,v 1.14 2020/09/09 16:29:59 maxv Exp $ */ /* - * Copyright (c) 2019-2020 The NetBSD Foundation, Inc. + * Copyright (c) 2019-2020 Maxime Villard, m00nbsd.net * All rights reserved. * - * This code is derived from software contributed to The NetBSD Foundation - * by Maxime Villard. + * This code is part of the KMSAN subsystem of the NetBSD kernel. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -16,21 +15,21 @@ *notice, this list of conditions and the following disclaimer in the *documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. + * THIS SOFTWARE
CVS commit: src/common/lib/libc/arch/aarch64/string
Module Name:src Committed By: jakllsch Date: Wed Sep 9 14:49:27 UTC 2020 Modified Files: src/common/lib/libc/arch/aarch64/string: strlen.S Log Message: Re-do previous aarch64eb strlen fix more simply and correctly. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/common/lib/libc/arch/aarch64/string/strlen.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/aarch64/string/strlen.S diff -u src/common/lib/libc/arch/aarch64/string/strlen.S:1.4 src/common/lib/libc/arch/aarch64/string/strlen.S:1.5 --- src/common/lib/libc/arch/aarch64/string/strlen.S:1.4 Sat Sep 5 20:24:43 2020 +++ src/common/lib/libc/arch/aarch64/string/strlen.S Wed Sep 9 14:49:27 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: strlen.S,v 1.4 2020/09/05 20:24:43 jakllsch Exp $ */ +/* $NetBSD: strlen.S,v 1.5 2020/09/09 14:49:27 jakllsch Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include -RCSID("$NetBSD: strlen.S,v 1.4 2020/09/05 20:24:43 jakllsch Exp $") +RCSID("$NetBSD: strlen.S,v 1.5 2020/09/09 14:49:27 jakllsch Exp $") #ifdef STRNLEN #define FUNCNAME strnlen @@ -66,12 +66,11 @@ ENTRY(FUNCNAME) */ add x4, x4, x0 /* make dword aligned */ ldr x7, [x4], #8 /* load dword */ - lsl x3, x3, #3 /* convert bytes to bits */ #ifdef __AARCH64EB__ - lsr x5, x11, x3 /* make mask for BE */ -#else - lsl x5, x11, x3 /* make mask for LE */ + rev x7, x7 /* convert to LE */ #endif + lsl x3, x3, #3 /* convert bytes to bits */ + lsl x5, x11, x3 /* make mask for LE */ eor x5, x5, x11 /* invert mask */ orr x7, x7, x5 /* prevent NULs */ b .Lstrlen_dword_loop_noload @@ -82,6 +81,9 @@ ENTRY(FUNCNAME) b.hs .Lstrlen_done #endif ldr x7, [x4], #8 /* load dword */ +#ifdef __AARCH64EB__ + rev x7, x7 /* convert to LE */ +#endif .Lstrlen_dword_loop_noload: /* * Use the formula (X - 1) & ~(X | 0x7f) to find NUL bytes. @@ -96,14 +98,6 @@ ENTRY(FUNCNAME) /* * We know there is a NUL in this dword. Use clz to find it. */ -#ifdef __AARCH64EB__ - /* avoid BE problem due to carry propagation if last non-NUL is \x01 */ - ldr x7, [x4, #-8] /* reload dword */ - rev x7, x7 /* byte swap */ - sub x6, x7, x11 /* a = X - 1 */ - orr x7, x7, #MASK8_0x7f /* b = X | 0x7f */ - bic x6, x6, x7 /* a & ~b */ -#endif rev x6, x6 /* convert to BE */ clz x6, x6 /* find null byte */ add x0, x0, x6, lsr #3 /* add offset to the length */
CVS commit: src/distrib/sets/lists/comp
Module Name:src Committed By: kamil Date: Wed Sep 9 14:38:41 UTC 2020 Modified Files: src/distrib/sets/lists/comp: mi Log Message: Register getrandom.0 Fixes MKCATPAGES=yes build. To generate a diff of this commit: cvs rdiff -u -r1.2348 -r1.2349 src/distrib/sets/lists/comp/mi Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/sets/lists/comp/mi diff -u src/distrib/sets/lists/comp/mi:1.2348 src/distrib/sets/lists/comp/mi:1.2349 --- src/distrib/sets/lists/comp/mi:1.2348 Wed Sep 9 07:23:45 2020 +++ src/distrib/sets/lists/comp/mi Wed Sep 9 14:38:41 2020 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.2348 2020/09/09 07:23:45 mrg Exp $ +# $NetBSD: mi,v 1.2349 2020/09/09 14:38:41 kamil Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. ./etc/mtree/set.compcomp-sys-root @@ -4475,6 +4475,7 @@ ./usr/share/man/cat2/getpid.0 comp-c-catman .cat ./usr/share/man/cat2/getppid.0 comp-c-catman .cat ./usr/share/man/cat2/getpriority.0 comp-c-catman .cat +./usr/share/man/cat2/getrandom.0 comp-c-catman .cat ./usr/share/man/cat2/getrlimit.0 comp-c-catman .cat ./usr/share/man/cat2/getrusage.0 comp-c-catman .cat ./usr/share/man/cat2/getsid.0 comp-c-catman .cat
CVS commit: src/distrib/amd64/liveimage/emuimage
Module Name:src Committed By: jmcneill Date: Wed Sep 9 13:25:48 UTC 2020 Modified Files: src/distrib/amd64/liveimage/emuimage: ec2_init Log Message: Look for the string "amazon" in a few different sysctl nodes. There doesn't seem to be a single spot to check that works with both XenPVHVM and KVM instances. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/distrib/amd64/liveimage/emuimage/ec2_init Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/amd64/liveimage/emuimage/ec2_init diff -u src/distrib/amd64/liveimage/emuimage/ec2_init:1.1 src/distrib/amd64/liveimage/emuimage/ec2_init:1.2 --- src/distrib/amd64/liveimage/emuimage/ec2_init:1.1 Wed Aug 5 01:35:18 2020 +++ src/distrib/amd64/liveimage/emuimage/ec2_init Wed Sep 9 13:25:48 2020 @@ -1,15 +1,22 @@ -# $NetBSD: ec2_init,v 1.1 2020/08/05 01:35:18 jmcneill Exp $ +# $NetBSD: ec2_init,v 1.2 2020/09/09 13:25:48 jmcneill Exp $ is_ec2() { - dmi_vendor="$(/sbin/sysctl -qn machdep.dmi.system-vendor | tr '[A-Z]' '[a-z]')" - case "$dmi_vendor" in - amazon*) - printf YES - ;; - *) - printf NO - ;; - esac + val=NO + # Look for the string "amazon" in one of these sysctl nodes + for node in machdep.dmi.system-vendor \ + machdep.dmi.system-version \ + machdep.dmi.bios-version \ + machdep.xen.version ; do + if /sbin/sysctl -q $node; then + nodeval="$(/sbin/sysctl -n $node | tr '[A-Z]' '[a-z]')" + case "$nodeval" in + *amazon*) +val=YES +;; + esac + fi + done + printf $val } ec2_init=$(is_ec2)
CVS commit: src/etc
Module Name:src Committed By: jmcneill Date: Wed Sep 9 12:06:02 UTC 2020 Modified Files: src/etc: Makefile Log Message: Get rid of 'sync' after each kernel build. It adds a noticeable delay to builds on modern systems and seems to have been added as a workaround for some 2004-era Linux NFS bug. Guessing that the issue has been sorted out in the meantime. To generate a diff of this commit: cvs rdiff -u -r1.447 -r1.448 src/etc/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/etc/Makefile diff -u src/etc/Makefile:1.447 src/etc/Makefile:1.448 --- src/etc/Makefile:1.447 Thu Sep 3 18:59:33 2020 +++ src/etc/Makefile Wed Sep 9 12:06:02 2020 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.447 2020/09/03 18:59:33 jakllsch Exp $ +# $NetBSD: Makefile,v 1.448 2020/09/09 12:06:02 jmcneill Exp $ # from: @(#)Makefile 8.7 (Berkeley) 5/25/95 # Environment variables without default values: @@ -582,10 +582,6 @@ GETKERNELAWK= ${TOOL_AWK} '/^config/ {pr build_kernels: .PHONY # Configure & compile kernels listed in ${ALL_KERNELS} # -# The 'sync' is so that all writes during the build are pushed back -# to the disk. Not having it causes problems on some host systems -# (e.g. Linux) when building on NFS. -# .if !defined(KERNELS_DONE) # { .for configfile in ${ALL_KERNELS:O:u} # { build_kernels: kern-${configfile} @@ -597,7 +593,6 @@ kern-${configfile}: .PHONY .MAKE .endif ${MAKE} -C ${KERNOBJDIR}/${configfile:C/.*\///} depend && \ ${MAKE} -C ${KERNOBJDIR}/${configfile:C/.*\///} - sync .endfor # ALL_KERNELS # } .endif # KERNELS_DONE # }
CVS commit: src/external/gpl3/gcc/lib/libsupc++
Module Name:src Committed By: mrg Date: Wed Sep 9 09:52:16 UTC 2020 Modified Files: src/external/gpl3/gcc/lib/libsupc++: Makefile.common Log Message: fix path for largefile-config.h To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 \ src/external/gpl3/gcc/lib/libsupc++/Makefile.common Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/lib/libsupc++/Makefile.common diff -u src/external/gpl3/gcc/lib/libsupc++/Makefile.common:1.16 src/external/gpl3/gcc/lib/libsupc++/Makefile.common:1.17 --- src/external/gpl3/gcc/lib/libsupc++/Makefile.common:1.16 Wed Sep 9 09:49:16 2020 +++ src/external/gpl3/gcc/lib/libsupc++/Makefile.common Wed Sep 9 09:52:16 2020 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.common,v 1.16 2020/09/09 09:49:16 mrg Exp $ +# $NetBSD: Makefile.common,v 1.17 2020/09/09 09:52:16 mrg Exp $ DIST= ${GCCDIST} GNUHOSTDIST= ${DIST} @@ -78,7 +78,7 @@ COPTS.${_f}+= -std=gnu++1z COPTS.${_f}+= -std=gnu++17 -fimplicit-templates .endfor -dir.cc ops.cc fs_dir.cc fs_ops.cc: largefile-config.h +dir.cc ops.cc fs_dir.cc fs_ops.cc: bits/largefile-config.h bits/largefile-config.h: mkdir -p bits
CVS commit: src/external/gpl3/gcc/lib/libsupc++
Module Name:src Committed By: mrg Date: Wed Sep 9 09:49:16 UTC 2020 Modified Files: src/external/gpl3/gcc/lib/libsupc++: Makefile.common Log Message: add build rules for G_CPP17_SOURCES sources, and fix their build. To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 \ src/external/gpl3/gcc/lib/libsupc++/Makefile.common Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/lib/libsupc++/Makefile.common diff -u src/external/gpl3/gcc/lib/libsupc++/Makefile.common:1.15 src/external/gpl3/gcc/lib/libsupc++/Makefile.common:1.16 --- src/external/gpl3/gcc/lib/libsupc++/Makefile.common:1.15 Fri Oct 4 08:51:33 2019 +++ src/external/gpl3/gcc/lib/libsupc++/Makefile.common Wed Sep 9 09:49:16 2020 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.common,v 1.15 2019/10/04 08:51:33 mrg Exp $ +# $NetBSD: Makefile.common,v 1.16 2020/09/09 09:49:16 mrg Exp $ DIST= ${GCCDIST} GNUHOSTDIST= ${DIST} @@ -15,7 +15,7 @@ LIBSTDCXX_MACHINE_ARCH=${GCC_MACHINE_ARC # Make sure we get G_*_SOURCES, etc.*, for the .for loops .include "${.CURDIR}/../libstdc++-v3/arch/${LIBSTDCXX_MACHINE_ARCH}/defs.mk" -LIBSTDCXXSRCS= ${G_SRC_SOURCES} ${G_CPP98_SOURCES} ${G_CPP11_SOURCES} +LIBSTDCXXSRCS= ${G_SRC_SOURCES} ${G_CPP98_SOURCES} ${G_CPP11_SOURCES} ${G_CPP17_SOURCES} # XXX XXX dir.o doesn't have stuff properly, leave it out for now #LIBSTDCXXSRCS+= ${G_FILESYSTEM_SOURCES} @@ -73,3 +73,15 @@ STD_GNU1Z= \ .for _f in ${STD_GNU1Z} COPTS.${_f}+= -std=gnu++1z .endfor + +.for _f in ${G_CPP17_SOURCES} +COPTS.${_f}+= -std=gnu++17 -fimplicit-templates +.endfor + +dir.cc ops.cc fs_dir.cc fs_ops.cc: largefile-config.h + +bits/largefile-config.h: + mkdir -p bits + touch bits/largefile-config.h + +CLEANFILES+= bits/largefile-config.h
CVS commit: src/tests/rump/rumpnet
Module Name:src Committed By: gson Date: Wed Sep 9 09:17:14 UTC 2020 Modified Files: src/tests/rump/rumpnet: t_shmif.sh Log Message: Disable reverse DNS lookups in ping to avoid spurious test failures due to unresponsive DNS servers. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/tests/rump/rumpnet/t_shmif.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/rump/rumpnet/t_shmif.sh diff -u src/tests/rump/rumpnet/t_shmif.sh:1.4 src/tests/rump/rumpnet/t_shmif.sh:1.5 --- src/tests/rump/rumpnet/t_shmif.sh:1.4 Mon May 13 17:55:09 2019 +++ src/tests/rump/rumpnet/t_shmif.sh Wed Sep 9 09:17:14 2020 @@ -1,4 +1,4 @@ -# $NetBSD: t_shmif.sh,v 1.4 2019/05/13 17:55:09 bad Exp $ +# $NetBSD: t_shmif.sh,v 1.5 2020/09/09 09:17:14 gson Exp $ # # Copyright (c) 2011 The NetBSD Foundation, Inc. # All rights reserved. @@ -61,7 +61,7 @@ crossping_body() do [ ${y} -eq ${x} ] && continue atf_check -s exit:0 -o ignore -e ignore \ - rump.ping -c 1 1.1.1.${y} + rump.ping -n -c 1 1.1.1.${y} done done }
CVS commit: src/external/gpl3/binutils/lib
Module Name:src Committed By: mrg Date: Wed Sep 9 09:10:52 UTC 2020 Modified Files: src/external/gpl3/binutils/lib/libbfd/arch/sparc: bfd_stdint.h src/external/gpl3/binutils/lib/libiberty/arch/sparc: config.h defs.mk Log Message: regen for sparc and binutils 2.34. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 \ src/external/gpl3/binutils/lib/libbfd/arch/sparc/bfd_stdint.h cvs rdiff -u -r1.7 -r1.8 \ src/external/gpl3/binutils/lib/libiberty/arch/sparc/config.h \ src/external/gpl3/binutils/lib/libiberty/arch/sparc/defs.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/lib/libbfd/arch/sparc/bfd_stdint.h diff -u src/external/gpl3/binutils/lib/libbfd/arch/sparc/bfd_stdint.h:1.7 src/external/gpl3/binutils/lib/libbfd/arch/sparc/bfd_stdint.h:1.8 --- src/external/gpl3/binutils/lib/libbfd/arch/sparc/bfd_stdint.h:1.7 Sat Apr 4 20:45:45 2020 +++ src/external/gpl3/binutils/lib/libbfd/arch/sparc/bfd_stdint.h Wed Sep 9 09:10:52 2020 @@ -2,7 +2,7 @@ /* Generated from: NetBSD: mknative-binutils,v 1.13 2020/04/04 01:34:53 christos Exp */ /* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp */ -/* generated for sparc--netbsdelf-gcc (NetBSD nb1 20190930) 8.3.0 */ +/* generated for sparc--netbsdelf-gcc (NetBSD nb1 20200311) 8.4.0 */ #ifndef GCC_GENERATED_STDINT_H #define GCC_GENERATED_STDINT_H 1 Index: src/external/gpl3/binutils/lib/libiberty/arch/sparc/config.h diff -u src/external/gpl3/binutils/lib/libiberty/arch/sparc/config.h:1.7 src/external/gpl3/binutils/lib/libiberty/arch/sparc/config.h:1.8 --- src/external/gpl3/binutils/lib/libiberty/arch/sparc/config.h:1.7 Sat Apr 4 20:45:51 2020 +++ src/external/gpl3/binutils/lib/libiberty/arch/sparc/config.h Wed Sep 9 09:10:52 2020 @@ -40,18 +40,18 @@ #define HAVE_CALLOC 1 /* Define to 1 if you have the `canonicalize_file_name' function. */ -#define HAVE_CANONICALIZE_FILE_NAME 1 +/* #undef HAVE_CANONICALIZE_FILE_NAME */ /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 /* Define to 1 if you have the declaration of `asprintf', and to 0 if you don't. */ -#define HAVE_DECL_ASPRINTF 0 +#define HAVE_DECL_ASPRINTF 1 /* Define to 1 if you have the declaration of `basename(char *)', and to 0 if you don't. */ -#define HAVE_DECL_BASENAME 1 +#define HAVE_DECL_BASENAME 0 /* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. */ @@ -62,11 +62,11 @@ /* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. */ -#define HAVE_DECL_GETENV 0 +#define HAVE_DECL_GETENV 1 /* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. */ -#define HAVE_DECL_GETOPT 0 +#define HAVE_DECL_GETOPT 1 /* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. */ @@ -74,35 +74,35 @@ /* Define to 1 if you have the declaration of `realloc', and to 0 if you don't. */ -#define HAVE_DECL_REALLOC 0 +#define HAVE_DECL_REALLOC 1 /* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. */ -#define HAVE_DECL_SBRK 0 +#define HAVE_DECL_SBRK 1 /* Define to 1 if you have the declaration of `snprintf', and to 0 if you don't. */ -#define HAVE_DECL_SNPRINTF 0 +#define HAVE_DECL_SNPRINTF 1 /* Define to 1 if you have the declaration of `strnlen', and to 0 if you don't. */ -#define HAVE_DECL_STRNLEN 0 +#define HAVE_DECL_STRNLEN 1 /* Define to 1 if you have the declaration of `strtol', and to 0 if you don't. */ -#define HAVE_DECL_STRTOL 0 +#define HAVE_DECL_STRTOL 1 /* Define to 1 if you have the declaration of `strtoll', and to 0 if you don't. */ -#define HAVE_DECL_STRTOLL 0 +#define HAVE_DECL_STRTOLL 1 /* Define to 1 if you have the declaration of `strtoul', and to 0 if you don't. */ -#define HAVE_DECL_STRTOUL 0 +#define HAVE_DECL_STRTOUL 1 /* Define to 1 if you have the declaration of `strtoull', and to 0 if you don't. */ -#define HAVE_DECL_STRTOULL 0 +#define HAVE_DECL_STRTOULL 1 /* Define to 1 if you have the declaration of `strverscmp', and to 0 if you don't. */ @@ -114,7 +114,7 @@ /* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you don't. */ -#define HAVE_DECL_VSNPRINTF 0 +#define HAVE_DECL_VSNPRINTF 1 /* Define to 1 if you have the `dup3' function. */ #define HAVE_DUP3 1 @@ -126,7 +126,7 @@ #define HAVE_FFS 1 /* Define to 1 if you have the `fork' function. */ -/* #undef HAVE_FORK */ +#define HAVE_FORK 1 /* Define to 1 if you have the `getcwd' function. */ #define HAVE_GETCWD 1 @@ -135,7 +135,7 @@ #define HAVE_GETPAGESIZE 1 /* Define to 1 if you have the `getrlimit' function. */ -/* #undef HAVE_GETRLIMIT */ +#define HAVE_GETRLIMIT 1 /* Define to 1 if you have the `getrusage' function. */ #define HAVE_GETRUSAGE 1 @@ -201,13
CVS commit: src/external/gpl3/gcc
Module Name:src Committed By: mrg Date: Wed Sep 9 08:22:05 UTC 2020 Modified Files: src/external/gpl3/gcc/lib/libstdc++-v3/arch/aarch64eb: c++config.h defs.mk gstdint.h symver-config.h src/external/gpl3/gcc/usr.bin/gcc/arch/aarch64eb: auto-host.h configargs.h src/external/gpl3/gcc/usr.bin/libcpp/arch/aarch64eb: config.h Log Message: regen gcc 9.3 / arm64eb for includes fixes. also fixes a bunch of configuration (like finding acosf() etc.) To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/gcc/lib/libstdc++-v3/arch/aarch64eb/c++config.h \ src/external/gpl3/gcc/lib/libstdc++-v3/arch/aarch64eb/defs.mk \ src/external/gpl3/gcc/lib/libstdc++-v3/arch/aarch64eb/gstdint.h \ src/external/gpl3/gcc/lib/libstdc++-v3/arch/aarch64eb/symver-config.h cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/gcc/usr.bin/gcc/arch/aarch64eb/auto-host.h \ src/external/gpl3/gcc/usr.bin/gcc/arch/aarch64eb/configargs.h cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/gcc/usr.bin/libcpp/arch/aarch64eb/config.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/lib/libstdc++-v3/arch/aarch64eb/c++config.h diff -u src/external/gpl3/gcc/lib/libstdc++-v3/arch/aarch64eb/c++config.h:1.2 src/external/gpl3/gcc/lib/libstdc++-v3/arch/aarch64eb/c++config.h:1.3 --- src/external/gpl3/gcc/lib/libstdc++-v3/arch/aarch64eb/c++config.h:1.2 Sun Sep 6 23:23:22 2020 +++ src/external/gpl3/gcc/lib/libstdc++-v3/arch/aarch64eb/c++config.h Wed Sep 9 08:22:04 2020 @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.109 2020/09/06 02:24:38 mrg Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.112 2020/09/09 07:12:04 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp */ // Predefined symbols and macros -*- C++ -*- @@ -700,10 +700,10 @@ namespace std /* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if you have the `acosf' function. */ -/* #undef _GLIBCXX_HAVE_ACOSF */ +#define _GLIBCXX_HAVE_ACOSF 1 /* Define to 1 if you have the `acosl' function. */ -/* #undef _GLIBCXX_HAVE_ACOSL */ +#define _GLIBCXX_HAVE_ACOSL 1 /* Define to 1 if you have the `aligned_alloc' function. */ #define _GLIBCXX_HAVE_ALIGNED_ALLOC 1 @@ -712,25 +712,25 @@ namespace std #define _GLIBCXX_HAVE_ARPA_INET_H 1 /* Define to 1 if you have the `asinf' function. */ -/* #undef _GLIBCXX_HAVE_ASINF */ +#define _GLIBCXX_HAVE_ASINF 1 /* Define to 1 if you have the `asinl' function. */ -/* #undef _GLIBCXX_HAVE_ASINL */ +#define _GLIBCXX_HAVE_ASINL 1 /* Define to 1 if the target assembler supports .symver directive. */ #define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 /* Define to 1 if you have the `atan2f' function. */ -/* #undef _GLIBCXX_HAVE_ATAN2F */ +#define _GLIBCXX_HAVE_ATAN2F 1 /* Define to 1 if you have the `atan2l' function. */ -/* #undef _GLIBCXX_HAVE_ATAN2L */ +#define _GLIBCXX_HAVE_ATAN2L 1 /* Define to 1 if you have the `atanf' function. */ -/* #undef _GLIBCXX_HAVE_ATANF */ +#define _GLIBCXX_HAVE_ATANF 1 /* Define to 1 if you have the `atanl' function. */ -/* #undef _GLIBCXX_HAVE_ATANL */ +#define _GLIBCXX_HAVE_ATANL 1 /* Defined if shared_ptr reference counting should use atomic operations. */ #define _GLIBCXX_HAVE_ATOMIC_LOCK_POLICY 1 @@ -742,25 +742,25 @@ namespace std /* #undef _GLIBCXX_HAVE_CC_TLS */ /* Define to 1 if you have the `ceilf' function. */ -/* #undef _GLIBCXX_HAVE_CEILF */ +#define _GLIBCXX_HAVE_CEILF 1 /* Define to 1 if you have the `ceill' function. */ -/* #undef _GLIBCXX_HAVE_CEILL */ +#define _GLIBCXX_HAVE_CEILL 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_COMPLEX_H 1 /* Define to 1 if you have the `cosf' function. */ -/* #undef _GLIBCXX_HAVE_COSF */ +#define _GLIBCXX_HAVE_COSF 1 /* Define to 1 if you have the `coshf' function. */ -/* #undef _GLIBCXX_HAVE_COSHF */ +#define _GLIBCXX_HAVE_COSHF 1 /* Define to 1 if you have the `coshl' function. */ -/* #undef _GLIBCXX_HAVE_COSHL */ +#define _GLIBCXX_HAVE_COSHL 1 /* Define to 1 if you have the `cosl' function. */ -/* #undef _GLIBCXX_HAVE_COSL */ +#define _GLIBCXX_HAVE_COSL 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_DIRENT_H 1 @@ -835,16 +835,16 @@ namespace std #define _GLIBCXX_HAVE_EXECINFO_H 1 /* Define to 1 if you have the `expf' function. */ -/* #undef _GLIBCXX_HAVE_EXPF */ +#define _GLIBCXX_HAVE_EXPF 1 /* Define to 1 if you have the `expl' function. */ -/* #undef _GLIBCXX_HAVE_EXPL */ +#define _GLIBCXX_HAVE_EXPL 1 /* Define to 1 if you have the `fabsf' function. */ -/* #undef _GLIBCXX_HAVE_FABSF */ +#define _GLIBCXX_HAVE_FABSF 1 /* Define to 1 if you have the `fabsl' function. */ -/* #undef _GLIBCXX_HAVE_FABSL */ +#define
CVS commit: src
Module Name:src Committed By: mrg Date: Wed Sep 9 07:23:47 UTC 2020 Modified Files: src/distrib/sets/lists/comp: mi src/external/gpl3/gcc/lib/libstdc++-v3/include: Makefile Makefile.inc Makefile.includes src/external/gpl3/gcc/lib/libstdc++-v3/include/backward: Makefile src/external/gpl3/gcc/lib/libstdc++-v3/include/bits: Makefile src/external/gpl3/gcc/lib/libstdc++-v3/include/debug: Makefile src/external/gpl3/gcc/lib/libstdc++-v3/include/decimal: Makefile src/external/gpl3/gcc/lib/libstdc++-v3/include/ext: Makefile src/external/gpl3/gcc/lib/libstdc++-v3/include/parallel: Makefile src/external/gpl3/gcc/lib/libstdc++-v3/include/pb: Makefile src/external/gpl3/gcc/lib/libstdc++-v3/include/profile: Makefile src/external/gpl3/gcc/lib/libstdc++-v3/include/pstl: Makefile src/external/gpl3/gcc/lib/libstdc++-v3/include/tr1: Makefile src/external/gpl3/gcc/lib/libstdc++-v3/include/tr1_impl: Makefile src/external/gpl3/gcc/lib/libstdc++-v3/include/tr2: Makefile Added Files: src/external/gpl3/gcc/lib/libstdc++-v3/include/profile/impl: Makefile Log Message: install new libstdc++ pstl headers. remove some dead makefile code and consolidate some of the header installation. To generate a diff of this commit: cvs rdiff -u -r1.2347 -r1.2348 src/distrib/sets/lists/comp/mi cvs rdiff -u -r1.10 -r1.11 \ src/external/gpl3/gcc/lib/libstdc++-v3/include/Makefile cvs rdiff -u -r1.4 -r1.5 \ src/external/gpl3/gcc/lib/libstdc++-v3/include/Makefile.inc cvs rdiff -u -r1.1 -r1.2 \ src/external/gpl3/gcc/lib/libstdc++-v3/include/Makefile.includes cvs rdiff -u -r1.6 -r1.7 \ src/external/gpl3/gcc/lib/libstdc++-v3/include/backward/Makefile cvs rdiff -u -r1.23 -r1.24 \ src/external/gpl3/gcc/lib/libstdc++-v3/include/bits/Makefile cvs rdiff -u -r1.6 -r1.7 \ src/external/gpl3/gcc/lib/libstdc++-v3/include/debug/Makefile cvs rdiff -u -r1.5 -r1.6 \ src/external/gpl3/gcc/lib/libstdc++-v3/include/decimal/Makefile cvs rdiff -u -r1.7 -r1.8 \ src/external/gpl3/gcc/lib/libstdc++-v3/include/ext/Makefile cvs rdiff -u -r1.5 -r1.6 \ src/external/gpl3/gcc/lib/libstdc++-v3/include/parallel/Makefile cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/gcc/lib/libstdc++-v3/include/pb/Makefile cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/gcc/lib/libstdc++-v3/include/profile/Makefile cvs rdiff -u -r0 -r1.1 \ src/external/gpl3/gcc/lib/libstdc++-v3/include/profile/impl/Makefile cvs rdiff -u -r1.1 -r1.2 \ src/external/gpl3/gcc/lib/libstdc++-v3/include/pstl/Makefile cvs rdiff -u -r1.6 -r1.7 \ src/external/gpl3/gcc/lib/libstdc++-v3/include/tr1/Makefile cvs rdiff -u -r1.5 -r1.6 \ src/external/gpl3/gcc/lib/libstdc++-v3/include/tr1_impl/Makefile cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/gcc/lib/libstdc++-v3/include/tr2/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/sets/lists/comp/mi diff -u src/distrib/sets/lists/comp/mi:1.2347 src/distrib/sets/lists/comp/mi:1.2348 --- src/distrib/sets/lists/comp/mi:1.2347 Sun Sep 6 10:54:26 2020 +++ src/distrib/sets/lists/comp/mi Wed Sep 9 07:23:45 2020 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.2347 2020/09/06 10:54:26 mrg Exp $ +# $NetBSD: mi,v 1.2348 2020/09/09 07:23:45 mrg Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. ./etc/mtree/set.compcomp-sys-root @@ -1822,6 +1822,27 @@ ./usr/include/g++/profile/unordered_set comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/profile/vector comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/projectn.h comp-obsolete obsolete +./usr/include/g++/pstl/algorithm_impl.h comp-cxx-include gcc=9,cxx,libstdcxx +./usr/include/g++/pstl/algorithm_fwd.h comp-cxx-include gcc=9,cxx,libstdcxx +./usr/include/g++/pstl/glue_algorithm_defs.h comp-cxx-include gcc=9,cxx,libstdcxx +./usr/include/g++/pstl/execution_defs.h comp-cxx-include gcc=9,cxx,libstdcxx +./usr/include/g++/pstl/execution_impl.h comp-cxx-include gcc=9,cxx,libstdcxx +./usr/include/g++/pstl/numeric_impl.h comp-cxx-include gcc=9,cxx,libstdcxx +./usr/include/g++/pstl/glue_algorithm_impl.h comp-cxx-include gcc=9,cxx,libstdcxx +./usr/include/g++/pstl/glue_memory_defs.h comp-cxx-include gcc=9,cxx,libstdcxx +./usr/include/g++/pstl/glue_execution_defs.h comp-cxx-include gcc=9,cxx,libstdcxx +./usr/include/g++/pstl/glue_memory_impl.h comp-cxx-include gcc=9,cxx,libstdcxx +./usr/include/g++/pstl/glue_numeric_defs.h comp-cxx-include gcc=9,cxx,libstdcxx +./usr/include/g++/pstl/glue_numeric_impl.h comp-cxx-include gcc=9,cxx,libstdcxx +./usr/include/g++/pstl/memory_impl.h comp-cxx-include gcc=9,cxx,libstdcxx +./usr/include/g++/pstl/numeric_fwd.h comp-cxx-include gcc=9,cxx,libstdcxx +./usr/include/g++/pstl/parallel_backend_utils.h comp-cxx-include gcc=9,cxx,libstdcxx
CVS commit: src/tools/gcc
Module Name:src Committed By: mrg Date: Wed Sep 9 07:12:04 UTC 2020 Modified Files: src/tools/gcc: mknative-gcc Log Message: more consolidation and properly condition all variables like previously. To generate a diff of this commit: cvs rdiff -u -r1.111 -r1.112 src/tools/gcc/mknative-gcc Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tools/gcc/mknative-gcc diff -u src/tools/gcc/mknative-gcc:1.111 src/tools/gcc/mknative-gcc:1.112 --- src/tools/gcc/mknative-gcc:1.111 Wed Sep 9 04:52:32 2020 +++ src/tools/gcc/mknative-gcc Wed Sep 9 07:12:04 2020 @@ -1,5 +1,5 @@ #!/bin/sh -# $NetBSD: mknative-gcc,v 1.111 2020/09/09 04:52:32 mrg Exp $ +# $NetBSD: mknative-gcc,v 1.112 2020/09/09 07:12:04 mrg Exp $ # # Shell script for generating all the constants needed for a native # platform build of gcc. @@ -226,14 +226,16 @@ get_libstdcxx_v3 () { mkdir -p $_OUTDIR/lib/$_subdir/arch/$_MACHINE_ARCH _build_headers="c++config.h cxxabi_tweaks.h" - _headers1="backward_headers c_base_headers_extra c_base_headers_extra_install" - _headers1="$_headers1 tr1_headers tr2_headers decimal_headers c_compatibility_headers_install" + _headers1="backward_headers c_base_headers_extra" + _headers1="$_headers1 c_base_headers_extra_install" + _headers1="$_headers1 tr1_headers tr2_headers" + _headers1="$_headers1 decimal_headers c_compatibility_headers_install" _headers1="$_headers1 debug_headers parallel_headers" _headers1="$_headers1 pb_headers1 pb_headers2 pb_headers3 pb_headers4" _headers1="$_headers1 pb_headers5 pb_headers6 pb_headers7" - # These subdirs get the subdir removed from the values. - _headers2="bits_headers ext_headers host_headers thread_host_headers pstl_headers" - _headers2="$_headers2 profile_headers profile_impl_headers" + _headers1="$_headers1 bits_headers ext_headers host_headers" + _headers1="$_headers1 thread_host_headers pstl_headers" + _headers1="$_headers1 profile_headers profile_impl_headers" # build files for h in $_build_headers; do @@ -289,10 +291,8 @@ get_libstdcxx_v3 () { # includes getvars $_PLATFORM/libstdc++-v3/include/Makefile \ $_headers1 | \ -sed -e 's#\${GNUHOSTDIST}/libstdc++-v3/include/##g' - getvars $_PLATFORM/libstdc++-v3/include/Makefile \ - $_headers2 | \ -sed -e 's#\${GNUHOSTDIST}/libstdc++-v3/[^/][^/]*/##g' +sed -e 's#\${GNUHOSTDIST}/libstdc++-v3/include/##g' \ +-e 's#\${GNUHOSTDIST}/libstdc++-v3/config/##g' getvars $_PLATFORM/libstdc++-v3/include/Makefile \ BASIC_FILE_H ALLOCATOR_H CSTDIO_H CLOCALE_H CMESSAGES_H CTIME_H } | sanitise_includes \
CVS commit: src
Module Name:src Committed By: mrg Date: Wed Sep 9 06:50:33 UTC 2020 Modified Files: src/distrib/sets/lists/base: mi src/etc/mtree: NetBSD.dist.base Log Message: add new /usr/include/g++/pstl for GCC 9. To generate a diff of this commit: cvs rdiff -u -r1.1260 -r1.1261 src/distrib/sets/lists/base/mi cvs rdiff -u -r1.223 -r1.224 src/etc/mtree/NetBSD.dist.base Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/sets/lists/base/mi diff -u src/distrib/sets/lists/base/mi:1.1260 src/distrib/sets/lists/base/mi:1.1261 --- src/distrib/sets/lists/base/mi:1.1260 Sun Sep 6 10:54:26 2020 +++ src/distrib/sets/lists/base/mi Wed Sep 9 06:50:33 2020 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.1260 2020/09/06 10:54:26 mrg Exp $ +# $NetBSD: mi,v 1.1261 2020/09/09 06:50:33 mrg Exp $ # # Note: Don't delete entries from here - mark them as "obsolete" instead, # unless otherwise stated below. @@ -1223,6 +1223,7 @@ ./usr/include/g++/parallel base-cxx-usr ./usr/include/g++/profile base-cxx-usr ./usr/include/g++/profile/impl base-cxx-usr +./usr/include/g++/pstlbase-cxx-usr ./usr/include/g++/stdbase-obsolete obsolete ./usr/include/g++/tr1base-cxx-usr ./usr/include/g++/tr1_impl base-cxx-usr Index: src/etc/mtree/NetBSD.dist.base diff -u src/etc/mtree/NetBSD.dist.base:1.223 src/etc/mtree/NetBSD.dist.base:1.224 --- src/etc/mtree/NetBSD.dist.base:1.223 Sun Sep 6 10:59:51 2020 +++ src/etc/mtree/NetBSD.dist.base Wed Sep 9 06:50:33 2020 @@ -1,4 +1,4 @@ -# $NetBSD: NetBSD.dist.base,v 1.223 2020/09/06 10:59:51 mrg Exp $ +# $NetBSD: NetBSD.dist.base,v 1.224 2020/09/09 06:50:33 mrg Exp $ # @(#)4.4BSD.dist 8.1 (Berkeley) 6/13/93 # Do not customize this file as it may be overwritten on upgrades. @@ -196,6 +196,7 @@ ./usr/include/g++/parallel ./usr/include/g++/profile ./usr/include/g++/profile/impl +./usr/include/g++/pstl ./usr/include/g++/tr1 ./usr/include/g++/tr1_impl ./usr/include/g++/tr2