svn commit: r354990 - head/sys/powerpc/powerpc
Author: jhibbits Date: Fri Nov 22 04:34:46 2019 New Revision: 354990 URL: https://svnweb.freebsd.org/changeset/base/354990 Log: powerpc/ptrace: Give ptrace(2) access to SPE registers when available SPE registers are already exported in core dumps with the VMX note, so use the same interface for live access. Instead of simply guarding out in #ifndef __SPE__ the cpu_feature check, I chose to keep the check and check against PPC_FEATURE_SPE, on the off-chance someone decides to run a SPE kernel on a non-SPE device (which is possible, though highly unlikely, and would be no different from running a MPC85XX kernel in that instance). Modified: head/sys/powerpc/powerpc/ptrace_machdep.c Modified: head/sys/powerpc/powerpc/ptrace_machdep.c == --- head/sys/powerpc/powerpc/ptrace_machdep.c Fri Nov 22 00:22:55 2019 (r354989) +++ head/sys/powerpc/powerpc/ptrace_machdep.c Fri Nov 22 04:34:46 2019 (r354990) @@ -40,6 +40,12 @@ __FBSDID("$FreeBSD$"); #include #include +#ifdef __SPE__ +#definePPC_FEATURE_VECTOR PPC_FEATURE_HAS_SPE +#else +#definePPC_FEATURE_VECTOR PPC_FEATURE_HAS_ALTIVEC +#endif + int cpu_ptrace(struct thread *td, int req, void *addr, int data) { @@ -58,7 +64,7 @@ cpu_ptrace(struct thread *td, int req, void *addr, int error = EINVAL; switch (req) { case PT_GETVRREGS: - if (!(cpu_features & PPC_FEATURE_HAS_ALTIVEC)) + if (!(cpu_features & PPC_FEATURE_VECTOR)) break; if (pcb->pcb_flags & PCB_VEC) { @@ -68,7 +74,7 @@ cpu_ptrace(struct thread *td, int req, void *addr, int error = copyout(, addr, sizeof(vec)); break; case PT_SETVRREGS: - if (!(cpu_features & PPC_FEATURE_HAS_ALTIVEC)) + if (!(cpu_features & PPC_FEATURE_VECTOR)) break; error = copyin(addr, , sizeof(vec)); if (error == 0) { ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r354909 - in head: . share/mk
On Thu, Nov 21, 2019 at 09:11:27PM +, Brooks Davis wrote: > On Thu, Nov 21, 2019 at 04:13:37PM +, Glen Barber wrote: > > On Wed, Nov 20, 2019 at 06:36:58PM +, Brooks Davis wrote: > > > Author: brooks > > > Date: Wed Nov 20 18:36:58 2019 > > > New Revision: 354909 > > > URL: https://svnweb.freebsd.org/changeset/base/354909 > > > > > > Log: > > > Make the warning for deprecated NO_ variables an error. > > > > > > Support for NO_CTF, NO_DEBUG_FILES, NO_INSTALLLIB, NO_MAN, NO_PROFILE, > > > and NO_WARNS as deprecated in 2014 with a warning added for each one > > > found. Turn these into error in preperation for removal of compatability > > > support before FreeBSD 13. > > > > > > Reviewed by:imp > > > Relnotes: yes > > > Sponsored by: DARPA, AFRL > > > Differential Revision: https://reviews.freebsd.org/D22448 > > > > > > > > Modified: head/share/mk/bsd.opts.mk > > > == > > > --- head/share/mk/bsd.opts.mk Wed Nov 20 18:12:01 2019 > > > (r354908) > > > +++ head/share/mk/bsd.opts.mk Wed Nov 20 18:36:58 2019 > > > (r354909) > > > @@ -100,7 +100,7 @@ __DEFAULT_DEPENDENT_OPTIONS = \ > > > PROFILE \ > > > WARNS > > > .if defined(NO_${var}) > > > -.warning "NO_${var} is defined, but deprecated. Please use MK_${var}=no > > > instead." > > > +.error "NO_${var} is defined, but deprecated. Please use MK_${var}=no > > > instead." > > > MK_${var}:=no > > > .endif > > > .endfor > > > > > > > Had this been exp-run tested? This breaks at least the > > net/bsdec2-image-upload port, which does *not* set NO_MAN explicitly in > > its Makefile. I suspect at least several other ports are now implicitly > > broken as result of this change. > > No, it wasn't. I didn't realize it was needed. I could revert if > there's significant fallout. I've patched net/bsdec2-image-upload and > I'm testing a patch for emulators/open-vm-tools. > > In general the issue is people putting NO_MAN= in Makefiles that > the freebsd build infrastructure and then never looking at build > output. In some cases it's clearly blind copy-and-paste (e.g. > emulators/open-vm-tools sets NO_MAN and NOMAN in a kmod Makefile where > they do nothing). > > Ideally I'd like to suppress these errors in ports unless DEVELOPER is > defined, but I'm not sure how best to do that. > Have you seen the email from antoine in reply to your commit to the net/bsdec2-image-upload commit? Glen signature.asc Description: PGP signature
Re: svn commit: r354977 - in head: share/man/man3 sys/sys tests/sys/sys
On Fri, 2019-11-22 at 02:34 +0200, Konstantin Belousov wrote: > On Fri, Nov 22, 2019 at 12:25:00AM +, Keller, Jacob E wrote: > > On Fri, 2019-11-22 at 02:22 +0200, Konstantin Belousov wrote: > > > On Thu, Nov 21, 2019 at 09:52:54PM +, Keller, Jacob E wrote: > > > > We use a bit string as a method of determining which index > > > > numbers > > > > have > > > > been assigned. > > > For unit numbers we have unr(9) as well. > > > > Does unr have support for allocating contiguous sequences of unit > > numbers? > > No, it does not. Although the data structure is optimized to track > contiguous runs, there is currently no API to allocate the chunk of > desired > length. Hmm. Might make more sense to extend the API to allow requesting chunks of desired length, and then use that. Thanks, Jake ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r354977 - in head: share/man/man3 sys/sys tests/sys/sys
On Fri, Nov 22, 2019 at 12:25:00AM +, Keller, Jacob E wrote: > On Fri, 2019-11-22 at 02:22 +0200, Konstantin Belousov wrote: > > On Thu, Nov 21, 2019 at 09:52:54PM +, Keller, Jacob E wrote: > > > We use a bit string as a method of determining which index numbers > > > have > > > been assigned. > > For unit numbers we have unr(9) as well. > > Does unr have support for allocating contiguous sequences of unit > numbers? No, it does not. Although the data structure is optimized to track contiguous runs, there is currently no API to allocate the chunk of desired length. ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r354977 - in head: share/man/man3 sys/sys tests/sys/sys
On Fri, 2019-11-22 at 02:22 +0200, Konstantin Belousov wrote: > On Thu, Nov 21, 2019 at 09:52:54PM +, Keller, Jacob E wrote: > > We use a bit string as a method of determining which index numbers > > have > > been assigned. > For unit numbers we have unr(9) as well. Does unr have support for allocating contiguous sequences of unit numbers? Thanks, Jake ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354989 - in head/sys/fs: nfs nfsserver
Author: rmacklem Date: Fri Nov 22 00:22:55 2019 New Revision: 354989 URL: https://svnweb.freebsd.org/changeset/base/354989 Log: Fix the pNFS server's reporting of SpaceUsed (va_bytes). The pNFS server currently reports SpaceUsed (va_bytes) for the metadata file. This in not correct, since the metadata file is always empty and, as such, va_bytes is just the allocation for the empty file. This patch adds va_bytes to the list of attributes acquired from the DS for a file, so that it includes the allocated data size and is updated when the file is written. For files created on a pNFS server before this patch is applied, the va_bytes value is estimated by rounding va_size up to a multiple of BLKDEV_IOSIZE. Once the file is written after this patch has been applied to the metadata server, the va_bytes returned for the file will be correct. This patch only affects a pNFS metadata server. Found during testing of the NFSv4.2 pNFS server for the Allocate operation. (Not yet in head/current.) MFC after:2 weeks Modified: head/sys/fs/nfs/nfsrvstate.h head/sys/fs/nfsserver/nfs_nfsdport.c Modified: head/sys/fs/nfs/nfsrvstate.h == --- head/sys/fs/nfs/nfsrvstate.hThu Nov 21 23:55:43 2019 (r354988) +++ head/sys/fs/nfs/nfsrvstate.hFri Nov 22 00:22:55 2019 (r354989) @@ -355,14 +355,24 @@ struct nfsdevice { }; /* - * This structure holds the va_size, va_filerev, va_atime and va_mtime for the - * DS file and is stored in the metadata file's extended attribute pnfsd.dsattr. + * This structure holds the va_size, va_filerev, va_atime, va_mtime and + * va_bytes for the DS file and is stored in the metadata file's extended + * attribute pnfsd.dsattr. + * opnfsdsattr was missing the va_bytes field and, as such, it was updated. */ +struct opnfsdsattr { + uint64_tdsa_filerev; + uint64_tdsa_size; + struct timespec dsa_atime; + struct timespec dsa_mtime; +}; + struct pnfsdsattr { uint64_tdsa_filerev; uint64_tdsa_size; struct timespec dsa_atime; struct timespec dsa_mtime; + uint64_tdsa_bytes; }; /* Modified: head/sys/fs/nfsserver/nfs_nfsdport.c == --- head/sys/fs/nfsserver/nfs_nfsdport.cThu Nov 21 23:55:43 2019 (r354988) +++ head/sys/fs/nfsserver/nfs_nfsdport.cFri Nov 22 00:22:55 2019 (r354989) @@ -277,7 +277,8 @@ nfsvno_getattr(struct vnode *vp, struct nfsvattr *nvap } /* -* Acquire the Change, Size and TimeModify attributes, as required. +* Acquire the Change, Size, TimeAccess, TimeModify and SpaceUsed +* attributes, as required. * This needs to be done for regular files if: * - non-NFSv4 RPCs or * - when attrbitp == NULL or @@ -292,7 +293,8 @@ nfsvno_getattr(struct vnode *vp, struct nfsvattr *nvap NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_CHANGE) || NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_SIZE) || NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_TIMEACCESS) || - NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_TIMEMODIFY))) { + NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_TIMEMODIFY) || + NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_SPACEUSED))) { error = nfsrv_proxyds(vp, 0, 0, nd->nd_cred, p, NFSPROC_GETATTR, NULL, NULL, NULL, , NULL); if (error == 0) @@ -312,6 +314,7 @@ nfsvno_getattr(struct vnode *vp, struct nfsvattr *nvap nvap->na_mtime = na.na_mtime; nvap->na_filerev = na.na_filerev; nvap->na_size = na.na_size; + nvap->na_bytes = na.na_bytes; } NFSD_DEBUG(4, "nfsvno_getattr: gotattr=%d err=%d chg=%ju\n", gotattr, error, (uintmax_t)na.na_filerev); @@ -3881,6 +3884,7 @@ nfsrv_dscreate(struct vnode *dvp, struct vattr *vap, s dsa->dsa_size = va.va_size; dsa->dsa_atime = va.va_atime; dsa->dsa_mtime = va.va_mtime; + dsa->dsa_bytes = va.va_bytes; } } if (error == 0) { @@ -4405,6 +4409,7 @@ nfsrv_proxyds(struct vnode *vp, off_t off, int cnt, st struct vnode *dvp[NFSDEV_MAXMIRRORS]; struct nfsdevice *ds; struct pnfsdsattr dsattr; + struct opnfsdsattr odsattr; char *buf; int buflen, error, failpos, i, mirrorcnt, origmircnt, trycnt; @@ -4429,15 +4434,31 @@ nfsrv_proxyds(struct vnode *vp, off_t off, int cnt, st error = vn_extattr_get(vp, IO_NODELOCKED, EXTATTR_NAMESPACE_SYSTEM, "pnfsd.dsattr", , buf,
Re: svn commit: r354977 - in head: share/man/man3 sys/sys tests/sys/sys
On Thu, Nov 21, 2019 at 09:52:54PM +, Keller, Jacob E wrote: > We use a bit string as a method of determining which index numbers have > been assigned. For unit numbers we have unr(9) as well. ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354988 - head/sys/kern
Author: glebius Date: Thu Nov 21 23:55:43 2019 New Revision: 354988 URL: https://svnweb.freebsd.org/changeset/base/354988 Log: cc_ktr_event_name is used only with KTR Modified: head/sys/kern/kern_timeout.c Modified: head/sys/kern/kern_timeout.c == --- head/sys/kern/kern_timeout.cThu Nov 21 23:55:19 2019 (r354987) +++ head/sys/kern/kern_timeout.cThu Nov 21 23:55:43 2019 (r354988) @@ -175,7 +175,9 @@ struct callout_cpu { void*cc_cookie; u_int cc_bucket; u_int cc_inited; +#ifdef KTR charcc_ktr_event_name[20]; +#endif }; #definecallout_migrating(c)((c)->c_iflags & CALLOUT_DFRMIGRATION) @@ -335,8 +337,10 @@ callout_cpu_init(struct callout_cpu *cc, int cpu) cc->cc_firstevent = SBT_MAX; for (i = 0; i < 2; i++) cc_cce_cleanup(cc, i); +#ifdef KTR snprintf(cc->cc_ktr_event_name, sizeof(cc->cc_ktr_event_name), "callwheel cpu %d", cpu); +#endif if (cc->cc_callout == NULL) /* Only BSP handles timeout(9) */ return; for (i = 0; i < ncallout; i++) { ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354987 - head/sys/sys
Author: glebius Date: Thu Nov 21 23:55:19 2019 New Revision: 354987 URL: https://svnweb.freebsd.org/changeset/base/354987 Log: Delete ih_thread. Should have gone in r334170. Modified: head/sys/sys/interrupt.h Modified: head/sys/sys/interrupt.h == --- head/sys/sys/interrupt.hThu Nov 21 21:59:35 2019(r354986) +++ head/sys/sys/interrupt.hThu Nov 21 23:55:19 2019(r354987) @@ -55,7 +55,6 @@ struct intr_handler { int ih_need; /* Needs service. */ CK_SLIST_ENTRY(intr_handler) ih_next; /* Next handler for this event. */ u_char ih_pri;/* Priority of this handler. */ - struct intr_thread *ih_thread; /* Ithread for filtered handler. */ }; /* Interrupt handle flags kept in ih_flags */ ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354986 - in head/sys: kern sys
Author: mav Date: Thu Nov 21 21:59:35 2019 New Revision: 354986 URL: https://svnweb.freebsd.org/changeset/base/354986 Log: Add variant of root_mount_hold() without allocation. It allows to use this KPI in non-sleepable contexts. MFC after:2 weeks Sponsored by: iXsystems, Inc. Modified: head/sys/kern/vfs_mountroot.c head/sys/sys/systm.h Modified: head/sys/kern/vfs_mountroot.c == --- head/sys/kern/vfs_mountroot.c Thu Nov 21 20:36:46 2019 (r354985) +++ head/sys/kern/vfs_mountroot.c Thu Nov 21 21:59:35 2019 (r354986) @@ -111,14 +111,9 @@ char *rootdevnames[2] = {NULL, NULL}; struct mtx root_holds_mtx; MTX_SYSINIT(root_holds, _holds_mtx, "root_holds", MTX_DEF); -struct root_hold_token { - const char *who; - LIST_ENTRY(root_hold_token) list; -}; +static TAILQ_HEAD(, root_hold_token) root_holds = +TAILQ_HEAD_INITIALIZER(root_holds); -static LIST_HEAD(, root_hold_token)root_holds = -LIST_HEAD_INITIALIZER(root_holds); - enum action { A_CONTINUE, A_PANIC, @@ -126,6 +121,12 @@ enum action { A_RETRY }; +enum rh_flags { + RH_FREE, + RH_ALLOC, + RH_ARG, +}; + static enum action root_mount_onfail = A_CONTINUE; static int root_mount_mddev; @@ -155,8 +156,8 @@ sysctl_vfs_root_mount_hold(SYSCTL_HANDLER_ARGS) sbuf_new(, NULL, 256, SBUF_AUTOEXTEND | SBUF_INCLUDENUL); mtx_lock(_holds_mtx); - LIST_FOREACH(h, _holds, list) { - if (h != LIST_FIRST(_holds)) + TAILQ_FOREACH(h, _holds, list) { + if (h != TAILQ_FIRST(_holds)) sbuf_putc(, ' '); sbuf_printf(, "%s", h->who); } @@ -175,27 +176,54 @@ root_mount_hold(const char *identifier) struct root_hold_token *h; h = malloc(sizeof *h, M_DEVBUF, M_ZERO | M_WAITOK); + h->flags = RH_ALLOC; h->who = identifier; mtx_lock(_holds_mtx); TSHOLD("root mount"); - LIST_INSERT_HEAD(_holds, h, list); + TAILQ_INSERT_TAIL(_holds, h, list); mtx_unlock(_holds_mtx); return (h); } void +root_mount_hold_token(const char *identifier, struct root_hold_token *h) +{ +#ifdef INVARIANTS + struct root_hold_token *t; +#endif + + h->flags = RH_ARG; + h->who = identifier; + mtx_lock(_holds_mtx); +#ifdef INVARIANTS + TAILQ_FOREACH(t, _holds, list) { + if (t == h) { + panic("Duplicate mount hold by '%s' on %p", + identifier, h); + } + } +#endif + TSHOLD("root mount"); + TAILQ_INSERT_TAIL(_holds, h, list); + mtx_unlock(_holds_mtx); +} + +void root_mount_rel(struct root_hold_token *h) { - if (h == NULL) + if (h == NULL || h->flags == RH_FREE) return; mtx_lock(_holds_mtx); - LIST_REMOVE(h, list); + TAILQ_REMOVE(_holds, h, list); TSRELEASE("root mount"); wakeup(_holds); mtx_unlock(_holds_mtx); - free(h, M_DEVBUF); + if (h->flags == RH_ALLOC) { + free(h, M_DEVBUF); + } else + h->flags = RH_FREE; } int @@ -964,13 +992,13 @@ vfs_mountroot_wait(void) while (1) { g_waitidle(); mtx_lock(_holds_mtx); - if (LIST_EMPTY(_holds)) { + if (TAILQ_EMPTY(_holds)) { mtx_unlock(_holds_mtx); break; } if (ppsratecheck(, , 1)) { printf("Root mount waiting for:"); - LIST_FOREACH(h, _holds, list) + TAILQ_FOREACH(h, _holds, list) printf(" %s", h->who); printf("\n"); } Modified: head/sys/sys/systm.h == --- head/sys/sys/systm.hThu Nov 21 20:36:46 2019(r354985) +++ head/sys/sys/systm.hThu Nov 21 21:59:35 2019(r354986) @@ -536,9 +536,14 @@ int poll_no_poll(int events); void DELAY(int usec); /* Root mount holdback API */ -struct root_hold_token; +struct root_hold_token { + int flags; + const char *who; + TAILQ_ENTRY(root_hold_token)list; +}; struct root_hold_token *root_mount_hold(const char *identifier); +void root_mount_hold_token(const char *identifier, struct root_hold_token *h); void root_mount_rel(struct root_hold_token *h); int root_mounted(void); ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r354977 - in head: share/man/man3 sys/sys tests/sys/sys
On Thu, 2019-11-21 at 13:34 -0800, Eric Joyner wrote: > On Thu, Nov 21, 2019 at 12:07 PM Conrad Meyer > wrote: > > Hi Eric, > > > > On Thu, Nov 21, 2019 at 11:58 AM Eric Joyner > > wrote: > > > > > > Author: erj > > > Date: Thu Nov 21 19:57:56 2019 > > > New Revision: 354977 > > > URL: https://svnweb.freebsd.org/changeset/base/354977 > > > > > > Log: > > > bitstring: add functions to find contiguous set/unset bit > > sequences > > > > > > Add bit_ffs_area_at and bit_ffc_area_at functions for searching > > a bit > > > string for a sequence of contiguous set or unset bits of at > > least the > > > specified size. > > > > > > The bit_ffc_area function will be used by the Intel ice driver > > for > > > implementing resource assignment logic using a bitstring to > > represent > > > whether or not a given index has been assigned or is currently > > free. > > > > I don't know what the ice driver is/does, so apologies if this is > > nonsensical. Would it make more sense to use vmem(9) for this > > purpose? It's a general-purpose resource allocator and can scale > > well > > with large numbers of resources / CPUs. > > > > Best, > > Conrad > Eric already added the review link for the ice driver, which we recently published. I'm currently going through review comments and preeparing an update. We use a bit string as a method of determining which index numbers have been assigned. > +Jake > > Hi Conrad, > > It doesn't seem nonsensical; this seems like it would vaguely be an > ok fit. But one issue > I find after looking at it is that it doesn't support the "scattered" > allocations that we need; for some types of > hardware queues we need to be able to group together multiple non- > sequential allocations into one single block, > and it doesn't look like we could do that without having to add > another layer on top of vmem. > I don't know much about vmem.. it might be suitable for our purposes, but it does sound like a bit overkill for what we do. I'll try to do a review of the vmem interfaces to see if it makes sense. > As well, it looks like it's kind of overbuilt for what we need; we > only need a few operations. It also seems to import > a bunch of stuff in its headers, which might complicate using it in > our unit test code. > > If you want to look at the current structure we use, you can look at > the ice_pf_qmgr.[ch] files in this Phabricator > review that introduces ice(4) to the kernel: > https://reviews.freebsd.org/D21959. > > - Eric Yes, we'd definitely appreciate review of the ice device driver code. Thanks, Jake ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r354977 - in head: share/man/man3 sys/sys tests/sys/sys
On Thu, Nov 21, 2019 at 12:07 PM Conrad Meyer wrote: > Hi Eric, > > On Thu, Nov 21, 2019 at 11:58 AM Eric Joyner wrote: > > > > Author: erj > > Date: Thu Nov 21 19:57:56 2019 > > New Revision: 354977 > > URL: https://svnweb.freebsd.org/changeset/base/354977 > > > > Log: > > bitstring: add functions to find contiguous set/unset bit sequences > > > > Add bit_ffs_area_at and bit_ffc_area_at functions for searching a bit > > string for a sequence of contiguous set or unset bits of at least the > > specified size. > > > > The bit_ffc_area function will be used by the Intel ice driver for > > implementing resource assignment logic using a bitstring to represent > > whether or not a given index has been assigned or is currently free. > > I don't know what the ice driver is/does, so apologies if this is > nonsensical. Would it make more sense to use vmem(9) for this > purpose? It's a general-purpose resource allocator and can scale well > with large numbers of resources / CPUs. > > Best, > Conrad > +Jake Hi Conrad, It doesn't seem nonsensical; this seems like it would vaguely be an ok fit. But one issue I find after looking at it is that it doesn't support the "scattered" allocations that we need; for some types of hardware queues we need to be able to group together multiple non-sequential allocations into one single block, and it doesn't look like we could do that without having to add another layer on top of vmem. As well, it looks like it's kind of overbuilt for what we need; we only need a few operations. It also seems to import a bunch of stuff in its headers, which might complicate using it in our unit test code. If you want to look at the current structure we use, you can look at the ice_pf_qmgr.[ch] files in this Phabricator review that introduces ice(4) to the kernel: https://reviews.freebsd.org/D21959. - Eric ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r354909 - in head: . share/mk
On Thu, Nov 21, 2019 at 04:13:37PM +, Glen Barber wrote: > On Wed, Nov 20, 2019 at 06:36:58PM +, Brooks Davis wrote: > > Author: brooks > > Date: Wed Nov 20 18:36:58 2019 > > New Revision: 354909 > > URL: https://svnweb.freebsd.org/changeset/base/354909 > > > > Log: > > Make the warning for deprecated NO_ variables an error. > > > > Support for NO_CTF, NO_DEBUG_FILES, NO_INSTALLLIB, NO_MAN, NO_PROFILE, > > and NO_WARNS as deprecated in 2014 with a warning added for each one > > found. Turn these into error in preperation for removal of compatability > > support before FreeBSD 13. > > > > Reviewed by: imp > > Relnotes: yes > > Sponsored by: DARPA, AFRL > > Differential Revision:https://reviews.freebsd.org/D22448 > > > > > Modified: head/share/mk/bsd.opts.mk > > == > > --- head/share/mk/bsd.opts.mk Wed Nov 20 18:12:01 2019 > > (r354908) > > +++ head/share/mk/bsd.opts.mk Wed Nov 20 18:36:58 2019 > > (r354909) > > @@ -100,7 +100,7 @@ __DEFAULT_DEPENDENT_OPTIONS = \ > > PROFILE \ > > WARNS > > .if defined(NO_${var}) > > -.warning "NO_${var} is defined, but deprecated. Please use MK_${var}=no > > instead." > > +.error "NO_${var} is defined, but deprecated. Please use MK_${var}=no > > instead." > > MK_${var}:=no > > .endif > > .endfor > > > > Had this been exp-run tested? This breaks at least the > net/bsdec2-image-upload port, which does *not* set NO_MAN explicitly in > its Makefile. I suspect at least several other ports are now implicitly > broken as result of this change. No, it wasn't. I didn't realize it was needed. I could revert if there's significant fallout. I've patched net/bsdec2-image-upload and I'm testing a patch for emulators/open-vm-tools. In general the issue is people putting NO_MAN= in Makefiles that the freebsd build infrastructure and then never looking at build output. In some cases it's clearly blind copy-and-paste (e.g. emulators/open-vm-tools sets NO_MAN and NOMAN in a kmod Makefile where they do nothing). Ideally I'd like to suppress these errors in ports unless DEVELOPER is defined, but I'm not sure how best to do that. -- Brooks signature.asc Description: PGP signature
svn commit: r354985 - head/contrib/llvm/tools/clang/lib/Basic/Targets
Author: dim Date: Thu Nov 21 20:36:46 2019 New Revision: 354985 URL: https://svnweb.freebsd.org/changeset/base/354985 Log: Merge commit a751f557d from llvm git (by Simon Atanasyan): [mips] Set macros for Octeon+ CPU This is one of the upstream changes needed for adding support for the OCTEON+ CPU type, so that we can test Clang builds using the most commonly available FreeBSD/mips64 reference platform, the Edge Router Lite. Requested by: kevans MFC after:1 month X-MFC-With: r353358 Modified: head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cpp Modified: head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cpp == --- head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cppThu Nov 21 20:35:53 2019(r354984) +++ head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cppThu Nov 21 20:36:46 2019(r354985) @@ -62,7 +62,7 @@ void MipsTargetInfo::fillValidCPUList( unsigned MipsTargetInfo::getISARev() const { return llvm::StringSwitch(getCPU()) .Cases("mips32", "mips64", 1) - .Cases("mips32r2", "mips64r2", "octeon", 2) + .Cases("mips32r2", "mips64r2", "octeon", "octeon+", 2) .Cases("mips32r3", "mips64r3", 3) .Cases("mips32r5", "mips64r5", 5) .Cases("mips32r6", "mips64r6", 6) @@ -188,7 +188,10 @@ void MipsTargetInfo::getTargetDefines(const LangOption Builder.defineMacro("_MIPS_SZLONG", Twine(getLongWidth())); Builder.defineMacro("_MIPS_ARCH", "\"" + CPU + "\""); - Builder.defineMacro("_MIPS_ARCH_" + StringRef(CPU).upper()); + if (CPU == "octeon+") +Builder.defineMacro("_MIPS_ARCH_OCTEONP"); + else +Builder.defineMacro("_MIPS_ARCH_" + StringRef(CPU).upper()); if (StringRef(CPU).startswith("octeon")) Builder.defineMacro("__OCTEON__"); ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354984 - head/contrib/llvm/tools/clang/lib/Basic/Targets
Author: dim Date: Thu Nov 21 20:35:53 2019 New Revision: 354984 URL: https://svnweb.freebsd.org/changeset/base/354984 Log: Merge commit 0d14656b9 from llvm git (by Simon Atanasyan): [mips] Set __OCTEON__ macros This is one of the upstream changes needed for adding support for the OCTEON+ CPU type, so that we can test Clang builds using the most commonly available FreeBSD/mips64 reference platform, the Edge Router Lite. Requested by: kevans MFC after:1 month X-MFC-With: r353358 Modified: head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cpp Modified: head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cpp == --- head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cppThu Nov 21 20:32:34 2019(r354983) +++ head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cppThu Nov 21 20:35:53 2019(r354984) @@ -190,6 +190,9 @@ void MipsTargetInfo::getTargetDefines(const LangOption Builder.defineMacro("_MIPS_ARCH", "\"" + CPU + "\""); Builder.defineMacro("_MIPS_ARCH_" + StringRef(CPU).upper()); + if (StringRef(CPU).startswith("octeon")) +Builder.defineMacro("__OCTEON__"); + // These shouldn't be defined for MIPS-I but there's no need to check // for that since MIPS-I isn't supported. Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1"); ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354983 - head/contrib/llvm/tools/clang/lib/Basic/Targets
Author: dim Date: Thu Nov 21 20:32:34 2019 New Revision: 354983 URL: https://svnweb.freebsd.org/changeset/base/354983 Log: Merge commit e578d0fd2 from llvm git (by Simon Atanasyan): [mips] Fix `__mips_isa_rev` macros value for Octeon CPU This is one of the upstream changes needed for adding support for the OCTEON+ CPU type, so that we can test Clang builds using the most commonly available FreeBSD/mips64 reference platform, the Edge Router Lite. Requested by: kevans MFC after:1 month X-MFC-With: r353358 Modified: head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cpp Modified: head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cpp == --- head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cppThu Nov 21 20:26:34 2019(r354982) +++ head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cppThu Nov 21 20:32:34 2019(r354983) @@ -62,7 +62,7 @@ void MipsTargetInfo::fillValidCPUList( unsigned MipsTargetInfo::getISARev() const { return llvm::StringSwitch(getCPU()) .Cases("mips32", "mips64", 1) - .Cases("mips32r2", "mips64r2", 2) + .Cases("mips32r2", "mips64r2", "octeon", 2) .Cases("mips32r3", "mips64r3", 3) .Cases("mips32r5", "mips64r5", 5) .Cases("mips32r6", "mips64r6", 6) ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354982 - in head/contrib/llvm/tools/clang/lib: Basic/Targets Driver/ToolChains
Author: dim Date: Thu Nov 21 20:26:34 2019 New Revision: 354982 URL: https://svnweb.freebsd.org/changeset/base/354982 Log: Merge commit 3552d3e0f from llvm git (by Simon Atanasyan): [mips] Add `octeon+` to the list of CPUs accepted by the driver This is one of the upstream changes needed for adding support for the OCTEON+ CPU type, so that we can test Clang builds using the most commonly available FreeBSD/mips64 reference platform, the Edge Router Lite. Requested by: kevans MFC after:1 month X-MFC-With: r353358 Modified: head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cpp head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.h head/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp Modified: head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cpp == --- head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cppThu Nov 21 20:25:12 2019(r354981) +++ head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cppThu Nov 21 20:26:34 2019(r354982) @@ -39,6 +39,7 @@ bool MipsTargetInfo::processorSupportsGPR64() const { .Case("mips64r5", true) .Case("mips64r6", true) .Case("octeon", true) + .Case("octeon+", true) .Default(false); return false; } @@ -47,7 +48,7 @@ static constexpr llvm::StringLiteral ValidCPUNames[] = {"mips1"}, {"mips2"},{"mips3"},{"mips4"},{"mips5"}, {"mips32"}, {"mips32r2"}, {"mips32r3"}, {"mips32r5"}, {"mips32r6"}, {"mips64"}, {"mips64r2"}, {"mips64r3"}, {"mips64r5"}, {"mips64r6"}, -{"octeon"}, {"p5600"}}; +{"octeon"}, {"octeon+"}, {"p5600"}}; bool MipsTargetInfo::isValidCPUName(StringRef Name) const { return llvm::find(ValidCPUNames, Name) != std::end(ValidCPUNames); Modified: head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.h == --- head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.h Thu Nov 21 20:25:12 2019(r354981) +++ head/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.h Thu Nov 21 20:26:34 2019(r354982) @@ -180,6 +180,8 @@ class LLVM_LIBRARY_VISIBILITY MipsTargetInfo : public CPU = getCPU(); if (CPU == "octeon") Features["mips64r2"] = Features["cnmips"] = true; +else if (CPU == "octeon+") + Features["mips64r2"] = Features["cnmips"] = Features["cnmipsp"] = true; else Features[CPU] = true; return TargetInfo::initFeatureMap(Features, Diags, CPU, FeaturesVec); Modified: head/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp == --- head/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp Thu Nov 21 20:25:12 2019(r354981) +++ head/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp Thu Nov 21 20:26:34 2019(r354982) @@ -1392,7 +1392,8 @@ bool clang::driver::findMIPSMultilibs(const Driver , addMultilibFlag(CPUName == "mips32r6", "march=mips32r6", Flags); addMultilibFlag(CPUName == "mips64", "march=mips64", Flags); addMultilibFlag(CPUName == "mips64r2" || CPUName == "mips64r3" || - CPUName == "mips64r5" || CPUName == "octeon", + CPUName == "mips64r5" || CPUName == "octeon" || + CPUName == "octeon+", "march=mips64r2", Flags); addMultilibFlag(CPUName == "mips64r6", "march=mips64r6", Flags); addMultilibFlag(isMicroMips(Args), "mmicromips", Flags); ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354981 - head/contrib/llvm/lib/Target/Mips/MCTargetDesc
Author: dim Date: Thu Nov 21 20:25:12 2019 New Revision: 354981 URL: https://svnweb.freebsd.org/changeset/base/354981 Log: Merge commit bf996f761 from llvm git (by Simon Atanasyan): [mips] Write `AFL_EXT_OCTEONP` flag to the `.MIPS.abiflags` section Differential Revision: https://reviews.llvm.org/D69851 This is one of the upstream changes needed for adding support for the OCTEON+ CPU type, so that we can test Clang builds using the most commonly available FreeBSD/mips64 reference platform, the Edge Router Lite. Requested by: kevans MFC after:1 month X-MFC-With: r353358 Modified: head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.h Modified: head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.h == --- head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.h Thu Nov 21 20:23:35 2019(r354980) +++ head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.h Thu Nov 21 20:25:12 2019(r354981) @@ -139,7 +139,9 @@ struct MipsABIFlagsSection { (public) template void setISAExtensionFromPredicates(const PredicateLibrary ) { -if (P.hasCnMips()) +if (P.hasCnMipsP()) + ISAExtension = Mips::AFL_EXT_OCTEONP; +else if (P.hasCnMips()) ISAExtension = Mips::AFL_EXT_OCTEON; else ISAExtension = Mips::AFL_EXT_NONE; ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354980 - head/contrib/llvm/lib/Target/Mips/AsmParser
Author: dim Date: Thu Nov 21 20:23:35 2019 New Revision: 354980 URL: https://svnweb.freebsd.org/changeset/base/354980 Log: Merge commit 3718102d4 from llvm git (by Simon Atanasyan): [mips] Support `octeon+` CPU in the `.set arch=` directive Differential Revision: https://reviews.llvm.org/D69850 This is one of the upstream changes needed for adding support for the OCTEON+ CPU type, so that we can test Clang builds using the most commonly available FreeBSD/mips64 reference platform, the Edge Router Lite. Requested by: kevans MFC after:1 month X-MFC-With: r353358 Modified: head/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp Modified: head/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp == --- head/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp Thu Nov 21 20:22:07 2019(r354979) +++ head/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp Thu Nov 21 20:23:35 2019(r354980) @@ -7122,8 +7122,8 @@ bool MipsAsmParser::parseSetArchDirective() { return reportParseError("unexpected token, expected equals sign"); Parser.Lex(); - StringRef Arch; - if (Parser.parseIdentifier(Arch)) + StringRef Arch = getParser().parseStringToEndOfStatement().trim(); + if (Arch.empty()) return reportParseError("expected arch identifier"); StringRef ArchFeatureName = @@ -7144,6 +7144,7 @@ bool MipsAsmParser::parseSetArchDirective() { .Case("mips64r5", "mips64r5") .Case("mips64r6", "mips64r6") .Case("octeon", "cnmips") + .Case("octeon+", "cnmipsp") .Case("r4000", "mips3") // This is an implementation of Mips3. .Default(""); ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354979 - in head/contrib/llvm/lib/Target/Mips: . AsmParser Disassembler
Author: dim Date: Thu Nov 21 20:22:07 2019 New Revision: 354979 URL: https://svnweb.freebsd.org/changeset/base/354979 Log: Merge commit 7bed381ea from llvm git (by Simon Atanasyan): [mips] Implement Octeon+ `saa` and `saad` instructions `saa` and `saad` are 32-bit and 64-bit store atomic add instructions. memory[base] = memory[base] + rt These instructions are available for "Octeon+" CPU. The patch adds support for both instructions to MIPS assembler and diassembler and introduces new CPU type - "octeon+". Next patches will implement `.set arch=octeon+` directive and `AFL_EXT_OCTEONP` ISA extension flag support. Differential Revision: https://reviews.llvm.org/D69849 This is one of the upstream changes needed for adding support for the OCTEON+ CPU type, so that we can test Clang builds using the most commonly available FreeBSD/mips64 reference platform, the Edge Router Lite. Requested by: kevans MFC after:1 month X-MFC-With: r353358 Modified: head/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp head/contrib/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp head/contrib/llvm/lib/Target/Mips/Mips.td head/contrib/llvm/lib/Target/Mips/Mips64InstrInfo.td head/contrib/llvm/lib/Target/Mips/MipsInstrFormats.td head/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td head/contrib/llvm/lib/Target/Mips/MipsScheduleGeneric.td head/contrib/llvm/lib/Target/Mips/MipsScheduleP5600.td head/contrib/llvm/lib/Target/Mips/MipsSubtarget.h Modified: head/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp == --- head/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp Thu Nov 21 20:15:22 2019(r354978) +++ head/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp Thu Nov 21 20:22:07 2019(r354979) @@ -125,7 +125,8 @@ const FeatureBitset MipsAssemblerOptions::AllArchRelat Mips::FeatureMips32r3, Mips::FeatureMips32r5, Mips::FeatureMips32r6, Mips::FeatureMips64, Mips::FeatureMips64r2, Mips::FeatureMips64r3, Mips::FeatureMips64r5, Mips::FeatureMips64r6, Mips::FeatureCnMips, -Mips::FeatureFP64Bit, Mips::FeatureGP64Bit, Mips::FeatureNaN2008 +Mips::FeatureCnMipsP, Mips::FeatureFP64Bit, Mips::FeatureGP64Bit, +Mips::FeatureNaN2008 }; namespace { @@ -324,6 +325,9 @@ class MipsAsmParser : public MCTargetAsmParser { bool expandMXTRAlias(MCInst , SMLoc IDLoc, MCStreamer , const MCSubtargetInfo *STI); + bool expandSaaAddr(MCInst , SMLoc IDLoc, MCStreamer , + const MCSubtargetInfo *STI); + bool reportParseError(Twine ErrorMsg); bool reportParseError(SMLoc Loc, Twine ErrorMsg); @@ -648,6 +652,10 @@ class MipsAsmParser : public MCTargetAsmParser { return (getSTI().getFeatureBits()[Mips::FeatureCnMips]); } + bool hasCnMipsP() const { +return (getSTI().getFeatureBits()[Mips::FeatureCnMipsP]); + } + bool inPicMode() { return IsPicEnabled; } @@ -2584,6 +2592,9 @@ MipsAsmParser::tryExpandInstruction(MCInst , SMLo case Mips::MFTHC1: case Mips::MTTHC1: case Mips::CFTC1: case Mips::CTTC1: return expandMXTRAlias(Inst, IDLoc, Out, STI) ? MER_Fail : MER_Success; + case Mips::SaaAddr: + case Mips::SaadAddr: +return expandSaaAddr(Inst, IDLoc, Out, STI) ? MER_Fail : MER_Success; } } @@ -3074,7 +3085,7 @@ bool MipsAsmParser::loadAndAddSymbolAddress(const MCEx TOut.emitRRR(Mips::DADDu, DstReg, ATReg, SrcReg, IDLoc, STI); return false; -} else if (canUseATReg() && !RdRegIsRsReg) { +} else if (canUseATReg() && !RdRegIsRsReg && DstReg != getATReg(IDLoc)) { unsigned ATReg = getATReg(IDLoc); // If the $rs is different from $rd or if $rs isn't specified and we @@ -3101,7 +3112,8 @@ bool MipsAsmParser::loadAndAddSymbolAddress(const MCEx TOut.emitRRR(Mips::DADDu, DstReg, DstReg, SrcReg, IDLoc, STI); return false; -} else if (!canUseATReg() && !RdRegIsRsReg) { +} else if ((!canUseATReg() && !RdRegIsRsReg) || + (canUseATReg() && DstReg == getATReg(IDLoc))) { // Otherwise, synthesize the address in the destination register // serially: // (d)la $rd, sym/sym($rs) => lui$rd, %highest(sym) @@ -5356,6 +5368,39 @@ bool MipsAsmParser::expandMXTRAlias(MCInst , SMLo TOut.emitRRIII(IsMFTR ? Mips::MFTR : Mips::MTTR, Op0, Op1, u, sel, h, IDLoc, STI); + return false; +} + +bool MipsAsmParser::expandSaaAddr(MCInst , SMLoc IDLoc, MCStreamer , + const MCSubtargetInfo *STI) { + assert(Inst.getNumOperands() == 3 && "expected three operands"); + assert(Inst.getOperand(0).isReg() && "expected register operand kind"); + assert(Inst.getOperand(1).isReg() && "expected register operand kind"); + + warnIfNoMacro(IDLoc); + + MipsTargetStreamer =
svn commit: r354978 - head/usr.sbin/ntp
Author: cy Date: Thu Nov 21 20:15:22 2019 New Revision: 354978 URL: https://svnweb.freebsd.org/changeset/base/354978 Log: Chase r344883. ntp is 4.2.8p13. MFC after:3 days Modified: head/usr.sbin/ntp/config.h Modified: head/usr.sbin/ntp/config.h == --- head/usr.sbin/ntp/config.h Thu Nov 21 19:57:56 2019(r354977) +++ head/usr.sbin/ntp/config.h Thu Nov 21 20:15:22 2019(r354978) @@ -1477,7 +1477,7 @@ #define PACKAGE_URL "http://www.ntp.org./; /* Define to the version of this package. */ -#define PACKAGE_VERSION "4.2.8p12" +#define PACKAGE_VERSION "4.2.8p13" /* data dir */ #define PERLLIBDIR "/usr/share/ntp/lib" ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r354977 - in head: share/man/man3 sys/sys tests/sys/sys
Hi Eric, On Thu, Nov 21, 2019 at 11:58 AM Eric Joyner wrote: > > Author: erj > Date: Thu Nov 21 19:57:56 2019 > New Revision: 354977 > URL: https://svnweb.freebsd.org/changeset/base/354977 > > Log: > bitstring: add functions to find contiguous set/unset bit sequences > > Add bit_ffs_area_at and bit_ffc_area_at functions for searching a bit > string for a sequence of contiguous set or unset bits of at least the > specified size. > > The bit_ffc_area function will be used by the Intel ice driver for > implementing resource assignment logic using a bitstring to represent > whether or not a given index has been assigned or is currently free. I don't know what the ice driver is/does, so apologies if this is nonsensical. Would it make more sense to use vmem(9) for this purpose? It's a general-purpose resource allocator and can scale well with large numbers of resources / CPUs. Best, Conrad ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354977 - in head: share/man/man3 sys/sys tests/sys/sys
Author: erj Date: Thu Nov 21 19:57:56 2019 New Revision: 354977 URL: https://svnweb.freebsd.org/changeset/base/354977 Log: bitstring: add functions to find contiguous set/unset bit sequences Add bit_ffs_area_at and bit_ffc_area_at functions for searching a bit string for a sequence of contiguous set or unset bits of at least the specified size. The bit_ffc_area function will be used by the Intel ice driver for implementing resource assignment logic using a bitstring to represent whether or not a given index has been assigned or is currently free. The bit_ffs_area, bit_ffc_area_at and bit_ffs_area_at functions are implemented for completeness. I'd like to add further test cases for the new functions, but I'm not really sure how to add them easily. The new functions depend on specific sequences of bits being set, while the bitstring tests appear to run for varying bit sizes. Signed-off-by: Jacob Keller Submitted by: Jacob Keller Reviewed by: asomers@, erj@ MFC after:1 week Sponsored by: Intel Corporation Differential Revision:https://reviews.freebsd.org/D22400 Modified: head/share/man/man3/bitstring.3 head/sys/sys/bitstring.h head/sys/sys/param.h head/tests/sys/sys/bitstring_test.c Modified: head/share/man/man3/bitstring.3 == --- head/share/man/man3/bitstring.3 Thu Nov 21 19:54:10 2019 (r354976) +++ head/share/man/man3/bitstring.3 Thu Nov 21 19:57:56 2019 (r354977) @@ -58,7 +58,7 @@ .\" @(#)bitstring.38.1 (Berkeley) 7/19/93 .\" $FreeBSD$ .\" -.Dd May 23, 2016 +.Dd Nov 18, 2019 .Dt BITSTRING 3 .Os .Sh NAME @@ -70,6 +70,10 @@ .Nm bit_ffs , .Nm bit_ffc_at , .Nm bit_ffs_at , +.Nm bit_ffc_area , +.Nm bit_ffs_area , +.Nm bit_ffc_area_at , +.Nm bit_ffs_area_at , .Nm bit_nclear , .Nm bit_nset , .Nm bit_set , @@ -95,6 +99,14 @@ .Ft void .Fn bit_ffs_at "bitstr_t *name" "int start" "int nbits" "int *value" .Ft void +.Fn bit_ffc_area "bitstr_t *name" "int nbits" "int size" "int *value" +.Ft void +.Fn bit_ffs_area "bitstr_t *name" "int nbits" "int size" "int *value" +.Ft void +.Fn bit_ffc_area_at "bitstr_t *name" "int start" "int nbits" "int size" "int *value" +.Ft void +.Fn bit_ffs_area_at "bitstr_t *name" "int start" "int nbits" "int size" "int *value" +.Ft void .Fn bit_nclear "bitstr_t *name" "int start" "int stop" .Ft void .Fn bit_nset "bitstr_t *name" "int start" "int stop" @@ -223,6 +235,82 @@ bits referenced by at or after the zero-based bit index .Fa start . If no bits are set after +.Fa start , +the location referenced by +.Fa value +is set to \-1. +.Pp +The +.Fn bit_ffc_area +function stores in the location referenced by +.Fa value +the zero-based number of the first bit beginning a sequence of unset bits of +at least +.Fa size +unset bits in the array of +.Fa nbits +bits referenced by +.Fa name . +If no sequence of contiguous unset bits of the specified +.Fa size +can be found, the location referenced by +.Fa value +is set to \-1. +.Pp +The +.Fn bit_ffs_area +function stores in the location referenced by +.Fa value +the zero-based number of the first bit beginning a sequence of set bits of +at least +.Fa size +set bits in the array of +.Fa nbits +bits referenced by +.Fa name . +If no sequence of contiguous set bits of the specified +.Fa size +can be found, the location referenced by +.Fa value +is set to \-1. +.Pp +The +.Fn bit_ffc_area_at +function stores in the location referenced by +.Fa value +the zero-based number of the first bit beginning a sequence of unset bits of +at least +.Fa size +unset bits in the array of +.Fa nbits +bits referenced by +.Fa name , +at or after the zero-based bit index +.Fa start . +If no sequence of contiguous unset bits of the specified +.Fa size +can be found at or after +.Fa start , +the location referenced by +.Fa value +is set to \-1. +.Pp +The +.Fn bit_ffs_area_at +function stores in the location referenced by +.Fa value +the zero-based number of the first bit beginning a sequence of set bits of +at least +.Fa size +set bits in the array of +.Fa nbits +bits referenced by +.Fa name , +at or after the zero-based bit index +.Fa start . +If no sequence of contiguous set bits of the specified +.Fa size +can be found at or after .Fa start , the location referenced by .Fa value Modified: head/sys/sys/bitstring.h == --- head/sys/sys/bitstring.hThu Nov 21 19:54:10 2019(r354976) +++ head/sys/sys/bitstring.hThu Nov 21 19:57:56 2019(r354977) @@ -275,6 +275,84 @@ bit_ffc(bitstr_t *_bitstr, int _nbits, int *_result) bit_ffc_at(_bitstr, /*start*/0, _nbits, _result); } +/* Find contiguous sequence of at least size set bits at or after start */ +static inline void +bit_ffs_area_at(bitstr_t *_bitstr, int _start, int _nbits, int _size, int *_result) +{ + int
svn commit: r354976 - head/share/mk
Author: imp Date: Thu Nov 21 19:54:10 2019 New Revision: 354976 URL: https://svnweb.freebsd.org/changeset/base/354976 Log: Install bsd.sysdir.mk. Submitted by: Jung-uk Kim Modified: head/share/mk/Makefile Modified: head/share/mk/Makefile == --- head/share/mk/Makefile Thu Nov 21 19:36:11 2019(r354975) +++ head/share/mk/Makefile Thu Nov 21 19:54:10 2019(r354976) @@ -56,6 +56,7 @@ FILES=\ bsd.suffixes.mk \ bsd.symver.mk \ bsd.sys.mk \ + bsd.sysdir.mk \ bsd.test.mk \ dirdeps.mk \ dirdeps-options.mk \ ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r354968 - in head: share/mk sys/conf
On 19. 11. 21., Warner Losh wrote: > Author: imp > Date: Thu Nov 21 15:59:33 2019 > New Revision: 354968 > URL: https://svnweb.freebsd.org/changeset/base/354968 > > Log: > Introduce bsd.sysdir.mk to consolidate looking for the kernel. > > Reviewed by: jhb > Differential Revision: https://reviews.freebsd.org/D22144 > > Added: > head/share/mk/bsd.sysdir.mk > - copied, changed from r354937, head/share/mk/bsd.kmod.mk > Modified: > head/share/mk/bsd.dtb.mk > head/share/mk/bsd.kmod.mk > head/sys/conf/dtb.build.mk > head/sys/conf/kmod.mk It seems you forgot to install bsd.sysdir.mk. All device drivers in ports tree are failing. Index: share/mk/Makefile === --- share/mk/Makefile (revision 354973) +++ share/mk/Makefile (working copy) @@ -56,6 +56,7 @@ FILES=\ bsd.suffixes.mk \ bsd.symver.mk \ bsd.sys.mk \ + bsd.sysdir.mk \ bsd.test.mk \ dirdeps.mk \ dirdeps-options.mk \ Jung-uk Kim signature.asc Description: OpenPGP digital signature
svn commit: r354975 - in head: sys/sys tests/sys/sys
Author: erj Date: Thu Nov 21 19:36:11 2019 New Revision: 354975 URL: https://svnweb.freebsd.org/changeset/base/354975 Log: bitstring: exit early if _start is past size of the bitstring bit_ffs_at and bit_ffc_at both take _start parameters which indicate to start searching from _start onwards. If the given _start index is past the size of the bit string, these functions will calculate an address of the current bitstring which is after the expected size. The function will also dereference the memory, resulting in a read buffer overflow. The output of the function remains correct, because the tests ensure to stop the loop if the current bitstring chunk passes the stop bitstring chunk, and because of a check to ensure the reported _value is never past _nbits. However, if is ever used in code which is checked by -fsanitize=undefined, or similar static analysis, it can produce warnings about reading past the buffer size. Because of the above mentioned checks, these buffer overflows do not occur as long as _start is less than _nbits. Additionally, by definition bit_ffs_at and bif_ffc_at should set _result to -1 in any case where the _start is after the _nbits. Check for this case at the start of the function and exit early if so, preventing the buffer read overflow, and reducing the amount of computation that occurs. Note that it may seem odd to ever have code that could call bit_ffc_at or bit_ffs_at with a _start value greater than _nbits. However, consider a for-loop that used bit_ffs and bit_ffs_at to loop over a bit string and perform some operation on each bit that was set. If the last bit of the bit string was set, the simplest loop implementation would call bit_ffs_at with a start of _nbits, and expect that to return -1. While it does infact perform correctly, this is what ultimately triggers the unexpected buffer read overflow. Signed-off-by: Jacob Keller Submitted by: Jacob Keller Reviewed by: asomers@, erj@ MFC after:1 week Sponsored by: Intel Corporation Differential Revision:https://reviews.freebsd.org/D22398 Modified: head/sys/sys/bitstring.h head/tests/sys/sys/bitstring_test.c Modified: head/sys/sys/bitstring.h == --- head/sys/sys/bitstring.hThu Nov 21 19:30:31 2019(r354974) +++ head/sys/sys/bitstring.hThu Nov 21 19:36:11 2019(r354975) @@ -202,6 +202,11 @@ bit_ffs_at(bitstr_t *_bitstr, int _start, int _nbits, bitstr_t _test; int _value, _offset; + if (_start >= _nbits) { + *_result = -1; + return; + } + if (_nbits > 0) { _curbitstr = _bitstr + _bit_idx(_start); _stopbitstr = _bitstr + _bit_idx(_nbits - 1); @@ -230,6 +235,11 @@ bit_ffc_at(bitstr_t *_bitstr, int _start, int _nbits, bitstr_t *_stopbitstr; bitstr_t _test; int _value, _offset; + + if (_start >= _nbits) { + *_result = -1; + return; + } if (_nbits > 0) { _curbitstr = _bitstr + _bit_idx(_start); Modified: head/tests/sys/sys/bitstring_test.c == --- head/tests/sys/sys/bitstring_test.c Thu Nov 21 19:30:31 2019 (r354974) +++ head/tests/sys/sys/bitstring_test.c Thu Nov 21 19:36:11 2019 (r354975) @@ -246,6 +246,17 @@ BITSTRING_TC_DEFINE(bit_ffs_at) nbits, memloc, i, found_set_bit); } } + + /* Pass a start value beyond the size of the bit string */ + bit_ffs_at(bitstr, nbits, nbits, _set_bit); + ATF_REQUIRE_MSG(found_set_bit == -1, + "bit_ffs_at_%d_%s: Failed with high start value of %d, Result %d", + nbits, memloc, nbits, found_set_bit); + + bit_ffs_at(bitstr, nbits + 3, nbits, _set_bit); + ATF_REQUIRE_MSG(found_set_bit == -1, + "bit_ffs_at_%d_%s: Failed with high start value of %d, Result %d", + nbits, memloc, nbits + 3, found_set_bit); } BITSTRING_TC_DEFINE(bit_ffc_at) @@ -297,6 +308,17 @@ BITSTRING_TC_DEFINE(bit_ffc_at) nbits, memloc, i, found_clear_bit); } } + + /* Pass a start value beyond the size of the bit string */ + bit_ffc_at(bitstr, nbits, nbits, _clear_bit); + ATF_REQUIRE_MSG(found_clear_bit == -1, + "bit_ffc_at_%d_%s: Failed with high start value, Result %d", + nbits, memloc, found_clear_bit); + + bit_ffc_at(bitstr, nbits + 3, nbits, _clear_bit); + ATF_REQUIRE_MSG(found_clear_bit == -1, + "bit_ffc_at_%d_%s: Failed with high start value of %d, Result %d", + nbits, memloc, nbits + 3,
svn commit: r354974 - in head/sys: conf dev/cxgbe dev/cxgbe/common dev/cxgbe/crypto dev/cxgbe/firmware dev/cxgbe/tom modules/cxgbe/if_cxgbe
Author: jhb Date: Thu Nov 21 19:30:31 2019 New Revision: 354974 URL: https://svnweb.freebsd.org/changeset/base/354974 Log: NIC KTLS for Chelsio T6 adapters. This adds support for ifnet (NIC) KTLS using Chelsio T6 adapters. Unlike the TOE-based KTLS in r353328, NIC TLS works with non-TOE connections. NIC KTLS on T6 is not able to use the normal TSO (LSO) path to segment the encrypted TLS frames output by the crypto engine. Instead, the TOE is placed into a special setup to permit "dummy" connections to be associated with regular sockets using KTLS. This permits using the TOE to segment the encrypted TLS records. However, this approach does have some limitations: 1) Regular TOE sockets cannot be used when the TOE is in this special mode. One can use either TOE and TOE-based KTLS or NIC KTLS, but not both at the same time. 2) In NIC KTLS mode, the TOE is only able to accept a per-connection timestamp offset that varies in the upper 4 bits. Put another way, only connections whose timestamp offset has the 28 lower bits cleared can use NIC KTLS and generate correct timestamps. The driver will refuse to enable NIC KTLS on connections with a timestamp offset with any of the lower 28 bits set. To use NIC KTLS, users can either disable TCP timestamps by setting the net.inet.tcp.rfc1323 sysctl to 0, or apply a local patch to the tcp_new_ts_offset() function to clear the lower 28 bits of the generated offset. 3) Because the TCP segmentation relies on fields mirrored in a TCB in the TOE, not all fields in a TCP packet can be sent in the TCP segments generated from a TLS record. Specifically, for packets containing TCP options other than timestamps, the driver will inject an "empty" TCP packet holding the requested options (e.g. a SACK scoreboard) along with the segments from the TLS record. These empty TCP packets are counted by the dev.cc.N.txq.M.kern_tls_options sysctls. Unlike TOE TLS which is able to buffer encrypted TLS records in on-card memory to handle retransmits, NIC KTLS must re-encrypt TLS records for retransmit requests as well as non-retransmit requests that do not include the start of a TLS record but do include the trailer. The T6 NIC KTLS code tries to optimize some of the cases for requests to transmit partial TLS records. In particular it attempts to minimize sending "waste" bytes that have to be given as input to the crypto engine but are not needed on the wire to satisfy mbufs sent from the TCP stack down to the driver. TCP packets for TLS requests are broken down into the following classes (with associated counters): - Mbufs that send an entire TLS record in full do not have any waste bytes (dev.cc.N.txq.M.kern_tls_full). - Mbufs that send a short TLS record that ends before the end of the trailer (dev.cc.N.txq.M.kern_tls_short). For sockets using AES-CBC, the encryption must always start at the beginning, so if the mbuf starts at an offset into the TLS record, the offset bytes will be "waste" bytes. For sockets using AES-GCM, the encryption can start at the 16 byte block before the starting offset capping the waste at 15 bytes. - Mbufs that send a partial TLS record that has a non-zero starting offset but ends at the end of the trailer (dev.cc.N.txq.M.kern_tls_partial). In order to compute the authentication hash stored in the trailer, the entire TLS record must be sent as input to the crypto engine, so the bytes before the offset are always "waste" bytes. In addition, other per-txq sysctls are provided: - dev.cc.N.txq.M.kern_tls_cbc: Count of sockets sent via this txq using AES-CBC. - dev.cc.N.txq.M.kern_tls_gcm: Count of sockets sent via this txq using AES-GCM. - dev.cc.N.txq.M.kern_tls_fin: Count of empty FIN-only packets sent to compensate for the TOE engine not being able to set FIN on the last segment of a TLS record if the TLS record mbuf had FIN set. - dev.cc.N.txq.M.kern_tls_records: Count of TLS records sent via this txq including full, short, and partial records. - dev.cc.N.txq.M.kern_tls_octets: Count of non-waste bytes (TLS header and payload) sent for TLS record requests. - dev.cc.N.txq.M.kern_tls_waste: Count of waste bytes sent for TLS record requests. To enable NIC KTLS with T6, set the following tunables prior to loading the cxgbe(4) driver: hw.cxgbe.config_file=kern_tls hw.cxgbe.kern_tls=1 Reviewed by: np Sponsored by: Chelsio Communications Differential Revision:https://reviews.freebsd.org/D21962 Added: head/sys/dev/cxgbe/crypto/t4_kern_tls.c (contents, props changed) head/sys/dev/cxgbe/firmware/t6fw_cfg_kern_tls.txt (contents, props changed) Modified: head/sys/conf/files head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/common/t4_msg.h
svn commit: r354973 - head/sys/dev/iicbus
Author: ian Date: Thu Nov 21 19:13:05 2019 New Revision: 354973 URL: https://svnweb.freebsd.org/changeset/base/354973 Log: Rewrite iicdev_writeto() to use a single buffer and a single iic_msg, rather than effectively doing scatter/gather IO with a pair of iic_msgs that direct the controller to do a single transfer with no bus STOP/START between the two buffers. It turns out we have multiple i2c hardware drivers that don't honor the NOSTOP and NOSTART flags; sometimes they just try to do the transfers anyway, creating confusing failures or leading to corrupted data. Modified: head/sys/dev/iicbus/iiconf.c Modified: head/sys/dev/iicbus/iiconf.c == --- head/sys/dev/iicbus/iiconf.cThu Nov 21 18:49:54 2019 (r354972) +++ head/sys/dev/iicbus/iiconf.cThu Nov 21 19:13:05 2019 (r354973) @@ -540,25 +540,47 @@ iicdev_readfrom(device_t slavedev, uint8_t regaddr, vo int iicdev_writeto(device_t slavedev, uint8_t regaddr, void *buffer, uint16_t buflen, int waithow) { - struct iic_msg msgs[2]; - uint8_t slaveaddr; + struct iic_msg msg; + uint8_t local_buffer[32]; + uint8_t *bufptr; + size_t bufsize; + int error; /* -* Two transfers back to back with no stop or start between them; first -* we write the address then we write the data to that address, all in a -* single transfer from two scattered buffers. +* Ideally, we would do two transfers back to back with no stop or start +* between them using an array of 2 iic_msgs; first we'd write the +* address byte using the IIC_M_NOSTOP flag, then we write the data +* using IIC_M_NOSTART, all in a single transfer. Unfortunately, +* several i2c hardware drivers don't support that (perhaps because the +* hardware itself can't support it). So instead we gather the +* scattered bytes into a single buffer here before writing them using a +* single iic_msg. This function is typically used to write a few bytes +* at a time, so we try to use a small local buffer on the stack, but +* fall back to allocating a temporary buffer when necessary. */ - slaveaddr = iicbus_get_addr(slavedev); - msgs[0].slave = slaveaddr; - msgs[0].flags = IIC_M_WR | IIC_M_NOSTOP; - msgs[0].len = 1; - msgs[0].buf = + bufsize = buflen + 1; + if (bufsize <= sizeof(local_buffer)) { + bufptr = local_buffer; + } else { + bufptr = malloc(bufsize, M_DEVBUF, + (waithow & IIC_WAIT) ? M_WAITOK : M_NOWAIT); + if (bufptr == NULL) + return (errno2iic(ENOMEM)); + } - msgs[1].slave = slaveaddr; - msgs[1].flags = IIC_M_WR | IIC_M_NOSTART; - msgs[1].len = buflen; - msgs[1].buf = buffer; + bufptr[0] = regaddr; + memcpy([1], buffer, buflen); - return (iicbus_transfer_excl(slavedev, msgs, nitems(msgs), waithow)); + msg.slave = iicbus_get_addr(slavedev); + msg.flags = IIC_M_WR; + msg.len = bufsize; + msg.buf = bufptr; + + error = iicbus_transfer_excl(slavedev, , 1, waithow); + + if (bufptr != local_buffer) + free(bufptr, M_DEVBUF); + + return (error); } ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354972 - in head/sys: arm/include mips/include
Author: imp Date: Thu Nov 21 18:49:54 2019 New Revision: 354972 URL: https://svnweb.freebsd.org/changeset/base/354972 Log: Remove two obsolete comments that reference splhigh/splx. Modified: head/sys/arm/include/profile.h head/sys/mips/include/profile.h Modified: head/sys/arm/include/profile.h == --- head/sys/arm/include/profile.h Thu Nov 21 18:21:30 2019 (r354971) +++ head/sys/arm/include/profile.h Thu Nov 21 18:49:54 2019 (r354972) @@ -114,12 +114,6 @@ void user(void); #include #include -/* - * splhigh() and splx() are heavyweight, and call mcount(). Therefore - * we disabled interrupts (IRQ, but not FIQ) directly on the CPU. - * - * We're lucky that the CPSR and 's' both happen to be 'int's. - */ #defineMCOUNT_ENTER(s) {s = intr_disable(); } /* kill IRQ */ #defineMCOUNT_EXIT(s) {intr_restore(s); } /* restore old value */ Modified: head/sys/mips/include/profile.h == --- head/sys/mips/include/profile.h Thu Nov 21 18:21:30 2019 (r354971) +++ head/sys/mips/include/profile.h Thu Nov 21 18:49:54 2019 (r354972) @@ -76,13 +76,6 @@ ".set at"); #ifdef _KERNEL -/* - * The following two macros do splhigh and splx respectively. - * They have to be defined this way because these are real - * functions on the MIPS, and we do not want to invoke mcount - * recursively. - */ - #defineMCOUNT_DECL(s) u_long s; #ifdef SMP extern int mcount_lock; ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354971 - head/sys/modules/geom/geom_uzip
Author: jhb Date: Thu Nov 21 18:21:30 2019 New Revision: 354971 URL: https://svnweb.freebsd.org/changeset/base/354971 Log: Use kmod.opts.mk to fix standalone build. Modified: head/sys/modules/geom/geom_uzip/Makefile Modified: head/sys/modules/geom/geom_uzip/Makefile == --- head/sys/modules/geom/geom_uzip/MakefileThu Nov 21 18:14:26 2019 (r354970) +++ head/sys/modules/geom/geom_uzip/MakefileThu Nov 21 18:21:30 2019 (r354971) @@ -1,5 +1,7 @@ # $FreeBSD$ +.include + .PATH: ${SRCTOP}/sys/geom/uzip ${SRCTOP}/sys/net KMOD= geom_uzip ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r354970 - in head: share/mk sys/conf
On 11/21/19 10:14 AM, John Baldwin wrote: > Author: jhb > Date: Thu Nov 21 18:14:26 2019 > New Revision: 354970 > URL: https://svnweb.freebsd.org/changeset/base/354970 > > Log: > Add a kmod.opts.mk. > > This Makefile sets KERN_OPTS. This permits kernel module Makefiles to > use KERN_OPTS to control the value of variables such as SRCS that are > used by bsd.kmod.mk for KERN_OPTS values that honor WITH/WITHOUT > options for standalone builds. Closed editor too quickly, missed: Reviewed by:imp Differential Revision: https://reviews.freebsd.org/D22118 -- John Baldwin ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354970 - in head: share/mk sys/conf
Author: jhb Date: Thu Nov 21 18:14:26 2019 New Revision: 354970 URL: https://svnweb.freebsd.org/changeset/base/354970 Log: Add a kmod.opts.mk. This Makefile sets KERN_OPTS. This permits kernel module Makefiles to use KERN_OPTS to control the value of variables such as SRCS that are used by bsd.kmod.mk for KERN_OPTS values that honor WITH/WITHOUT options for standalone builds. Added: head/share/mk/kmod.opts.mk (contents, props changed) head/sys/conf/kmod.opts.mk (contents, props changed) Modified: head/sys/conf/kmod.mk Added: head/share/mk/kmod.opts.mk == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/mk/kmod.opts.mk Thu Nov 21 18:14:26 2019(r354970) @@ -0,0 +1,4 @@ +# $FreeBSD$ + +.include +.include "${SYSDIR}/conf/kmod.opts.mk" Modified: head/sys/conf/kmod.mk == --- head/sys/conf/kmod.mk Thu Nov 21 16:42:25 2019(r354969) +++ head/sys/conf/kmod.mk Thu Nov 21 18:14:26 2019(r354970) @@ -73,12 +73,7 @@ KMODUNLOAD?= /sbin/kldunload KMODISLOADED?= /sbin/kldstat -q -n OBJCOPY?= objcopy -.include -# Grab all the options for a kernel build. For backwards compat, we need to -# do this after bsd.own.mk. -.include "kern.opts.mk" -.include -.include "config.mk" +.include "kmod.opts.mk" .include .SUFFIXES: .out .o .c .cc .cxx .C .y .l .s .S .m Added: head/sys/conf/kmod.opts.mk == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/conf/kmod.opts.mk Thu Nov 21 18:14:26 2019(r354970) @@ -0,0 +1,16 @@ +# $FreeBSD$ +# +# Handle options (KERN_OPTS) for kernel module options. This can be included earlier in a kmod Makefile +# to allow KERN_OPTS to control SRCS, etc. + +.if !target() +: + +.include +# Grab all the options for a kernel build. For backwards compat, we need to +# do this after bsd.own.mk. +.include "kern.opts.mk" +.include +.include "config.mk" + +.endif # !target() ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354969 - in head/sys/dev/usb: . video
Author: hselasky Date: Thu Nov 21 16:42:25 2019 New Revision: 354969 URL: https://svnweb.freebsd.org/changeset/base/354969 Log: Add USB ID for Diamond Multimedia BVU195 Display Link device. Submitted by: dar...@dons.net.au PR: 242128 MFC after:1 week Sponsored by: Mellanox Technologies Modified: head/sys/dev/usb/usbdevs head/sys/dev/usb/video/udl.c Modified: head/sys/dev/usb/usbdevs == --- head/sys/dev/usb/usbdevsThu Nov 21 15:59:33 2019(r354968) +++ head/sys/dev/usb/usbdevsThu Nov 21 16:42:25 2019(r354969) @@ -1783,6 +1783,7 @@ product DISPLAYLINK M010610x01e2 Lenovo DVI product DISPLAYLINK SWDVI 0x024c SUNWEIT DVI product DISPLAYLINK NBDOCK 0x0215 VideoHome NBdock1920 product DISPLAYLINK LUM70 0x02a9 Lilliput UM-70 +product DISPLAYLINK DVI_19 0x0360 USB to DVI-19 product DISPLAYLINK UM7X0 0x401a nanovision MiMo product DISPLAYLINK LT1421 0x03e0 Lenovo ThinkVision LT1421 product DISPLAYLINK POLARIS2 0x0117 Polaris2 USB dock Modified: head/sys/dev/usb/video/udl.c == --- head/sys/dev/usb/video/udl.cThu Nov 21 15:59:33 2019 (r354968) +++ head/sys/dev/usb/video/udl.cThu Nov 21 16:42:25 2019 (r354969) @@ -179,6 +179,7 @@ static const STRUCT_USB_HOST_ID udl_devs[] = { {USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_POLARIS2, DLUNK)}, {USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_LT1421, DLUNK)}, {USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_ITEC, DL165)}, + {USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_DVI_19, DL165)}, }; static void ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r354909 - in head: . share/mk
On Thu, Nov 21, 2019 at 09:28:50AM -0700, Ian Lepore wrote: > On Thu, 2019-11-21 at 16:23 +, Glen Barber wrote: > > On Thu, Nov 21, 2019 at 04:13:37PM +, Glen Barber wrote: > > > On Wed, Nov 20, 2019 at 06:36:58PM +, Brooks Davis wrote: > > > > Author: brooks > > > > Date: Wed Nov 20 18:36:58 2019 > > > > New Revision: 354909 > > > > URL: https://svnweb.freebsd.org/changeset/base/354909 > > > > > > > > Log: > > > > Make the warning for deprecated NO_ variables an error. > > > > > > > > Support for NO_CTF, NO_DEBUG_FILES, NO_INSTALLLIB, NO_MAN, > > > > NO_PROFILE, > > > > and NO_WARNS as deprecated in 2014 with a warning added for > > > > each one > > > > found. Turn these into error in preperation for removal of > > > > compatability > > > > support before FreeBSD 13. > > > > > > > > Reviewed by: imp > > > > Relnotes: yes > > > > Sponsored by: DARPA, AFRL > > > > Differential Revision:https://reviews.freebsd.org/D22448 > > > > > > > > Modified: head/share/mk/bsd.opts.mk > > > > = > > > > = > > > > --- head/share/mk/bsd.opts.mk Wed Nov 20 18:12:01 2019( > > > > r354908) > > > > +++ head/share/mk/bsd.opts.mk Wed Nov 20 18:36:58 2019( > > > > r354909) > > > > @@ -100,7 +100,7 @@ __DEFAULT_DEPENDENT_OPTIONS = \ > > > > PROFILE \ > > > > WARNS > > > > .if defined(NO_${var}) > > > > -.warning "NO_${var} is defined, but deprecated. Please use > > > > MK_${var}=no instead." > > > > +.error "NO_${var} is defined, but deprecated. Please use > > > > MK_${var}=no instead." > > > > MK_${var}:=no > > > > .endif > > > > .endfor > > > > > > > > > > Had this been exp-run tested? This breaks at least the > > > net/bsdec2-image-upload port, which does *not* set NO_MAN > > > explicitly in > > > its Makefile. I suspect at least several other ports are now > > > implicitly > > > broken as result of this change. > > > > > > > In fact, on a quick search through ports/*/*/Makefile, I do not see > > NO_MAN defined *anywhere*. So, this is pulled in from somewhere > > else, > > which now I have a feeling more ports than I initially thought are > > now > > broken. > > > > Your search was too narrow. Re-do it as "grep -Rw NO_MAN *" from > /usr/ports and you'll get a lot of hits from within files/ dirs. > Thank you for that; I forgot about the files/ directories. Nonetheless, net/bsdec2-image-upload still does not explicitly set this knob. Glen signature.asc Description: PGP signature
Re: svn commit: r354909 - in head: . share/mk
On Thu, 2019-11-21 at 16:23 +, Glen Barber wrote: > On Thu, Nov 21, 2019 at 04:13:37PM +, Glen Barber wrote: > > On Wed, Nov 20, 2019 at 06:36:58PM +, Brooks Davis wrote: > > > Author: brooks > > > Date: Wed Nov 20 18:36:58 2019 > > > New Revision: 354909 > > > URL: https://svnweb.freebsd.org/changeset/base/354909 > > > > > > Log: > > > Make the warning for deprecated NO_ variables an error. > > > > > > Support for NO_CTF, NO_DEBUG_FILES, NO_INSTALLLIB, NO_MAN, > > > NO_PROFILE, > > > and NO_WARNS as deprecated in 2014 with a warning added for > > > each one > > > found. Turn these into error in preperation for removal of > > > compatability > > > support before FreeBSD 13. > > > > > > Reviewed by:imp > > > Relnotes: yes > > > Sponsored by: DARPA, AFRL > > > Differential Revision: https://reviews.freebsd.org/D22448 > > > > > > Modified: head/share/mk/bsd.opts.mk > > > = > > > = > > > --- head/share/mk/bsd.opts.mk Wed Nov 20 18:12:01 2019( > > > r354908) > > > +++ head/share/mk/bsd.opts.mk Wed Nov 20 18:36:58 2019( > > > r354909) > > > @@ -100,7 +100,7 @@ __DEFAULT_DEPENDENT_OPTIONS = \ > > > PROFILE \ > > > WARNS > > > .if defined(NO_${var}) > > > -.warning "NO_${var} is defined, but deprecated. Please use > > > MK_${var}=no instead." > > > +.error "NO_${var} is defined, but deprecated. Please use > > > MK_${var}=no instead." > > > MK_${var}:=no > > > .endif > > > .endfor > > > > > > > Had this been exp-run tested? This breaks at least the > > net/bsdec2-image-upload port, which does *not* set NO_MAN > > explicitly in > > its Makefile. I suspect at least several other ports are now > > implicitly > > broken as result of this change. > > > > In fact, on a quick search through ports/*/*/Makefile, I do not see > NO_MAN defined *anywhere*. So, this is pulled in from somewhere > else, > which now I have a feeling more ports than I initially thought are > now > broken. > Your search was too narrow. Re-do it as "grep -Rw NO_MAN *" from /usr/ports and you'll get a lot of hits from within files/ dirs. -- Ian ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r354909 - in head: . share/mk
On Thu, Nov 21, 2019 at 04:13:37PM +, Glen Barber wrote: > On Wed, Nov 20, 2019 at 06:36:58PM +, Brooks Davis wrote: > > Author: brooks > > Date: Wed Nov 20 18:36:58 2019 > > New Revision: 354909 > > URL: https://svnweb.freebsd.org/changeset/base/354909 > > > > Log: > > Make the warning for deprecated NO_ variables an error. > > > > Support for NO_CTF, NO_DEBUG_FILES, NO_INSTALLLIB, NO_MAN, NO_PROFILE, > > and NO_WARNS as deprecated in 2014 with a warning added for each one > > found. Turn these into error in preperation for removal of compatability > > support before FreeBSD 13. > > > > Reviewed by: imp > > Relnotes: yes > > Sponsored by: DARPA, AFRL > > Differential Revision:https://reviews.freebsd.org/D22448 > > > > > Modified: head/share/mk/bsd.opts.mk > > == > > --- head/share/mk/bsd.opts.mk Wed Nov 20 18:12:01 2019 > > (r354908) > > +++ head/share/mk/bsd.opts.mk Wed Nov 20 18:36:58 2019 > > (r354909) > > @@ -100,7 +100,7 @@ __DEFAULT_DEPENDENT_OPTIONS = \ > > PROFILE \ > > WARNS > > .if defined(NO_${var}) > > -.warning "NO_${var} is defined, but deprecated. Please use MK_${var}=no > > instead." > > +.error "NO_${var} is defined, but deprecated. Please use MK_${var}=no > > instead." > > MK_${var}:=no > > .endif > > .endfor > > > > Had this been exp-run tested? This breaks at least the > net/bsdec2-image-upload port, which does *not* set NO_MAN explicitly in > its Makefile. I suspect at least several other ports are now implicitly > broken as result of this change. > In fact, on a quick search through ports/*/*/Makefile, I do not see NO_MAN defined *anywhere*. So, this is pulled in from somewhere else, which now I have a feeling more ports than I initially thought are now broken. Glen signature.asc Description: PGP signature
Re: svn commit: r354909 - in head: . share/mk
On Wed, Nov 20, 2019 at 06:36:58PM +, Brooks Davis wrote: > Author: brooks > Date: Wed Nov 20 18:36:58 2019 > New Revision: 354909 > URL: https://svnweb.freebsd.org/changeset/base/354909 > > Log: > Make the warning for deprecated NO_ variables an error. > > Support for NO_CTF, NO_DEBUG_FILES, NO_INSTALLLIB, NO_MAN, NO_PROFILE, > and NO_WARNS as deprecated in 2014 with a warning added for each one > found. Turn these into error in preperation for removal of compatability > support before FreeBSD 13. > > Reviewed by:imp > Relnotes: yes > Sponsored by: DARPA, AFRL > Differential Revision: https://reviews.freebsd.org/D22448 > > Modified: head/share/mk/bsd.opts.mk > == > --- head/share/mk/bsd.opts.mk Wed Nov 20 18:12:01 2019(r354908) > +++ head/share/mk/bsd.opts.mk Wed Nov 20 18:36:58 2019(r354909) > @@ -100,7 +100,7 @@ __DEFAULT_DEPENDENT_OPTIONS = \ > PROFILE \ > WARNS > .if defined(NO_${var}) > -.warning "NO_${var} is defined, but deprecated. Please use MK_${var}=no > instead." > +.error "NO_${var} is defined, but deprecated. Please use MK_${var}=no > instead." > MK_${var}:=no > .endif > .endfor > Had this been exp-run tested? This breaks at least the net/bsdec2-image-upload port, which does *not* set NO_MAN explicitly in its Makefile. I suspect at least several other ports are now implicitly broken as result of this change. Glen signature.asc Description: PGP signature
svn commit: r354968 - in head: share/mk sys/conf
Author: imp Date: Thu Nov 21 15:59:33 2019 New Revision: 354968 URL: https://svnweb.freebsd.org/changeset/base/354968 Log: Introduce bsd.sysdir.mk to consolidate looking for the kernel. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D22144 Added: head/share/mk/bsd.sysdir.mk - copied, changed from r354937, head/share/mk/bsd.kmod.mk Modified: head/share/mk/bsd.dtb.mk head/share/mk/bsd.kmod.mk head/sys/conf/dtb.build.mk head/sys/conf/kmod.mk Modified: head/share/mk/bsd.dtb.mk == --- head/share/mk/bsd.dtb.mkThu Nov 21 15:54:56 2019(r354967) +++ head/share/mk/bsd.dtb.mkThu Nov 21 15:59:33 2019(r354968) @@ -1,22 +1,6 @@ # $FreeBSD$ -# Search for kernel source tree in standard places. -.if empty(KERNBUILDDIR) -.if !defined(SYSDIR) -.for _dir in ${SRCTOP:D${SRCTOP}/sys} \ -${.CURDIR}/../.. ${.CURDIR}/../../.. ${.CURDIR}/../../../.. \ -${.CURDIR}/../../../../.. /sys /usr/src/sys -.if !defined(SYSDIR) && exists(${_dir}/kern/) && exists(${_dir}/conf/kmod.mk) -SYSDIR=${_dir} -.endif -.endfor -.endif -.if !defined(SYSDIR) || !exists(${SYSDIR}/kern/) || \ -!exists(${SYSDIR}/conf/kmod.mk) -.error Unable to locate the kernel source tree. Set SYSDIR to override. -.endif -.endif - +.include .include "${SYSDIR}/conf/dtb.mk" .include Modified: head/share/mk/bsd.kmod.mk == --- head/share/mk/bsd.kmod.mk Thu Nov 21 15:54:56 2019(r354967) +++ head/share/mk/bsd.kmod.mk Thu Nov 21 15:59:33 2019(r354968) @@ -1,20 +1,4 @@ # $FreeBSD$ -# Search for kernel source tree in standard places. -.if empty(KERNBUILDDIR) -.if !defined(SYSDIR) -.for _dir in ${SRCTOP:D${SRCTOP}/sys} \ -${.CURDIR}/../.. ${.CURDIR}/../../.. ${.CURDIR}/../../../.. \ -${.CURDIR}/../../../../.. /sys /usr/src/sys -.if !defined(SYSDIR) && exists(${_dir}/kern/) && exists(${_dir}/conf/kmod.mk) -SYSDIR=${_dir:tA} -.endif -.endfor -.endif -.if !defined(SYSDIR) || !exists(${SYSDIR}/kern/) || \ -!exists(${SYSDIR}/conf/kmod.mk) -.error Unable to locate the kernel source tree. Set SYSDIR to override. -.endif -.endif - +.include .include "${SYSDIR}/conf/kmod.mk" Copied and modified: head/share/mk/bsd.sysdir.mk (from r354937, head/share/mk/bsd.kmod.mk) == --- head/share/mk/bsd.kmod.mk Thu Nov 21 06:48:30 2019(r354937, copy source) +++ head/share/mk/bsd.sysdir.mk Thu Nov 21 15:59:33 2019(r354968) @@ -1,7 +1,6 @@ # $FreeBSD$ # Search for kernel source tree in standard places. -.if empty(KERNBUILDDIR) .if !defined(SYSDIR) .for _dir in ${SRCTOP:D${SRCTOP}/sys} \ ${.CURDIR}/../.. ${.CURDIR}/../../.. ${.CURDIR}/../../../.. \ @@ -15,6 +14,3 @@ SYSDIR= ${_dir:tA} !exists(${SYSDIR}/conf/kmod.mk) .error Unable to locate the kernel source tree. Set SYSDIR to override. .endif -.endif - -.include "${SYSDIR}/conf/kmod.mk" Modified: head/sys/conf/dtb.build.mk == --- head/sys/conf/dtb.build.mk Thu Nov 21 15:54:56 2019(r354967) +++ head/sys/conf/dtb.build.mk Thu Nov 21 15:59:33 2019(r354968) @@ -11,12 +11,7 @@ DTC?=dtc .if defined(S) SYSDIR=${S} .else -# Search for kernel source tree in standard places. -.for _dir in ${.CURDIR}/../.. ${.CURDIR}/../../.. /sys /usr/src/sys -.if exists(${_dir}/kern/) -SYSDIR=${_dir:tA} -.endif -.endfor +.include .endif # defined(S) .endif # defined(SYSDIR) Modified: head/sys/conf/kmod.mk == --- head/sys/conf/kmod.mk Thu Nov 21 15:54:56 2019(r354967) +++ head/sys/conf/kmod.mk Thu Nov 21 15:59:33 2019(r354968) @@ -79,21 +79,7 @@ OBJCOPY?=objcopy .include "kern.opts.mk" .include .include "config.mk" - -# Search for kernel source tree in standard places. -.if empty(KERNBUILDDIR) -.if !defined(SYSDIR) -.for _dir in ${SRCTOP:D${SRCTOP}/sys} \ -${.CURDIR}/../.. ${.CURDIR}/../../.. /sys /usr/src/sys -.if !defined(SYSDIR) && exists(${_dir}/kern/) -SYSDIR=${_dir:tA} -.endif -.endfor -.endif -.if !defined(SYSDIR) || !exists(${SYSDIR}/kern/) -.error "can't find kernel source tree" -.endif -.endif +.include .SUFFIXES: .out .o .c .cc .cxx .C .y .l .s .S .m ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354967 - head/usr.sbin/bsdinstall
Author: 0mp (doc,ports committer) Date: Thu Nov 21 15:54:56 2019 New Revision: 354967 URL: https://svnweb.freebsd.org/changeset/base/354967 Log: bsdinstall.8: Fix description of DISTRIBUTIONS environment variable Reviewed by: bcr Approved by: bcr (mentor) MFC after:1 week Differential Revision:https://reviews.freebsd.org/D22478 Modified: head/usr.sbin/bsdinstall/bsdinstall.8 Modified: head/usr.sbin/bsdinstall/bsdinstall.8 == --- head/usr.sbin/bsdinstall/bsdinstall.8 Thu Nov 21 15:38:27 2019 (r354966) +++ head/usr.sbin/bsdinstall/bsdinstall.8 Thu Nov 21 15:54:56 2019 (r354967) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 4, 2018 +.Dd November 21, 2019 .Dt BSDINSTALL 8 .Os .Sh NAME @@ -260,7 +260,7 @@ Others are set by various interactive user prompts, an overridden when making scripted or customized installers. .Bl -tag -width ".Ev BSDINSTALL_DISTSITE" .It Ev DISTRIBUTIONS -The set of distributions to install, e.g., "base kernel ports". +The set of distributions to install, e.g., "base.txz kernel.txz ports.txz". Default: unset .It Ev BSDINSTALL_DISTDIR The directory in which the distribution files can be found (or to which they ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354966 - head
Author: zeising (doc,ports committer) Date: Thu Nov 21 15:38:27 2019 New Revision: 354966 URL: https://svnweb.freebsd.org/changeset/base/354966 Log: ObsoleteFiles.inc: add sio(4) leftovers Add the manual page for sio(4) to ObsoleteFiles.inc, so that make delete-all will remove it. The manual page was removed together with sio(4) in r354929. Approved by: emaste Differential Revision:https://reviews.freebsd.org/D22477 Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc == --- head/ObsoleteFiles.inc Thu Nov 21 14:55:27 2019(r354965) +++ head/ObsoleteFiles.inc Thu Nov 21 15:38:27 2019(r354966) @@ -38,6 +38,8 @@ # xargs -n1 | sort | uniq -d; # done +# 20191121: Removal of sio(4) +OLD_FILES+=usr/share/man/man4/sio.4.gz # 20191105: picobsd(8), et al, removed. OLD_FILES+=usr/share/man/man8/picobsd.8.gz # 20191009: new clang import which bumps version from 8.0.1 to 9.0.0. ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r354936 - head/share/man/man7
On Thu, 21 Nov 2019 at 01:44, Warner Losh wrote: > > Author: imp > Date: Thu Nov 21 06:44:19 2019 > New Revision: 354936 > URL: https://svnweb.freebsd.org/changeset/base/354936 > > Log: > Add table for MACHINE_CPUARCH > > Add table and also some additional verbage of which one to use. This really belongs near the descriptions of MACHINE / MACHINE_ARCH / MACHINE_CPUARCH in arch.7; I'll move it in a bit. ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354963 - head/share/man/man7
Author: emaste Date: Thu Nov 21 14:23:16 2019 New Revision: 354963 URL: https://svnweb.freebsd.org/changeset/base/354963 Log: arch.7: document only FreeBSD 11.0 and later FreeBSD 11 is the earliest supported version and there is no longer a need to include information about differences present in earlier releases. Modified: head/share/man/man7/arch.7 Modified: head/share/man/man7/arch.7 == --- head/share/man/man7/arch.7 Thu Nov 21 14:14:08 2019(r354962) +++ head/share/man/man7/arch.7 Thu Nov 21 14:23:16 2019(r354963) @@ -44,7 +44,7 @@ documentation. .Pp If not explicitly mentioned, sizes are in bytes. The architecture details in this document apply to -.Fx 10.0 +.Fx 11.0 and later, unless otherwise noted. .Pp .Fx @@ -274,8 +274,8 @@ is 8 bytes on all supported architectures except i386. .It aarch64 Ta hard Ta soft, quad precision .It amd64 Ta hard Ta hard, 80 bit .It arm Ta soft Ta soft, double precision -.It armv6 Ta hard(1) Ta hard, double precision -.It armv7 Ta hard(1) Ta hard, double precision +.It armv6 Ta hard Ta hard, double precision +.It armv7 Ta hard Ta hard, double precision .It i386Ta hard Ta hard, 80 bit .It mipsTa soft Ta identical to double .It mipsel Ta soft Ta identical to double @@ -293,11 +293,6 @@ is 8 bytes on all supported architectures except i386. .It riscv64sf Ta soft Ta soft, double precision .It sparc64 Ta hard Ta hard, quad precision .El -.Pp -(1) Prior to -.Fx 11.0 , -armv6 used the softfp ABI even though it supported only processors -with a floating point unit. .Ss Default Tool Chain .Fx uses a variety of tool chain components for the supported CPU architectures: ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354956 - head/sys/arm/broadcom/bcm2835
Author: kevans Date: Thu Nov 21 14:01:44 2019 New Revision: 354956 URL: https://svnweb.freebsd.org/changeset/base/354956 Log: bcm2835_sdhci: only inspect interrupts we handle We'll write the value we read back to ack pending interrupts, but we should at least make it clear to ourselves that we only want to ack pending transfer interrupts. Modified: head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c Modified: head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c == --- head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c Thu Nov 21 14:00:59 2019(r354955) +++ head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c Thu Nov 21 14:01:44 2019(r354956) @@ -653,7 +653,8 @@ bcm_sdhci_dma_intr(int ch, void *arg) * can continue via DMA, do so. Otherwise, re-enable interrupts and * return. */ - reg = bcm_sdhci_read_4(slot->bus, slot, SDHCI_INT_STATUS); + reg = bcm_sdhci_read_4(slot->bus, slot, SDHCI_INT_STATUS) & + DATA_XFER_MASK; if ((reg & DATA_PENDING_MASK) != 0 && BCM_SDHCI_SEGSZ_LEFT(slot) >= BCM_SDHCI_BUFFER_SIZE) { /* ACK any pending interrupts */ ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354952 - head/sys/kern
Author: andrew Date: Thu Nov 21 13:59:01 2019 New Revision: 354952 URL: https://svnweb.freebsd.org/changeset/base/354952 Log: Disable KCSAN within a panic. The kernel is single threaded at this point and the panic is more important. Sponsored by: DARPA, AFRL Modified: head/sys/kern/subr_csan.c Modified: head/sys/kern/subr_csan.c == --- head/sys/kern/subr_csan.c Thu Nov 21 13:57:30 2019(r354951) +++ head/sys/kern/subr_csan.c Thu Nov 21 13:59:01 2019(r354952) @@ -153,6 +153,8 @@ kcsan_access(uintptr_t addr, size_t size, bool write, return; if (__predict_false(kcsan_md_unsupported((vm_offset_t)addr))) return; + if (__predict_false(panicstr != NULL)) + return; new.addr = addr; new.size = size; ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354951 - head/contrib/amd/amd
Author: emaste Date: Thu Nov 21 13:57:30 2019 New Revision: 354951 URL: https://svnweb.freebsd.org/changeset/base/354951 Log: revert contrib/amd changes accidentally committed with r354950 Modified: head/contrib/amd/amd/amd.8 head/contrib/amd/amd/amd.c Modified: head/contrib/amd/amd/amd.8 == --- head/contrib/amd/amd/amd.8 Thu Nov 21 13:56:16 2019(r354950) +++ head/contrib/amd/amd/amd.8 Thu Nov 21 13:57:30 2019(r354951) @@ -72,8 +72,7 @@ .Ar ... .Sh DESCRIPTION .Bf -symbolic -This daemon is deprecated and will be removed before -.Fx 13.0 . +This daemon is obsolete. Users are advised to use .Xr autofs 5 instead. Modified: head/contrib/amd/amd/amd.c == --- head/contrib/amd/amd/amd.c Thu Nov 21 13:56:16 2019(r354950) +++ head/contrib/amd/amd/amd.c Thu Nov 21 13:57:30 2019(r354951) @@ -414,8 +414,6 @@ main(int argc, char *argv[]) progname = "amd"; am_set_progname(progname); - plog(XLOG_WARNING, "built-in amd in FreeBSD is deprecated and will be removed before FreeBSD 13"); - /* * Initialize process id. This is kept * cached since it is used for generating ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354950 - in head: contrib/amd/amd usr.sbin/jail
Author: emaste Date: Thu Nov 21 13:56:16 2019 New Revision: 354950 URL: https://svnweb.freebsd.org/changeset/base/354950 Log: revert r354935 and apply fix for cleandir failure This reapplies the RISC-V GNU ld workaround from r354896, r354899, and 354900, along with a fix for the build failure during cleandir. LINKER_TYPE was not being set during cleandir, resulting in Malformed conditional (${LINKER_TYPE} == "bfd" && ${MACHINE} == "riscv") from Cirrus-CI. PR: 242109 Sponsored by: The FreeBSD Foundation Modified: head/contrib/amd/amd/amd.8 head/contrib/amd/amd/amd.c head/usr.sbin/jail/Makefile Modified: head/contrib/amd/amd/amd.8 == --- head/contrib/amd/amd/amd.8 Thu Nov 21 13:46:16 2019(r354949) +++ head/contrib/amd/amd/amd.8 Thu Nov 21 13:56:16 2019(r354950) @@ -72,7 +72,8 @@ .Ar ... .Sh DESCRIPTION .Bf -symbolic -This daemon is obsolete. +This daemon is deprecated and will be removed before +.Fx 13.0 . Users are advised to use .Xr autofs 5 instead. Modified: head/contrib/amd/amd/amd.c == --- head/contrib/amd/amd/amd.c Thu Nov 21 13:46:16 2019(r354949) +++ head/contrib/amd/amd/amd.c Thu Nov 21 13:56:16 2019(r354950) @@ -414,6 +414,8 @@ main(int argc, char *argv[]) progname = "amd"; am_set_progname(progname); + plog(XLOG_WARNING, "built-in amd in FreeBSD is deprecated and will be removed before FreeBSD 13"); + /* * Initialize process id. This is kept * cached since it is used for generating Modified: head/usr.sbin/jail/Makefile == --- head/usr.sbin/jail/Makefile Thu Nov 21 13:46:16 2019(r354949) +++ head/usr.sbin/jail/Makefile Thu Nov 21 13:56:16 2019(r354950) @@ -15,6 +15,13 @@ NO_WMISSING_VARIABLE_DECLARATIONS= YFLAGS+=-v CFLAGS+=-I. -I${.CURDIR} +# workaround for GNU ld (GNU Binutils) 2.33.1: +# relocation truncated to fit: R_RISCV_GPREL_I against `.LANCHOR2' +# https://bugs.freebsd.org/242109 +.if defined(LINKER_TYPE) && ${LINKER_TYPE} == "bfd" && ${MACHINE} == "riscv" +CFLAGS+=-Wl,--no-relax +.endif + .if ${MK_INET6_SUPPORT} != "no" CFLAGS+= -DINET6 .endif ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354948 - in head: cddl/contrib/opensolaris/cmd/zdb sys/cddl/contrib/opensolaris/uts/common/fs/zfs sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys
Author: avg Date: Thu Nov 21 13:35:43 2019 New Revision: 354948 URL: https://svnweb.freebsd.org/changeset/base/354948 Log: MFV r354383: 10592 misc. metaslab and vdev related ZoL bug fixes illumos/illumos-gate@555d674d5d4b8191dc83723188349d28278b2431 https://github.com/illumos/illumos-gate/commit/555d674d5d4b8191dc83723188349d28278b2431 https://www.illumos.org/issues/10592 This is a collection of recent fixes from ZoL: 8eef997679b Error path in metaslab_load_impl() forgets to drop ms_sync_lock 928e8ad47d3 Introduce auxiliary metaslab histograms 425d3237ee8 Get rid of space_map_update() for ms_synced_length 6c926f426a2 Simplify log vdev removal code 21e7cf5da89 zdb -L should skip leak detection altogether df72b8bebe0 Rename range_tree_verify to range_tree_verify_not_present 75058f33034 Remove unused vdev_t fields Portions contributed by: Jerry Jelinek Author: Serapheim Dimitropoulos MFC after:4 weeks Modified: head/cddl/contrib/opensolaris/cmd/zdb/zdb.8 head/cddl/contrib/opensolaris/cmd/zdb/zdb.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_checkpoint.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/range_tree.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_indirect.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_indirect_mapping.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_initialize.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_removal.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/cmd/zdb/ (props changed) head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zdb/zdb.8 == --- head/cddl/contrib/opensolaris/cmd/zdb/zdb.8 Thu Nov 21 13:22:23 2019 (r354947) +++ head/cddl/contrib/opensolaris/cmd/zdb/zdb.8 Thu Nov 21 13:35:43 2019 (r354948) @@ -10,7 +10,7 @@ .\" .\" .\" Copyright 2012, Richard Lowe. -.\" Copyright (c) 2012, 2017 by Delphix. All rights reserved. +.\" Copyright (c) 2012, 2018 by Delphix. All rights reserved. .\" Copyright 2017 Nexenta Systems, Inc. .\" .Dd October 06, 2017 @@ -187,7 +187,7 @@ If the .Fl u option is also specified, also display the uberblocks on this device. .It Fl L -Disable leak tracing and the loading of space maps. +Disable leak detection and the loading of space maps. By default, .Nm verifies that all non-free blocks are referenced, which can be very expensive. Modified: head/cddl/contrib/opensolaris/cmd/zdb/zdb.c == --- head/cddl/contrib/opensolaris/cmd/zdb/zdb.c Thu Nov 21 13:22:23 2019 (r354947) +++ head/cddl/contrib/opensolaris/cmd/zdb/zdb.c Thu Nov 21 13:35:43 2019 (r354948) @@ -785,18 +785,21 @@ dump_spacemap(objset_t *os, space_map_t *sm) return; (void) printf("space map object %llu:\n", - (longlong_t)sm->sm_phys->smp_object); - (void) printf(" smp_objsize = 0x%llx\n", - (longlong_t)sm->sm_phys->smp_objsize); + (longlong_t)sm->sm_object); + (void) printf(" smp_length = 0x%llx\n", + (longlong_t)sm->sm_phys->smp_length); (void) printf(" smp_alloc = 0x%llx\n", (longlong_t)sm->sm_phys->smp_alloc); + if (dump_opt['d'] < 6 && dump_opt['m'] < 4) + return; + /* * Print out the freelist entries in both encoded and decoded form. */ uint8_t mapshift = sm->sm_shift; int64_t alloc = 0; - uint64_t word; + uint64_t word, entry_id = 0; for (uint64_t offset = 0; offset < space_map_length(sm); offset += sizeof (word)) { @@ -804,11 +807,12 @@ dump_spacemap(objset_t *os, space_map_t *sm) sizeof (word), , DMU_READ_PREFETCH)); if (sm_entry_is_debug(word)) { - (void) printf("\t[%6llu] %s: txg %llu, pass %llu\n", - (u_longlong_t)(offset / sizeof (word)), + (void) printf("\t[%6llu] %s: txg %llu pass %llu\n", + (u_longlong_t)entry_id, ddata[SM_DEBUG_ACTION_DECODE(word)], (u_longlong_t)SM_DEBUG_TXG_DECODE(word),
svn commit: r354947 - in head/sys: amd64/include arm64/include kern
Author: andrew Date: Thu Nov 21 13:22:23 2019 New Revision: 354947 URL: https://svnweb.freebsd.org/changeset/base/354947 Log: Add kcsan_md_unsupported from NetBSD. It's used to ignore virtual addresses that may have a different physical address depending on the CPU. Sponsored by: DARPA, AFRL Modified: head/sys/amd64/include/csan.h head/sys/arm64/include/csan.h head/sys/kern/subr_csan.c Modified: head/sys/amd64/include/csan.h == --- head/sys/amd64/include/csan.h Thu Nov 21 13:12:58 2019 (r354946) +++ head/sys/amd64/include/csan.h Thu Nov 21 13:22:23 2019 (r354947) @@ -36,6 +36,12 @@ #include static inline bool +kcsan_md_unsupported(vm_offset_t addr) +{ + return false; +} + +static inline bool kcsan_md_is_avail(void) { return true; Modified: head/sys/arm64/include/csan.h == --- head/sys/arm64/include/csan.h Thu Nov 21 13:12:58 2019 (r354946) +++ head/sys/arm64/include/csan.h Thu Nov 21 13:22:23 2019 (r354947) @@ -36,6 +36,12 @@ #include static inline bool +kcsan_md_unsupported(vm_offset_t addr) +{ + return false; +} + +static inline bool kcsan_md_is_avail(void) { return true; Modified: head/sys/kern/subr_csan.c == --- head/sys/kern/subr_csan.c Thu Nov 21 13:12:58 2019(r354946) +++ head/sys/kern/subr_csan.c Thu Nov 21 13:22:23 2019(r354947) @@ -151,6 +151,8 @@ kcsan_access(uintptr_t addr, size_t size, bool write, if (__predict_false(!kcsan_enabled)) return; + if (__predict_false(kcsan_md_unsupported((vm_offset_t)addr))) + return; new.addr = addr; new.size = size; ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354946 - head/sys/kern
Author: andrew Date: Thu Nov 21 13:12:58 2019 New Revision: 354946 URL: https://svnweb.freebsd.org/changeset/base/354946 Log: Fix the bus_space functions with KCSAN on arm64. Arm64 doesn't define the bus_space_set_multi_stream and bus_space_set_region_stream functions. Don't try to define them there. Sponsored by: DARPA, AFRL Modified: head/sys/kern/subr_csan.c Modified: head/sys/kern/subr_csan.c == --- head/sys/kern/subr_csan.c Thu Nov 21 12:29:20 2019(r354945) +++ head/sys/kern/subr_csan.c Thu Nov 21 13:12:58 2019(r354946) @@ -828,24 +828,32 @@ CSAN_BUS_WRITE_PTR_FUNC(region_stream, 8, uint64_t) } CSAN_BUS_SET_FUNC(multi, 1, uint8_t) -CSAN_BUS_SET_FUNC(multi_stream, 1, uint8_t) CSAN_BUS_SET_FUNC(region, 1, uint8_t) +#if !defined(__aarch64__) +CSAN_BUS_SET_FUNC(multi_stream, 1, uint8_t) CSAN_BUS_SET_FUNC(region_stream, 1, uint8_t) +#endif CSAN_BUS_SET_FUNC(multi, 2, uint16_t) -CSAN_BUS_SET_FUNC(multi_stream, 2, uint16_t) CSAN_BUS_SET_FUNC(region, 2, uint16_t) +#if !defined(__aarch64__) +CSAN_BUS_SET_FUNC(multi_stream, 2, uint16_t) CSAN_BUS_SET_FUNC(region_stream, 2, uint16_t) +#endif CSAN_BUS_SET_FUNC(multi, 4, uint32_t) -CSAN_BUS_SET_FUNC(multi_stream, 4, uint32_t) CSAN_BUS_SET_FUNC(region, 4, uint32_t) +#if !defined(__aarch64__) +CSAN_BUS_SET_FUNC(multi_stream, 4, uint32_t) CSAN_BUS_SET_FUNC(region_stream, 4, uint32_t) +#endif #if !defined(__amd64__) CSAN_BUS_SET_FUNC(multi, 8, uint64_t) -CSAN_BUS_SET_FUNC(multi_stream, 8, uint64_t) CSAN_BUS_SET_FUNC(region, 8, uint64_t) +#if !defined(__aarch64__) +CSAN_BUS_SET_FUNC(multi_stream, 8, uint64_t) CSAN_BUS_SET_FUNC(region_stream, 8, uint64_t) +#endif #endif ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354945 - head/sys/amd64/amd64
Author: andrew Date: Thu Nov 21 12:29:20 2019 New Revision: 354945 URL: https://svnweb.freebsd.org/changeset/base/354945 Log: Fix for style(9): use parentheses around return statements. Reported by: kib Sponsored by: DARPA, AFRL Modified: head/sys/amd64/amd64/machdep.c Modified: head/sys/amd64/amd64/machdep.c == --- head/sys/amd64/amd64/machdep.c Thu Nov 21 12:29:01 2019 (r354944) +++ head/sys/amd64/amd64/machdep.c Thu Nov 21 12:29:20 2019 (r354945) @@ -2742,21 +2742,21 @@ void * memset(void *buf, int c, size_t len) { - return memset_std(buf, c, len); + return (memset_std(buf, c, len)); } void * memmove(void * _Nonnull dst, const void * _Nonnull src, size_t len) { - return memmove_std(dst, src, len); + return (memmove_std(dst, src, len)); } void * memcpy(void * _Nonnull dst, const void * _Nonnull src, size_t len) { - return memcpy_std(dst, src, len); + return (memcpy_std(dst, src, len)); } #else DEFINE_IFUNC(, void *, memset, (void *, int, size_t)) ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354942 - in head/sys: amd64/amd64 amd64/conf amd64/include arm64/arm64 arm64/conf arm64/include conf kern libkern modules sys x86/include x86/x86
Author: andrew Date: Thu Nov 21 11:22:08 2019 New Revision: 354942 URL: https://svnweb.freebsd.org/changeset/base/354942 Log: Port the NetBSD KCSAN runtime to FreeBSD. Update the NetBSD Kernel Concurrency Sanitizer (KCSAN) runtime to work in the FreeBSD kernel. It is a useful tool for finding data races between threads executing on different CPUs. This can be enabled by enabling KCSAN in the kernel config, or by using the GENERIC-KCSAN amd64 kernel. It works on amd64 and arm64, however the later needs a compiler change to allow -fsanitize=thread that KCSAN uses. Sponsored by: DARPA, AFRL Differential Revision:https://reviews.freebsd.org/D22315 Added: head/sys/amd64/conf/GENERIC-KCSAN (contents, props changed) head/sys/amd64/include/csan.h (contents, props changed) head/sys/arm64/include/csan.h (contents, props changed) head/sys/sys/_cscan_atomic.h (contents, props changed) head/sys/sys/_cscan_bus.h (contents, props changed) Modified: head/sys/amd64/amd64/copyout.c head/sys/amd64/amd64/machdep.c head/sys/amd64/conf/GENERIC head/sys/amd64/include/atomic.h head/sys/arm64/arm64/bus_machdep.c head/sys/arm64/arm64/copystr.c head/sys/arm64/arm64/machdep.c head/sys/arm64/arm64/mp_machdep.c head/sys/arm64/conf/GENERIC head/sys/arm64/include/atomic.h head/sys/arm64/include/bus.h head/sys/conf/files head/sys/conf/files.arm64 head/sys/conf/kern.post.mk head/sys/conf/kern.pre.mk head/sys/conf/options head/sys/kern/subr_csan.c (contents, props changed) head/sys/kern/vfs_aio.c head/sys/libkern/strcmp.c head/sys/libkern/strcpy.c head/sys/libkern/strlen.c head/sys/modules/Makefile head/sys/sys/csan.h (contents, props changed) head/sys/sys/libkern.h head/sys/sys/systm.h head/sys/x86/include/bus.h head/sys/x86/x86/bus_machdep.c head/sys/x86/x86/mp_x86.c Modified: head/sys/amd64/amd64/copyout.c == --- head/sys/amd64/amd64/copyout.c Thu Nov 21 08:20:05 2019 (r354941) +++ head/sys/amd64/amd64/copyout.c Thu Nov 21 11:22:08 2019 (r354942) @@ -146,6 +146,10 @@ DEFINE_IFUNC(, int, casueword, (volatile u_long *, u_l casueword_smap : casueword_nosmap); } +#undef copyinstr +#undef copyin +#undef copyout + intcopyinstr_nosmap(const void *udaddr, void *kaddr, size_t len, size_t *lencopied); intcopyinstr_smap(const void *udaddr, void *kaddr, size_t len, Modified: head/sys/amd64/amd64/machdep.c == --- head/sys/amd64/amd64/machdep.c Thu Nov 21 08:20:05 2019 (r354941) +++ head/sys/amd64/amd64/machdep.c Thu Nov 21 11:22:08 2019 (r354942) @@ -64,6 +64,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -1899,6 +1900,8 @@ hammer_time(u_int64_t modulep, u_int64_t physfree) cpu_probe_amdc1e(); + kcsan_cpu_init(0); + #ifdef FDT x86_init_fdt(); #endif @@ -2722,6 +2725,40 @@ outb_(u_short port, u_char data) void *memset_std(void *buf, int c, size_t len); void *memset_erms(void *buf, int c, size_t len); +void*memmove_std(void * _Nonnull dst, const void * _Nonnull src, + size_t len); +void*memmove_erms(void * _Nonnull dst, const void * _Nonnull src, + size_t len); +void*memcpy_std(void * _Nonnull dst, const void * _Nonnull src, + size_t len); +void*memcpy_erms(void * _Nonnull dst, const void * _Nonnull src, + size_t len); + +#ifdef KCSAN +/* + * These fail to build as ifuncs when used with KCSAN. + */ +void * +memset(void *buf, int c, size_t len) +{ + + return memset_std(buf, c, len); +} + +void * +memmove(void * _Nonnull dst, const void * _Nonnull src, size_t len) +{ + + return memmove_std(dst, src, len); +} + +void * +memcpy(void * _Nonnull dst, const void * _Nonnull src, size_t len) +{ + + return memcpy_std(dst, src, len); +} +#else DEFINE_IFUNC(, void *, memset, (void *, int, size_t)) { @@ -2729,10 +2766,6 @@ DEFINE_IFUNC(, void *, memset, (void *, int, size_t)) memset_erms : memset_std); } -void*memmove_std(void * _Nonnull dst, const void * _Nonnull src, - size_t len); -void*memmove_erms(void * _Nonnull dst, const void * _Nonnull src, - size_t len); DEFINE_IFUNC(, void *, memmove, (void * _Nonnull, const void * _Nonnull, size_t)) { @@ -2741,16 +2774,13 @@ DEFINE_IFUNC(, void *, memmove, (void * _Nonnull, cons memmove_erms : memmove_std); } -void*memcpy_std(void * _Nonnull dst, const void * _Nonnull src, - size_t len); -void*memcpy_erms(void * _Nonnull dst, const void * _Nonnull src, - size_t len); DEFINE_IFUNC(, void *, memcpy, (void * _Nonnull, const void * _Nonnull,size_t)) { return ((cpu_stdext_feature &
Re: svn commit: r354922 - in head: etc libexec/rc libexec/rc/rc.d share/man/man5 sys/sys
Yes it will be removed once all supported releases have it in base -- until then there will be a switch to conditionally depend on the port depending on the FreeBSD version. On Thu, 21 Nov 2019 at 07:31, Alexey Dokuchaev wrote: > > On Wed, Nov 20, 2019 at 11:45:31PM +, Warner Losh wrote: > > New Revision: 354922 > > URL: https://svnweb.freebsd.org/changeset/base/354922 > > > > Log: > > Create /etc/os-release file. > > > > Each boot, regenerate /var/run/os-release based on the currently > > running system. Create a /etc/os-release symlink pointing to this > > file (so that this doesn't create a new reason /etc can not be > > mounted read-only). > > > > This is compatible with what other systems do and is what the > > sysutil/os-release port attempted to do, but in an incomplete way. > > Thanks! Hopefully, `sysutil/os-release' can be wiped out soon: not > just it was placed under wrong category, but it was badly and quite > unreadably coded. > > ./danfe > ___ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org" ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r354941 - in head: cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/cmd/ztest cddl/contrib/opensolaris/lib/l...
Author: avg Date: Thu Nov 21 08:20:05 2019 New Revision: 354941 URL: https://svnweb.freebsd.org/changeset/base/354941 Log: MFV r354382,r354385: 10601 10757 Pool allocation classes illumos/illumos-gate@663207adb1669640c01c5ec6949ce78fd806efae https://github.com/illumos/illumos-gate/commit/663207adb1669640c01c5ec6949ce78fd806efae 10601 Pool allocation classes https://www.illumos.org/issues/10601 illumos port of ZoL Pool allocation classes. Includes at least these two commits: 441709695 Pool allocation classes misplacing small file blocks cc99f275a Pool allocation classes 10757 Add -gLp to zpool subcommands for alt vdev names https://www.illumos.org/issues/10757 Port from ZoL of d2f3e292d Add -gLp to zpool subcommands for alt vdev names Note that a subsequent ZoL commit changed -p to -P a77f29f93 Change full path subcommand flag from -p to -P Portions contributed by: Jerry Jelinek Portions contributed by: HÃ¥kan Johansson Portions contributed by: Richard Yao Portions contributed by: Chunwei Chen Portions contributed by: loli10K Author: Don Brady 11541 allocation_classes feature must be enabled to add log device illumos/illumos-gate@c1064fd7ce62fe763a4475e9988ffea3b22137de https://github.com/illumos/illumos-gate/commit/c1064fd7ce62fe763a4475e9988ffea3b22137de https://www.illumos.org/issues/11541 After the allocation_classes feature was integrated, one can no longer add a log device to a pool unless that feature is enabled. There is an explicit check for this, but it is unnecessary in the case of log devices, so we should handle this better instead of forcing the feature to be enabled. Author: Jerry Jelinek FreeBSD notes. I faithfully added the new -g, -L, -P flags, but only -g does something: vdev GUIDs are displayed instead of device names. -L, resolve symlinks, and -P, display full disk paths, do nothing at the moment. The use of special vdevs is backward compatible for read-only access, so root pools should be bootable, but exercise caution. MFC after:4 weeks Modified: head/cddl/contrib/opensolaris/cmd/zdb/zdb.c head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 head/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 head/cddl/contrib/opensolaris/cmd/zpool/zpool.8 head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c head/cddl/contrib/opensolaris/cmd/ztest/ztest.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c head/cddl/contrib/opensolaris/lib/libzpool/common/util.c head/stand/libsa/zfs/zfsimpl.c head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h head/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_removal.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c head/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/cmd/zdb/ (props changed) head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zdb/zdb.c == --- head/cddl/contrib/opensolaris/cmd/zdb/zdb.c Thu Nov 21 07:48:03 2019 (r354940) +++ head/cddl/contrib/opensolaris/cmd/zdb/zdb.c Thu Nov 21 08:20:05 2019 (r354941) @@ -21,7 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2011, 2017 by Delphix. All rights reserved. + * Copyright (c) 2011, 2018 by Delphix. All rights