Date: Tue, 8 Dec 2015 18:54:28 +0000 (GMT) From: jenkins-admin@FreeBSD.org To: brueffer@FreeBSD.org, smh@FreeBSD.org, ngie@FreeBSD.org, kib@FreeBSD.org, vangyzen@FreeBSD.org, imp@FreeBSD.org, arybchik@FreeBSD.org, emaste@FreeBSD.org, jhb@FreeBSD.org, uqs@FreeBSD.org, np@FreeBSD.org, tuexen@FreeBSD.org, jilles@FreeBSD.org, kevlo@FreeBSD.org, cem@FreeBSD.org, avos@FreeBSD.org, bapt@FreeBSD.org, melifaro@FreeBSD.org, markj@FreeBSD.org, andrew@FreeBSD.org, benno@FreeBSD.org, ken@FreeBSD.org, dim@FreeBSD.org, jkim@FreeBSD.org, hselasky@FreeBSD.org, sjg@FreeBSD.org, nwhitehorn@FreeBSD.org, mav@FreeBSD.org, mckusick@FreeBSD.org, bdrewery@FreeBSD.org, maxim@FreeBSD.org, jenkins-admin@FreeBSD.org, freebsd-arm@FreeBSD.org Subject: FreeBSD_HEAD_arm64 - Build #1853 - Failure Message-ID: <358635345.1.1449600877149.JavaMail.jenkins@jenkins-9.freebsd.org>
next in thread | raw e-mail | index | archive | help
FreeBSD_HEAD_arm64 - Build #1853 - Failure: Build information: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_arm64/1853/ Full change log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_arm64/1853/changes Full build log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_arm64/1853/console Change summaries: 291996 by emaste: Update after r291955, build/install userland debug by default Sponsored by: The FreeBSD Foundation 291995 by bdrewery: Fix some makeman issues. - Don't bother looking up REVISION/BRANCH/etc from release/, or the CPUTYPE check, as these are not used for makeman and wastes time. The also invokes auto.obj.mk after I reverted auto.obj.mk ignoring -V in r291312. - Don't modify CC or PATH when WITH_CCACHE_BUILD or WITH_META_MODE is enabled as it leads to bsd.compiler.mk errors. Sponsored by: EMC / Isilon Storage Division 291994 by vangyzen: resolver: fix the build of some ports, broken by r289315 r289315 required time_t and struct timespec to be defined before including <resolv.h>. This broke the build of net-mgmt/sx, at least. Include <sys/timespec.h> in resolv.h to fix this with minimal pollution. Reported by: Raphael Kubo da Costa <rakuco> MFC after: 3 days Sponsored by: Dell Inc. 291993 by melifaro: Merge helper fib* functions used for basic lookups. Vast majority of rtalloc(9) users require only basic info from route table (e.g. "does the rtentry interface match with the interface I have?". "what is the MTU?", "Give me the IPv4 source address to use", etc..). Instead of hand-rolling lookups, checking if rtentry is up, valid, dealing with IPv6 mtu, finding "address" ifp (almost never done right), provide easy-to-use API hiding all the complexity and returning the needed info into small on-stack structure. This change also helps hiding route subsystem internals (locking, direct rtentry accesses). Additionaly, using this API improves lookup performance since rtentry is not locked. (This is safe, since all the rtentry changes happens under both radix WLOCK and rtentry WLOCK). Sponsored by: Yandex LLC 291989 by uqs: Fix make depend 291985 by arybchik: sfxge: [3/6] rework MCDI response handling Required for MCDI proxy authorization support. Submitted by: Andy Moreton <amoreton at solarflare.com> Reviewed by: gnn Sponsored by: Solarflare Communications, Inc. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D4420 291984 by ngie: Add missing stdlib.h header Apply some minor style(9) fixes MFC after: 3 days Sponsored by: EMC / Isilon Storage Division 291983 by ngie: Fix compilation warnings by adding unistd.h #include and missing return statements MFC after: 3 days Sponsored by: EMC / Isilon Storage Division 291982 by ngie: Skip the MAC portacl tests if MAC_PORTACL support is missing instead of marking them failed MFC after: 1 week Sponsored by: EMC / Isilon Storage Division 291981 by ngie: Delete bogus freeing of uninitialized data MFC after: 3 days Reported by: cppcheck Sponsored by: EMC / Isilon Storage Division 291980 by ngie: Add missing va_ends for corresponding va_starts to clean up variable arguments initialized in _test_fmt(..) MFC after: 3 days Reported by: cppcheck Sponsored by: EMC / Isilon Storage Division 291979 by ngie: Unbreak compiling getnetgrent.c with -DDEBUG after r236402 by adding a missing "}" MFC after: 3 days Sponsored by: EMC / Isilon Storage Division 291978 by sjg: Merge bmake-20151201 291977 by maxim: o DragonFly 4.4.1 release added. 291973 by bdrewery: local.meta.sys.mk already defines TARGET_ARCHES_arm 291972 by bdrewery: DIRDEPS_BUILD: Update dependencies. Sponsored by: EMC / Isilon Storage Division 291968 by markj: Actually add the proc_rwmem(9) man page, missed in r291961. 291967 by markj: Fix a couple misspellings of "environment." MFC after: 3 days 291966 by markj: Add a trailing newline to the expected output for tst.walltimestamp.ksh. MFC after: 1 week 291965 by markj: Fix a discrepancy in r291738. The script that generates these makefiles was changed to modify LIBADD rather than LDADD/DPADD, but the makefile itself was also changed in a slightly different way. 291964 by markj: Update DTrace test suite makefiles after r291963. 291963 by markj: MFV r289003: 6271 dtrace caused excessive fork time Author: Bryan Cantrill <bryan@joyent.com> Reviewed by: Adam Leventhal <ahl@delphix.com> Reviewed by: Dan McDonald <danmcd@omniti.com> Reviewed by: Richard Lowe <richlowe@richlowe.net> Approved by: Gordon Ross <gwr@nexenta.com> illumos/illumos-gate@7bd3c1d12d0c764e1517c3aca62c634409356764 291962 by markj: Modify DTRACEHIOC_ADDDOF to copy the DOF section from the target process. r281257 added support for lazyload mode by allowing dtrace(1) to register a DOF section on behalf of a traced process. This was implemented by having libdtrace copy the DOF section into a heap-allocated buffer and passing its address to the ioctl handler. However, DTrace uses the DOF section address as a lookup key in certain cases, so the ioctl handler should be given the target process' DOF section address instead. This change modifies the ADDDOF handler to copy the DOF section in from the target process, rather than from dtrace(1). 291961 by markj: Add helper functions proc_readmem() and proc_writemem(). These helper functions can be used to read in or write a buffer from or to an arbitrary process' address space. Without them, this can only be done using proc_rwmem(), which requires the caller to fill out a uio. This is onerous and results in code duplication; the new functions provide a simpler interface which is sufficient for most existing callers of proc_rwmem(). This change also adds a manual page for proc_rwmem() and the new functions. Reviewed by: jhb, kib Differential Revision: https://reviews.freebsd.org/D4245 291960 by ken: The ccb_xflags enumeration was removed from FreeBSD/head in r259397 (it contained the CAM_EXTLUN_VALID bit) and I added the same type name with a different set of values back in r291716. The old ccb_xflags enumeration still exists in FreeBSD stable/10. Shift all of the new values by one bit to avoid compatibility issues when merged to stable/10. MFC after: 3 days Sponsored by: Spectra Logic 291959 by bapt: Fix ls -l alignement with new locales Latest update of locales introduced abbreviated month that follows the regionale rules meaning that they can be of variable length instead of being arbitrary truncated to top 3 characters. To fix alignement, ls now computes the visible length of the abbreviated month, pads the shorter month with spaces in order to make sure everything is properly aligned Reviewed by: ache, ed, jilles Differential Revision: https://reviews.freebsd.org/D4239 291958 by emaste: elfcopy: exclude extension when converting from binary When converting from binary to ELF, elfcopy creates symbols _binary_<filename>_start_, _binary_<filename>_end, and _binary_<filename>_size. For compatibility with GNU objcopy (and to produce sensible symbol names) the extension must be stripped off. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D4238 291957 by brueffer: Fix a comment typo in the code example. PR: 203497 Submitted by: chadf@triularity.org MFC after: 1 week 291955 by emaste: Build and install userland .debug files by default Debug data files are now built by default with 'make buildworld' and installed with 'make installworld'. This facilitates debugging but requires more disk space both during the build and for the installed world. Debug files may be disabled by setting WITHOUT_DEBUG_FILES=yes in src.conf(5). Reviewed by: bdrewery, eadler, vangyzen Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D4018 291954 by brueffer: Add an MLINK for m_collapse. PR: 204205 Submitted by: avos MFC after: 1 week 291953 by hselasky: When setting up VLANs on a Raspberry Pi ethernet port, the MTU drops from 1500 to 1496 bytes. The MTU should remain at 1500, extending the frame size as per IEEE 802.3. Adding IFCAP_VLAN_MTU to the if_capabilities field in the smsc driver solves the problem. The datasheet for the LAN9512 chip, section 3.2.3 states that the chip supports the extended frame. Submitted by: rpp@ci.com.au MFC after: 1 week PR: 205050 291952 by bdrewery: Fix spelling of internal hack. Reported by: ngie 291951 by emaste: Replace magic value ELF note type with NT_FREEBSD_ABI_TAG As of r291909 elf_common.h provides a definition. Suggested by: kib Sponsored by: The FreeBSD Foundation 291950 by brueffer: Fix a typo in the CPUTYPE list. PR: 205099 Submitted by: xxjack12xx@gmail.com MFC after: 1 week 291949 by kib: Merge common parts of i386 and amd64 md_var.h and smp.h into new headers x86/include x86_var.h and x86_smp.h. Reviewed by: emaste, jhb Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D4358 291948 by kib: Use ANSI C definition. MFC after: 1 week 291947 by jhb: Set %esp correctly in the extended TSS. The pcb is saved at the top of the kernel stack on x86 platforms. The initial kenrel stack pointer is set in the TSS so that the trapframe from user -> kernel transitions begins directly below the pcb and grows down. The XSAVE changes moved the FPU save area out of the pcb and into a variable-sized area after the pcb. This required updating the expressions to calculate the initial stack pointer from 'stacktop - sizeof(pcb)' to 'stacktop - sizeof(pcb) + FPU save area size'. The i386_set_ioperm() system call allows user applications to access individual I/O ports via the I/O port permission bitmap in the TSS. On FreeBSD this requires allocating a custom per-process TSS instead of using the shared per-CPU TSS. The expression to initialize the initial kernel stack pointer in the per-process TSS created for i386_set_ioperm() was not properly updated after the XSAVE changes. Processes that used i386_set_ioperm() would trash the trapframe during subsequent context switches resulting in panics from memory corruption. This changes fixes the kernel stack pointer calculation for the per-process TSS. Reviewed by: kib, n_hibma Reported by: n_hibma MFC after: 1 week 291946 by bdrewery: Garbage collect removed directories. Sponsored by: EMC / Isilon Storage Division 291945 by bdrewery: FAST_DEPEND: Only pass -MF if we care about the object being compiled. This will save time generating dependency files that we didn't expect due to cases where SRCS!=OBJS or for building custom targetted objects in Makefiles that do not end up in the DEPENDOBJS list. This uses a bmake trick to modify CFLAGS based on ${.TARGET}. A .PARSEDIR check is done for the sake of MFC safety. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division 291944 by bdrewery: FAST_DEPEND: Move handling code below yacc/lex/dtrace code that modified SRCS. This fixes some of those newly added SRCS not having their depend files included. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division 291943 by bdrewery: FAST_DEPEND: Only try to use dependencies from C/C++ SRCS as mkdep did. Rather than try to guess at all of the OBJS variables just use SRCS using the same patterns that mkdep does. This also fixes a mistake where dependencies were being generated with FAST_DEPEND when they were not for mkdep. This happens when OBJS!=SRCS as is the case in gnu/lib/csu where SRCS has 1 file and OBJS has several other files that does not even contain the 1 SRCS file. Generally in these cases the OBJS have custom dependencies defined in their Makefile. If we generate dependencies for those and then load a .depend file, then .IMPSRC may contain duplicate sources and lead to errors such as: cc: error: cannot specify -o when generating multiple output files MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division 291942 by bdrewery: Add missing CLEANFILES. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division 291941 by bdrewery: Replace unneeded manual dependency on header by adding it to SRCS. bsd.lib.mk and bsd.prog.mk already depend all objs on headers in SRCS if there is not yet a depend file. The headers in SRCS are never built or installed. After 'make depend' the header was already added as a proper dependency on the objects where needed. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division 291939 by hselasky: Update the mlx5 shared driver code to the latest version, which include the following list of changes: - Added eswitch ACL table management Introduce API for managing ACL table. This API include the following features: 1) vlan filter - for VST/VGT+ support. 2) spoofcheck. 3) robust functionality to allow/drop general untagged/tagged traffic. 4) support for both ingress and egress ACL types. - Added loopback filter to the vacl table. - Added multicast list set in the vPort context - Added promiscuous mode set in the vPort context - Set the vlan list in vPort context 1) Check caps if VLAN list is not longer than FW supports 2) Set MODIFY_NIC_VPORT_CONTEXT command - Changed MLX5_EEPROM_MAX_BYTES from 48 to 32 so that a single EEPROM reading cannot cross the 128-byte boundary. Previously reading the MCIA register was done in batches of 48 bytes. The third reading would then by-pass the 127th byte, which means that part of the low page and part of the high page would be read at the same time, which created a bug: 1st: 0-47 bytes 2nd: 48-95 bytes 3rd: 96-143 bytes MFC after: 1 week Sponsored by: Mellanox Technologies Differential Revision: https://reviews.freebsd.org/D4411 291938 by hselasky: Add full support for Receive Side Scaling, RSS, to the mlx5en driver. This includes binding all interrupt and worker threads according to the RSS configuration, setting up correct Toeplitz hashing keys as given by RSS and setting the correct mbuf hashtype for all received traffic. MFC after: 1 week Sponsored by: Mellanox Technologies Differential Revision: https://reviews.freebsd.org/D4410 291937 by kib: Add support for usermode (vdso-like) gettimeofday(2) and clock_gettime(2) on ARMv7 and ARMv8 systems which have architectural generic timer hardware. It is similar how the RDTSC timer is used in userspace on x86. Fix a permission problem where generic timer access from EL0 (or userspace on v7) was not properly initialized on APs. For ARMv7, mark the stack non-executable. The shared page is added for all arms (including ARMv8 64bit), and the signal trampoline code is moved to the page. Reviewed by: andrew Discussed with: emaste, mmel Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D4209 291936 by kib: Update ctime when atime or birthtime are updated. Cleanup setting of ctime/mtime/birthtime: do not set IN_ACCESS or IN_UPDATE, then clear them with ufs_itimes(), making transient (possibly inconsistent) change to the times, and then copy user-supplied times into the inode. Instead, directly clear IN_ACCESS or IN_UPDATE when user supplied the time, and copy the value into the inode. Minor inconsistency left is that the inode ctime is updated even when birthtime update attempt is performed on a UFS1 volume. Submitted by: bde MFC after: 2 weeks 291932 by hselasky: Add support for setting the TX moderation mode via a sysctl entry. TX completion events can be moderated in the same way like RX completion events. Expose this functionality by a sysctl variable. MFC after: 1 week Sponsored by: Mellanox Technologies Differential Revision: https://reviews.freebsd.org/D4409 291931 by hselasky: The firmware no longer supports setting a port MTU of zero bytes. Set the port MTU and then query it and report if any problems instead. MFC after: 1 week Submitted by: Shahar Klein <shahark@mellanox.com> Sponsored by: Mellanox Technologies Differential Revision: https://reviews.freebsd.org/D4408 291930 by imp: Start to split apart the different image formats that we need to make. Add support for generating powerpc64 qemu images. We can generate them, but there's something wrong booting them. This also simplifies the user config files a bit, and removes bits no longer true. 291929 by imp: Make sure to quote the arg after -n and -z tests. 291928 by arybchik: sfxge: [2/6] rework MCDI response polling Required to support MCDI proxy authorization. Submitted by: Andy Moreton <amoreton at solarflare.com> Reviewed by: gnn Sponsored by: Solarflare Communications, Inc. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D4418 291927 by arybchik: sfxge: [1/6] add common code MCDI proxy auth build option Submitted by: Andy Moreton <amoreton at solarflare.com> Reviewed by: gnn Sponsored by: Solarflare Communications, Inc. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D4417 291926 by arybchik: sfxge: fix pointer parameter/value signedness mismatch warnings TLV routines use 'uint8_t *', NVRAM code uses caddr_t. Just cast to required type to fix the warning. Required to build with -Werror=pointer-signg. Reviewed by: gnn Sponsored by: Solarflare Communications, Inc. MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D4391 291925 by arybchik: sfxge: fix name conflict with crc32_table from sys/crc32.h The header is not present on FreeBSD, but exists on OmniOS where sfxge common code is used as well. Reviewed by: gnn Sponsored by: Solarflare Communications, Inc. MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D4390 291924 by arybchik: sfxge: switch to TxQ creation specific flags It is better do not mix TxQ creation and receive event flags since only checksum flags are applicable to TxQ. Also it will allow to add a new TxQ creation specific flags. Reviewed by: gnn Sponsored by: Solarflare Communications, Inc. MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D4389 291923 by arybchik: sfxge: [Sorrento] support writing of MUM firmware When writing the MUM firmware the chunk size must be equal to the erase size. Submitted by: Laurence Evans <levans at solarflare.com> Sponsored by: Solarflare Communications, Inc. MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D4388 291922 by arybchik: sfxge: support PERMIT_SET_MAC_WHEN_FILTERS_INSTALLED flag Use flag on vadapter alloc when reported as a supported capability. Use the slow device reset only when the capability is missing. Submitted by: Richard Houldsworth <rhouldsworth at solarflare.com> Sponsored by: Solarflare Communications, Inc. MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D4387 291921 by imp: Document the different config files. Document how to run qemu for the ones I've run. Use qcow2 for all qemu images. 291920 by imp: Improve cam tracing a little by including the function code in the traces for xpt_action. Note up-calls (down-calls?) to the SIM as well. Differential Review: https://reviews.freebsd.org/D4382 291919 by ngie: Enable bin/ls testcases disabled previously because of issues with how kyua 0.11's version of report-junit was rendering non-printable characters Upgrade to kyua 0.12 to obtain a fixed version of the command Output verified with python 2.7.10's xml.dom.minidom module MFC after: 3 days Sponsored by: EMC / Isilon Storage Division 291918 by imp: Now that we have dedup of mtree elements in nanobsd, remove the primitive attempt we made here. 291917 by imp: Fix up mtree with additional entries written to it by nanobsd. implement support for NanoBSD touching a file (and possibly recording that fact) as well as replacing a directory with a symlink. Also specify the default uname and gname for files and use that as a /set command at the top of the generated METALOG file. 291916 by imp: Disable /entropy by default. /var/db/entropy should be enough. # This eliminates the warning message at boot, but more work may be # needed. 291915 by imp: imported patch dedup 291914 by imp: Allow the .cfg files to specify the ultimate format for the images created. 291913 by imp: Generally use shorter, more idiomatic sh expressions in a bunch of places. 291912 by imp: Default serial connection to 115200. Hardly anybody uses slower these days, and those that do can use NANO_BOOT2CFG to change it. 291911 by smh: Fix panic on shutdown due to iscsi event priority iscsi's shutdown_pre_sync prio was SHUTDOWN_PRI_FIRST which caused it to run before other high priority handlers such as filesystems e.g. ZFS. This meant the iscsi sessions where removed before the ZFS geom consumer was closed, resulting in a panic from g_access calls on debug kernels due to negative acr. Instead use the same as the old iscsi_initiator SHUTDOWN_PRI_DEFAULT-1 which allows it to run before dashutdown etc but after filesystems. MFC after: 2 weeks Sponsored by: Multiplay 291909 by emaste: Add definitions for ELF note types used in executables Sponsored by: The FreeBSD Foundation 291908 by ngie: Fix leak in mkfs_msdos(..) by initializing img to NULL and free'ing at the end of the function Differential Revision: https://reviews.freebsd.org/D4405 MFC after: 1 week PR: 204943 Reviewed by: emaste, jilles Reported by: David Binderman <dcb314@hotmail.com> Sponsored by: EMC / Isilon Storage Division 291907 by cem: vm_fault_hold: handle vm_page_rename failure On vm_page_rename failure, fix a missing object unlock and a double free of a page. First remove the old page, then rename into other page into first_object, then free the old page. This avoids the problem on rename failure. This is a little ugly but seems to be the most straightforward solution. Tested with: $ sysctl debug.fail_point.uma_zalloc_arg="1%return" $ kyua test -k /usr/tests/sys/Kyuafile Submitted by: Ryan Libby <rlibby@gmail.com> Reviewed by: kib Seen by: alc Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D4326 291906 by cem: pmap_invalidate_range: For very large ranges, flush the whole TLB Typical TLBs have 40-512 entries available. At some point, iterating every single page in a requested invalidation range and issuing invlpg on it is more expensive than flushing the TLB and allowing it to reload on demand. Broadwell CPUs have 1536 L2 TLB entries, so I've picked the arbitrary number 4096 entries as a hueristic at which point we flush TLB rather than invalidating every single potential page. Reviewed by: alc Feedback from: jhb, kib MFC notes: Depends on r291688 Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D4280 291904 by tuexen: Fix the allocation of outgoing streams: * When processing a cookie, use the number of streams announced in the INIT-ACK. * When sending an INIT-ACK for an existing association, use the value from the association, not from the end-point. MFC after: 1 week 291903 by jilles: sh: Add limited test for ${#@} and ${#*}. POSIX leaves the result of expanding ${#@} and ${#*} unspecified, but ensure it is numeric. 291902 by kevlo: - Fix Tx queues to USB endpoints mapping - Merge urtwn_r92c_dma_init() and urtwn_r88e_dma_init() into one Reviewed by: adrian, avos Differential Revision: https://reviews.freebsd.org/D4381 291896 by ngie: Remove unused atf.test.mk variables - ATF_BUILD_CC - ATF_BUILD_CPP - ATF_BUILD_CXX - ATF_SHELL - ATF_PREFIX MFC after: 1 week Sponsored by: EMC / Isilon Storage Division 291892 by ngie: Remove redundant default TESTSDIR that is already defined in bsd.test.mk after r289158 MFC after: 1 week X-MFC with: r289158 Sponsored by: EMC / Isilon Storage Division 291891 by ngie: Use .Fx instead of explicitly spelling out FreeBSD Fix several warnings reported by igor MFC after: 1 week Sponsored by: EMC / Isilon Storage Division 291877 by nwhitehorn: Adapt to new wireless scheme where base wlan interfaces do not show up in ifconfig anymore. 291876 by ngie: Remove stray unescaped `%` in `Booting from ...` informational message PR: 204944 MFC after: 1 week X-MFC with: r291164 Reported by: David Binderman <dcb314@hotmail.com> Sponsored by: EMC / Isilon Storage Division 291872 by mav: There is no priority request queue on 16Gig chips. 291868 by mav: Rework WWNs generation to make cards without NVRAM more useful. 291864 by bdrewery: Fix regression in r291738: This really wants -lssp. The normal LIBADD is ssp_nonshared. This also had a DPADD on LIBSSP which does not actually exist, it is blank. Sponsored by: EMC / Isilon Storage Division 291863 by imp: When building no-priv, chmod etc/defaults/rc.conf before appending to it and then chmod back. There's no chmod -push / chmod -pop so hard code 444 as the right permissions here. Also, fix more stray detritus that crept in (out?) while re-arranging the deck chairs. 291862 by arybchik: sfxge: erase nvram partitions in chunks equal to their erase size The erase size is reported by the nvram info command. Submitted by: Paul Fox <pfox at solarflare.com> Reviewed by: gnn Sponsored by: Solarflare Communications, Inc. MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D4386 291861 by cem: style.9: Add a small blurb about allowing bool It was allowed before, but make it very explicit it is allowed now. And prefer 'bool' to older types that were used for the same purpose -- int and boolean_t. Like with the C99 fixed-width types, use common sense when changing old code. No igor regressions. Suggested by: bde <20151205031713.T3286@besplex.bde.org> Reviewed by: glebius, davide, bapt (earlier versions) Reviewed by: imp Feedback from: julian Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D4384 291860 by imp: Stupid last minute changes: Add missing } and fi Pointed out by: Howard Su 291859 by kevlo: Remove a duplicate definition. 291858 by avos: urtwn: fix some regressions after r290630 - Restore R92C_TXDW4_HWSEQ_EN bit - it is used by non-8188EU chips. - Fix DRVRATE bit usage. Tested with: - RTL8188EU, STA mode. - RTL8188CUS, STA mode. Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4352 291857 by jilles: sh: Link tests/parameters/positional8.0 to the build. This was forgotten in r291025. 291856 by np: Fix RSS build. Reported by: arybchik@ 291855 by andrew: Allow the artificial profile frames to be adjusted as needed by the user. While here update for armv6 to a tested value. Submitted by: Howard Su <howard0su@gmail.com> Reviewed by: stat Differential Revision: https://reviews.freebsd.org/D4315 291853 by melifaro: Remove LLE read lock from IPv4 fast path. LLE structure is mostly unchanged during its lifecycle. To be more specific, there are 2 things relevant for fast path lookup code: 1) link-level address change. Since r286722, these updates are performed under AFDATA WLOCK. 2) Some sort of feedback indicating that this particular entry is used so we re-send arp request to perform reachability verification instead of expiring entry. The only signal that is needed from fast path is something like binary yes/no. The latter is solved by the following changes: 1) introduce special r_skip_req field which is read lockless by fast path, but updated under (new) req_mutex mutex. If this field is non-zero, then fast path will acquire lock and set it back to 0. 2) introduce simple state machine: incomplete->reachable<->verify->deleted. Before that we implicitely had incomplete->reachable->deleted state machine, with V_arpt_keep between "reachable" and "deleted". Verification was performed in runtime 5 seconds before V_arpt_keep expire. This is changed to "change state to verify 5 seconds before V_arpt_keep, set r_skip_req to non-zero value and check it every second". If the value is zero - then send arp verification probe. These changes do not introduce any signifficant control plane overhead: typically lle callout timer would fire 1 time more each V_arpt_keep (1200s) for used lles and up to arp_maxtries (5) for dead lles. As a result, all packets towards "reachable" lle are handled by fast path without acquiring lle read lock. Additional "req_mutex" is needed because callout / arpresolve_slow() or eventhandler might keep LLE lock for signifficant amount of time, which might not be feasible for fast path locking (e.g. having rmlock as ether AFDATA or lltable own lock). Differential Revision: https://reviews.freebsd.org/D3688 291852 by andrew: Move the check to see if we are tracing a function with the DTrace Function Boundary Trace to assembly to reduce the overhead of these checks. Submitted by: Howard Su <howard0su@gmail.com> Relnotes: Yes Differential Revision: https://reviews.freebsd.org/D4266 291851 by kib: It seems that at least some KVM versions advertise support for EIO suppression but the version of the IOAPIC reported is 0x11 and neither IOAPIC EOIR nor the Linux trick of temporal reprogramming of the pin to edge-trigger mode to issue EOI work. Disable eoi suppression if KVM is detected. The mode can still be forced with the tunable. Reported and tested by: Roman Mamontov <mr.xanto@gmail.com> Sponsored by: The FreeBSD Foundation 291850 by kib: In the pmap_set_pg() function, which enables the global bit on the ptes mapping the kernel on CPUs where global TLB entries are supported, revert to flushing only non-global entries, i.e. to the pre-r291688 state. There is no need to flush global TLB entries, since only global entries created during the previous iterations of the loop could exist at this moment. Submitted by: alc Differential revision: https://reviews.freebsd.org/D4368 291849 by arybchik: sfxge: pick up the new TLV structures The header is auto-generated from firmware sources. Sponsored by: Solarflare Communications, Inc. MFC after: 2 days 291848 by arybchik: sfxge: cleanup: remove set but not used trailer variable Required to build with -Werror=unused-but-set-variable. Sponsored by: Solarflare Communications, Inc. MFC after: 2 days 291847 by arybchik: sfxge: cleanup: remove set but not used variable with parse error indication Required to build with -Werror=unused-but-set-variable. Keep it under #if 0 as a reminder for parse error processing. Sponsored by: Solarflare Communications, Inc. MFC after: 2 days 291846 by arybchik: sfxge: cleanup: remove set but not used saved_spec variable Required to build with -Werror=unused-but-set-variable. Sponsored by: Solarflare Communications, Inc. MFC after: 2 days 291845 by arybchik: sfxge: cleanup: remove SFL9122 "Huntington" PCI IDs The SFL9122 "Huntington" controller was never built. Submitted by: Mark Spender <mspender at solarflare.com> Sponsored by: Solarflare Communications, Inc. MFC after: 2 days 291843 by arybchik: sfxge: support for MCDI logging implemented Submitted by: Artem V. Andreev <Artem.Andreev at oktetlabs.ru> Sponsored by: Solarflare Communications, Inc. MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D4355 291842 by imp: New config files for embedded boards. Build with ../nanobsd.sh -c rpi.cfg, for example. This can be done as a normal user. This is a work in progress. It relies on the new nopriv build stuff committed to nanobsd, but isn't complete yet. Currently, one must copy files into the DOS partition in the image. Also, ownership isn't preserved because this doesn't use the new mtree-dedup.awk yet, but rather some crazy mtree stuff. The image building bits will move up into nanobsd when they are ready. Also includes very preliminary support for building qemu images for all platforms that we can for qemu. It is missing aarch64, and we put the image on s2 instead of s1 and mkimg can't mark s2 as active, so there's some issues. Oh, and I didn't do it for arm. Take a look, kick the tires, expect problems. 291839 by ngie: Initialize errno to 0 in the nul testcase before testing it For some odd reason stable/10 requires this, otherwise it always fails the errno == 0 check on line 196. Sponsored by: EMC / Isilon Storage Division 291838 by ngie: Fix -Wformat issues and minor whitespace issues in surrounding areas MFC after: 1 week Sponsored by: EMC / Isilon Storage Division 291837 by ngie: split.ih: - Create automatically generated include header for split.c main.c: - Use function definitions from debug.ih and split.ih instead of externs Sponsored by: EMC / Isilon Storage Division 291836 by ngie: Use `==` instead of `=` in the function comment above split(..) so mkh -p exposes split(..). MFC after: 1 week Sponsored by: EMC / Isilon Storage Division 291835 by ngie: Use ANSI C function prototypes/definitions instead of K&R style ones MFC after: 1 week Sponsored by: EMC / Isilon Storage Division 291834 by ngie: Add missing headers and sort #includes per style(9) MFC after: 1 week Sponsored by: EMC / Isilon Storage Division 291833 by ngie: - Use ANSI C function prototypes/definitions instead of K&R style ones - Add a missing return type for main(..) MFC after: 1 week Sponsored by: EMC / Isilon Storage Division 291832 by ngie: Fix -Wformat warnings by using the correct format qualifiers MFC after: 1 week Sponsored by: EMC / Isilon Storage Division 291831 by imp: Awk helper script that reads in a mtree METALOG file from installworld (and soon augmented by nanobsd), performs the actions documented in the script, and then spits out a new mtree file suitable for feeding to makefs. Discussed on: arch@ 291830 by imp: Setting NANO_NOPRIV_BUILD will now add -DNO_ROOT and METALOG=xxxx as appropriate. First step in supporting a build w/o root. More to follow as actions by customization scripts are not (yet) recorded in the metalog, and duplicate entries in it aren't removed. 291829 by imp: SRCCONF makes no sense in make.conf. Don't set it there. Rely on it being in the environment. Also filter out the new SRC_ENV_CONF as well. If you really need these set, set them in your config file, not in the build environment used to launch nanobsd. Pointed out by: bdrewery@ 291828 by imp: Minor cleanup in how we run make: o Move SRCCONF and __MAKE_CONF into the environment to cope with file paths with spaces in them better. o Move the rest of the variable setting command line args into __MAKE_CONF files. o Trace the commands that we're using to build so they appear at the top of the log. o Be more consistent about quoting paths for cd and similar commands to better cope with paths with spaces in them, though some more work is likely needed. o Add some comments about all this. o Minor formatting tweaks in a couple places Sponsored by: Netflix, Inc 291827 by imp: Remove commented out junk. 291826 by cem: ioat(4): Add MODULE_VERSION so MODULE_DEPEND works Suggested by: jhb Review in progress: cc Sponsored by: EMC / Isilon Storage Division 291825 by imp: Since this is an almost identical copy of ALIX_DSK, just include it and add the bits we need at the end. 291821 by mav: Make 16Gig chips to use new queue pointer registers. While 24xx-style ATIO and reply queue registers seems like still working, request queue doesn't. So instead of that use registers from PCI BAR(4). 291793 by hselasky: Fix i386 build WITH_OFED=YES. Remove some redundant KASSERTs. Suggested by: kib, ian Sponsored by: Mellanox Technologies MFC after: 1 week 291771 by dim: Add clang patch corresponding to r291701. 291770 by jilles: rc.subr: Check for running daemons before a custom start_cmd is executed. Currently rc scripts implementing their own start_cmd do not enjoy the benefits of rc.subr's own check for rc_pid. This leads to around a third of ports with such a start_cmd not to check for the process at all and two thirds of ports to re-implement this check (sometimes wrongly). This patch moves the check for rc_pid to before ${rc_arg}_cmd is executed. Submitted by: Dirk Engling Reviewed by: feld MFC after: 1 week Relnotes: yes Differential Revision: https://reviews.freebsd.org/D4156 291768 by andrew: Add ahci_generic to the ahci module on arm64. Pointed out by: kib 291766 by brueffer: ARC-1203 is supported since the latest driver update. 291753 by ngie: Fix scope of bridge_header and bridge_pcix_cap in mthca_reset(..) They're only used in the __linux__ case Differential Revision: https://reviews.freebsd.org/D4332 MFC after: 1 week Reported by: cppcheck Reviewed by: hselasky Sponsored by: EMC / Isilon Storage Division 291752 by tuexen: Fix a bug where a stream reset request wasn't retranmitted when the peer indicated "In progress". MFC after: 1 week 291751 by bdrewery: Fix 'install*' and many other missing targets with DIRDEPS_BUILD. My changes in r291635 broke 'make install*' for DIRDEPS_BUILD but also revealed that some other targets were not guaranteed to be created if there was a SUBDIR defined. One example is 'installfiles' was never defined if SUBDIR was not empty. Sponsored by: EMC / Isilon Storage Division 291750 by bdrewery: The .if redirection on .WAIT is no longer needed with bmake. Sponsored by: EMC / Isilon Storage Division 291749 by bdrewery: Fix 'afterinstall' order not being respected after my changes in r291635. The problem was that 'afterinstall' was not coming after SUBDIRs were installed which was the expectation at least in sys/modules for kldxref. Reported by: np Pointyhat to: bdrewery Sponsored by: EMC / Isilon Storage Division 291748 by bdrewery: Rearrange some common logic. 291747 by arybchik: sfxge: [EF10] support RxQ scattering control If, for example, a VF is configured to use a 1500 byte MTU, but the port it is attached to is set to 9000 bytes, overlength frames can be received by the VF. As Huntington scatters by default, these overlength packets would be scattered across several descriptors, with all except the last having the CONT bit set. To avoid this, disable scatter when creating RXQs if the firmware supports doing so, which all recent versions do. Then we only get a single descriptor from an overlength frame. This will have the CONT bit set to indicate it was truncated, so we can discard it. Submitted by: Mark Spender <mspender at solarflare.com> Sponsored by: Solarflare Communications, Inc. MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D4354 291746 by arybchik: sfxge: add additional WRITESIZE value for NVRAM_INFO command Submitted by: Paul Fox <pfox at solarflare.com> Sponsored by: Solarflare Communications, Inc. MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D4353 291745 by bdrewery: Remove disconnected directory RETEST. 291744 by bdrewery: Calculate MPATH for sys/modules to save 92% time in a basic 'obj' tree-walk. Sponsored by: EMC / Isilon Storage Division 291743 by mckusick: We need to zero out the clustering variables in a freed vnode structure. For completeness add a VNASSERT that there are no threads waiting on a range lock (this was previously checked on every vnode free). Reported by; Rick Macklem Fix from: Mateusz Guzik PR: 204949 291742 by ken: Fix a style issue in g_disk_limit(). Noticed by: bdrewery MFC after: 1 week 291741 by ken: Fix g_disk_vlist_limit() to work properly with deletes. Add a new bp argument to g_disk_maxsegs(), and add a new function, g_disk_maxsize() tha will properly determine the maximum I/O size for a delete or non-delete bio. Submitted by: will MFC after: 1 week Sponsored by: Spectra Logic 291740 by bdrewery: Move obscure lib/ installation of /usr/lib/include symlink to include/. This avoids the need for an afterinstall: hook and a check for LIBRARIES_ONLY. It also now respects INCLUDEDIR. This came in r249484. Sponsored by: EMC / Isilon Storage Division 291739 by bdrewery: Add assertion for when LIBADD should be used rather than LDADD/DPADD. Sponsored by: EMC / Isilon Storage Division 291738 by bdrewery: Fix LDADD/DPADD that should be LIBADD. Sponsored by: EMC / Isilon Storage Division 291737 by bdrewery: Rework unknown LIBADD assertion to be more clear and to not suggest adding DPADD/LDADD_<foo> variables that are a special case. Sponsored by: EMC / Isilon Storage Division 291736 by bdrewery: Support all of the CDDL/ZFS libraries for LIBADD. Sponsored by: EMC / Isilon Storage Division 291735 by bdrewery: For INTERNALLIB always add in the corresponding _DP_ and use LIBADD in the real build file. This lessens the need to define DPADD_<lib> and LDADD_<lib> to just very special cases. Sponsored by: EMC / Isilon Storage Division 291734 by bdrewery: Replace ln -s calls with INSTALL_SYMLINK Sponsored by: EMC / Isilon Storage Division 291733 by bdrewery: Don't create a Makefile.depend in share/mk. This would cause it to be included everywhere in the build since it is the MAKESYSPATH. This leads to including dirdeps.mk more times than desired. Sponsored by: EMC / Isilon Storage Division 291732 by bdrewery: DIRDEPS_BUILD: Install new Makefile.depend files atomically. Sponsored by: EMC / Isilon Storage Division 291731 by bdrewery: DIRDEPS_BUILD: For the bootstrapped LIBADD from DPADD, resolve paths to RELDIR. This allows the LIBDEPS/DPADD for the clang build to not have ../../../lib/clang/* in DIRDEPS. Sponsored by: EMC / Isilon Storage Division 291730 by mav: Update isp_put_icb_2400() for new structure fields. 291729 by bdrewery: Simplify the LIBRARIES_ONLY hacks so that install: is not needed here. This uses the same pattern that I applied to the other cases of this in the csu directories. Sponsored by: EMC / Isilon Storage Division 291728 by benno: Tweak some unused field defines to have the correct number of zeroes. Reviewed by: jhb Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D4365 291727 by mav: Enable interrupt handshake for 16Gig chips. We don't support MSI-X so far, so it is always required. 291726 by bdrewery: rescue/rescue does not yet build in meta mode. 291725 by bdrewery: Revert r288966 as it is redundant and not right. bsd.prog.mk and bsd.lib.mk already make OBJS depend on headers when there is not .OBJDIR/.depend file, which is still true for the initial meta mode builds. If there was something to benefit the meta mode build here then it should be extended to the non-meta mode build as well. Some of the problems here were just DPSRCS being hooked up wrongly, fixed in r291330. The logic itself is flawed as 'buildfiles' is in a different part of the dependency tree than the objects and headers are, so the objects will still be built independent from 'buildfiles'. 'buildfiles' is not ordered in the build before objects. Sponsored by: EMC / Isilon Storage Division 291724 by ken: Fix typos in the camdd(8) usage() function output caused by an error in my diff filter script. Sponsored by: Spectra Logic MFC after: 1 week 291723 by nwhitehorn: Follow-on to r291666: use -ffreestanding instead of -fno-builtin. Requested by: kib 291720 by bdrewery: Convert to LIBADD Sponsored by: EMC / Isilon Storage Division 291719 by jkim: Merge OpenSSL 1.0.2e. 291718 by bdrewery: Use proper LIBADD. Sponsored by: EMC / Isilon Storage Division 291717 by bdrewery: DIRDEPS_BUILD: Connect usr.sbin/camdd Sponsored by: EMC / Isilon Storage Division 291716 by ken: Add asynchronous command support to the pass(4) driver, and the new camdd(8) utility. CCBs may be queued to the driver via the new CAMIOQUEUE ioctl, and completed CCBs may be retrieved via the CAMIOGET ioctl. User processes can use poll(2) or kevent(2) to get notification when I/O has completed. While the existing CAMIOCOMMAND blocking ioctl interface only supports user virtual data pointers in a CCB (generally only one per CCB), the new CAMIOQUEUE ioctl supports user virtual and physical address pointers, as well as user virtual and physical scatter/gather lists. This allows user applications to have more flexibility in their data handling operations. Kernel memory for data transferred via the queued interface is allocated from the zone allocator in MAXPHYS sized chunks, and user data is copied in and out. This is likely faster than the vmapbuf()/vunmapbuf() method used by the CAMIOCOMMAND ioctl in configurations with many processors (there are more TLB shootdowns caused by the mapping/unmapping operation) but may not be as fast as running with unmapped I/O. The new memory handling model for user requests also allows applications to send CCBs with request sizes that are larger than MAXPHYS. The pass(4) driver now limits queued requests to the I/O size listed by the SIM driver in the maxio field in the Path Inquiry (XPT_PATH_INQ) CCB. There are some things things would be good to add: 1. Come up with a way to do unmapped I/O on multiple buffers. Currently the unmapped I/O interface operates on a struct bio, which includes only one address and length. It would be nice to be able to send an unmapped scatter/gather list down to busdma. This would allow eliminating the copy we currently do for data. 2. Add an ioctl to list currently outstanding CCBs in the various queues. 3. Add an ioctl to cancel a request, or use the XPT_ABORT CCB to do that. 4. Test physical address support. Virtual pointers and scatter gather lists have been tested, but I have not yet tested physical addresses or scatter/gather lists. 5. Investigate multiple queue support. At the moment there is one queue of commands per pass(4) device. If multiple processes open the device, they will submit I/O into the same queue and get events for the same completions. This is probably the right model for most applications, but it is something that could be changed later on. Also, add a new utility, camdd(8) that uses the asynchronous pass(4) driver interface. This utility is intended to be a basic data transfer/copy utility, a simple benchmark utility, and an example of how to use the asynchronous pass(4) interface. It can copy data to and from pass(4) devices using any target queue depth, starting offset and blocksize for the input and ouptut devices. It currently only supports SCSI devices, but could be easily extended to support ATA devices. It can also copy data to and from regular files, block devices, tape devices, pipes, stdin, and stdout. It does not support queueing multiple commands to any of those targets, since it uses the standard read(2)/write(2)/writev(2)/readv(2) system calls. The I/O is done by two threads, one for the reader and one for the writer. The reader thread sends completed read requests to the writer thread in strictly sequential order, even if they complete out of order. That could be modified later on for random I/O patterns or slightly out of order I/O. camdd(8) uses kqueue(2)/kevent(2) to get I/O completion events from the pass(4) driver and also to send request notifications internally. For pass(4) devcies, camdd(8) uses a single buffer (CAM_DATA_VADDR) per CAM CCB on the reading side, and a scatter/gather list (CAM_DATA_SG) on the writing side. In addition to testing both interfaces, this makes any potential reblocking of I/O easier. No data is copied between the reader and the writer, but rather the reader's buffers are split into multiple I/O requests or combined into a single I/O request depending on the input and output blocksize. For the file I/O path, camdd(8) also uses a single buffer (read(2), write(2), pread(2) or pwrite(2)) on reads, and a scatter/gather list (readv(2), writev(2), preadv(2), pwritev(2)) on writes. Things that would be nice to do for camdd(8) eventually: 1. Add support for I/O pattern generation. Patterns like all zeros, all ones, LBA-based patterns, random patterns, etc. Right Now you can always use /dev/zero, /dev/random, etc. 2. Add support for a "sink" mode, so we do only reads with no writes. Right now, you can use /dev/null. 3. Add support for automatic queue depth probing, so that we can figure out the right queue depth on the input and output side for maximum throughput. At the moment it defaults to 6. 4. Add support for SATA device passthrough I/O. 5. Add support for random LBAs and/or lengths on the input and output sides. 6. Track average per-I/O latency and busy time. The busy time and latency could also feed in to the automatic queue depth determination. sys/cam/scsi/scsi_pass.h: Define two new ioctls, CAMIOQUEUE and CAMIOGET, that queue and fetch asynchronous CAM CCBs respectively. Although these ioctls do not have a declared argument, they both take a union ccb pointer. If we declare a size here, the ioctl code in sys/kern/sys_generic.c will malloc and free a buffer for either the CCB or the CCB pointer (depending on how it is declared). Since we have to keep a copy of the CCB (which is fairly large) anyway, having the ioctl malloc and free a CCB for each call is wasteful. sys/cam/scsi/scsi_pass.c: Add asynchronous CCB support. Add two new ioctls, CAMIOQUEUE and CAMIOGET. CAMIOQUEUE adds a CCB to the incoming queue. The CCB is executed immediately (and moved to the active queue) if it is an immediate CCB, but otherwise it will be executed in passstart() when a CCB is available from the transport layer. When CCBs are completed (because they are immediate or passdone() if they are queued), they are put on the done queue. If we get the final close on the device before all pending I/O is complete, all active I/O is moved to the abandoned queue and we increment the peripheral reference count so that the peripheral driver instance doesn't go away before all pending I/O is done. The new passcreatezone() function is called on the first call to the CAMIOQUEUE ioctl on a given device to allocate the UMA zones for I/O requests and S/G list buffers. This may be good to move off to a taskqueue at some point. The new passmemsetup() function allocates memory and scatter/gather lists to hold the user's data, and copies in any data that needs to be written. For virtual pointers (CAM_DATA_VADDR), the kernel buffer is malloced from the new pass(4) driver malloc bucket. For virtual scatter/gather lists (CAM_DATA_SG), buffers are allocated from a new per-pass(9) UMA zone in MAXPHYS-sized chunks. Physical pointers are passed in unchanged. We have support for up to 16 scatter/gather segments (for the user and kernel S/G lists) in the default struct pass_io_req, so requests with longer S/G lists require an extra kernel malloc. The new passcopysglist() function copies a user scatter/gather list to a kernel scatter/gather list. The number of elements in each list may be different, but (obviously) the amount of data stored has to be identical. The new passmemdone() function copies data out for the CAM_DATA_VADDR and CAM_DATA_SG cases. The new passiocleanup() function restores data pointers in user CCBs and frees memory. Add new functions to support kqueue(2)/kevent(2): passreadfilt() tells kevent whether or not the done queue is empty. passkqfilter() adds a knote to our list. passreadfiltdetach() removes a knote from our list. Add a new function, passpoll(), for poll(2)/select(2) to use. Add devstat(9) support for the queued CCB path. sys/cam/ata/ata_da.c: Add support for the BIO_VLIST bio type. sys/cam/cam_ccb.h: Add a new enumeration for the xflags field in the CCB header. (This doesn't change the CCB header, just adds an enumeration to use.) sys/cam/cam_xpt.c: Add a new function, xpt_setup_ccb_flags(), that allows specifying CCB flags. sys/cam/cam_xpt.h: Add a prototype for xpt_setup_ccb_flags(). sys/cam/scsi/scsi_da.c: Add support for BIO_VLIST. sys/dev/md/md.c: Add BIO_VLIST support to md(4). sys/geom/geom_disk.c: Add BIO_VLIST support to the GEOM disk class. Re-factor the I/O size limiting code in g_disk_start() a bit. sys/kern/subr_bus_dma.c: Change _bus_dmamap_load_vlist() to take a starting offset and length. Add a new function, _bus_dmamap_load_pages(), that will load a list of physical pages starting at an offset. Update _bus_dmamap_load_bio() to allow loading BIO_VLIST bios. Allow unmapped I/O to start at an offset. sys/kern/subr_uio.c: Add two new functions, physcopyin_vlist() and physcopyout_vlist(). sys/pc98/include/bus.h: Guard kernel-only parts of the pc98 machine/bus.h header with #ifdef _KERNEL. This allows userland programs to include <machine/bus.h> to get the definition of bus_addr_t and bus_size_t. sys/sys/bio.h: Add a new bio flag, BIO_VLIST. sys/sys/uio.h: Add prototypes for physcopyin_vlist() and physcopyout_vlist(). share/man/man4/pass.4: Document the CAMIOQUEUE and CAMIOGET ioctls. usr.sbin/Makefile: Add camdd. usr.sbin/camdd/Makefile: Add a makefile for camdd(8). usr.sbin/camdd/camdd.8: Man page for camdd(8). usr.sbin/camdd/camdd.c: The new camdd(8) utility. Sponsored by: Spectra Logic MFC after: 1 week 291706 by cem: if_ntb: Don't roundup MW size to full BAR size unnecessarily Note that the MW allocation still must be BAR *aligned*. So, this only loosens the constraints on MW allocation slightly. BAR-aligned does not play well with large (GB+) BAR sizes. Going forward, if anyone cares about if_ntb on very large BARs, I suggest they add functionality to allocate a smaller window than the BAR size, and set the BAR range to cover a window much larger than the allocated window. This will require negotiating a window offset and limit for protocol traffic. None of this is implemented in this revision. Sponsored by: EMC / Isilon Storage Division 291705 by cem: if_ntb: Log error *before* zeroing relevant variables Sponsored by: EMC / Isilon Storage Division 291704 by cem: Pull vm_object_scan_all_shadowed out of vm_object_backing_scan These two functions were largely unrelated, they just used the same same loop logic to walk through a backing object's memq. Pull out the all_shadowed test as its own function and eliminate OBSC_TEST_ALL_SHADOWED. Rename vm_object_backing_scan to vm_object_collapse_scan. No functional change. Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D4335 291703 by hselasky: Regenerate usb.conf . MFC after: 1 week 291702 by nwhitehorn: Bump MAXCPU. We already run on hardware with 32 threads and the same hardware is available commercially with up to 96 threads per socket. MFC after: 3 weeks The end of the build log: [...truncated 155023 lines...] --- depend_subdir_accf_data --- --- .depend --- rm -f .depend --- depend_subdir_accf_dns --- --- machine --- --- depend_subdir_accf_data --- CC='cc -B/usr/local/aarch64-freebsd/bin/' mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -DHAVE_KERNEL_OPTION_HEADERS -I. -I/usr/src/sys -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC -D__printf__=__freebsd_kprintf__ -std=iso9899:1999 /usr/src/sys/modules/accf_data/../../netinet/accf_data.c --- depend_subdir_accf_dns --- machine -> /usr/src/sys/arm64/include --- depend_subdir_accf_http --- --- machine --- --- depend_subdir_accf_dns --- --- .depend --- rm -f .depend CC='cc -B/usr/local/aarch64-freebsd/bin/' mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -DHAVE_KERNEL_OPTION_HEADERS -I. -I/usr/src/sys -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC -D__printf__=__freebsd_kprintf__ -std=iso9899:1999 /usr/src/sys/modules/accf_dns/../../netinet/accf_dns.c --- depend_subdir_accf_http --- machine -> /usr/src/sys/arm64/include --- .depend --- rm -f .depend CC='cc -B/usr/local/aarch64-freebsd/bin/' mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -DHAVE_KERNEL_OPTION_HEADERS -I. -I/usr/src/sys -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC -D__printf__=__freebsd_kprintf__ -std=iso9899:1999 /usr/src/sys/modules/accf_http/../../netinet/accf_http.c --- depend_subdir_acl_nfs4 --- --- machine --- machine -> /usr/src/sys/arm64/include --- vnode_if_newproto.h --- awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -p --- vnode_if_typedef.h --- awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -q --- pccarddevs.h --- awk -f /usr/src/sys/tools/pccarddevs2h.awk /usr/src/sys/dev/pccard/pccarddevs --- modules-depend --- --- vnode_if.h --- --- depend_subdir_acl_posix1e --- --- depend_subdir_acl_nfs4 --- awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -h --- depend_subdir_acl_posix1e --- ===> acl_posix1e (depend) --- usbdevs.h --- awk -f /usr/src/sys/tools/usbdevs2h.awk /usr/src/sys/dev/usb/usbdevs -h --- modules-depend --- --- machine --- machine -> /usr/src/sys/arm64/include --- vnode_if_newproto.h --- awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -p --- depend_subdir_acl_nfs4 --- --- .depend --- rm -f .depend CC='cc -B/usr/local/aarch64-freebsd/bin/' mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -DHAVE_KERNEL_OPTION_HEADERS -I. -I/usr/src/sys -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC -D__printf__=__freebsd_kprintf__ -std=iso9899:1999 /usr/src/sys/modules/acl_nfs4/../../kern/subr_acl_nfs4.c --- depend_subdir_acl_posix1e --- --- vnode_if_typedef.h --- --- depend_subdir_ae --- --- depend_subdir_acl_posix1e --- awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -q --- depend_subdir_ae --- ===> ae (depend) --- depend_subdir_acl_posix1e --- --- vnode_if.h --- awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -h --- depend_subdir_ae --- --- machine --- machine -> /usr/src/sys/arm64/include --- device_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -h --- bus_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -h --- depend_subdir_acl_posix1e --- --- .depend --- rm -f .depend CC='cc -B/usr/local/aarch64-freebsd/bin/' mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -DHAVE_KERNEL_OPTION_HEADERS -I. -I/usr/src/sys -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC -D__printf__=__freebsd_kprintf__ -std=iso9899:1999 /usr/src/sys/modules/acl_posix1e/../../kern/subr_acl_posix1e.c --- depend_subdir_ae --- --- pci_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pci_if.m -h --- usbdevs_data.h --- awk -f /usr/src/sys/tools/usbdevs2h.awk /usr/src/sys/dev/usb/usbdevs -d --- modules-depend --- --- miibus_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mii/miibus_if.m -h --- .depend --- rm -f .depend CC='cc -B/usr/local/aarch64-freebsd/bin/' mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -DHAVE_KERNEL_OPTION_HEADERS -I. -I/usr/src/sys -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC -D__printf__=__freebsd_kprintf__ -std=iso9899:1999 /usr/src/sys/modules/ae/../../dev/ae/if_ae.c --- depend_subdir_age --- ===> age (depend) --- machine --- machine -> /usr/src/sys/arm64/include --- device_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -h --- bus_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -h --- pci_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pci_if.m -h --- miibus_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mii/miibus_if.m -h --- .depend --- rm -f .depend CC='cc -B/usr/local/aarch64-freebsd/bin/' mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -DHAVE_KERNEL_OPTION_HEADERS -I. -I/usr/src/sys -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC -D__printf__=__freebsd_kprintf__ -std=iso9899:1999 /usr/src/sys/modules/age/../../dev/age/if_age.c --- depend_subdir_aha --- ===> aha (depend) --- machine --- machine -> /usr/src/sys/arm64/include --- opt_cam.h --- ln -sf /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_cam.h opt_cam.h --- device_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -h --- bus_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -h --- isa_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/isa/isa_if.m -h --- .depend --- rm -f .depend CC='cc -B/usr/local/aarch64-freebsd/bin/' mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -DHAVE_KERNEL_OPTION_HEADERS -I. -I/usr/src/sys -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC -D__printf__=__freebsd_kprintf__ -std=iso9899:1999 /usr/src/sys/modules/aha/../../dev/aha/aha.c /usr/src/sys/modules/aha/../../dev/aha/aha_isa.c --- depend_subdir_ahci --- ===> ahci (depend) --- machine --- machine -> /usr/src/sys/arm64/include --- opt_cam.h --- ln -sf /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_cam.h opt_cam.h --- device_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -h --- bus_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -h --- pci_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pci_if.m -h --- .depend --- rm -f .depend CC='cc -B/usr/local/aarch64-freebsd/bin/' mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -DHAVE_KERNEL_OPTION_HEADERS -I. -I/usr/src/sys -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC -D__printf__=__freebsd_kprintf__ -std=iso9899:1999 /usr/src/sys/modules/ahci/../../dev/ahci/ahci.c /usr/src/sys/modules/ahci/../../dev/ahci/ahci_pci.c /usr/src/sys/modules/ahci/../../dev/ahci/ahciem.c /usr/src/sys/modules/ahci/../../dev/ahci/ahci_generic.c --- depend_subdir_aic7xxx --- ===> aic7xxx (depend) --- depend_subdir_ahc --- ===> aic7xxx/ahc (depend) --- machine --- machine -> /usr/src/sys/arm64/include --- depend_subdir_ahc_isa --- ===> aic7xxx/ahc/ahc_isa (depend) --- machine --- machine -> /usr/src/sys/arm64/include --- opt_scsi.h --- ln -sf /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_scsi.h opt_scsi.h --- opt_cam.h --- ln -sf /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_cam.h opt_cam.h --- opt_aic7xxx.h --- ln -sf /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_aic7xxx.h opt_aic7xxx.h --- device_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -h --- bus_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -h --- pci_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pci_if.m -h --- isa_if.h --- --- depend_subdir_ahc_pci --- --- depend_subdir_ahc_isa --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/isa/isa_if.m -h --- depend_subdir_ahc_pci --- ===> aic7xxx/ahc/ahc_pci (depend) --- depend_subdir_ahc_isa --- --- .depend --- rm -f .depend CC='cc -B/usr/local/aarch64-freebsd/bin/' mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -I/usr/src/sys/modules/aic7xxx/ahc/ahc_isa/../../../../dev/aic7xxx -I.. -DHAVE_KERNEL_OPTION_HEADERS -I. -I/usr/src/sys -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC -D__printf__=__freebsd_kprintf__ -std=iso9899:1999 /usr/src/sys/modules/aic7xxx/ahc/ahc_isa/../../../../dev/aic7xxx/ahc_isa.c --- depend_subdir_ahc_pci --- --- machine --- machine -> /usr/src/sys/arm64/include --- opt_scsi.h --- ln -sf /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_scsi.h opt_scsi.h --- opt_cam.h --- ln -sf /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_cam.h opt_cam.h --- opt_aic7xxx.h --- ln -sf /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_aic7xxx.h opt_aic7xxx.h --- device_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -h --- bus_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -h --- depend_subdir_ahci --- In file included from /usr/src/sys/modules/ahci/../../dev/ahci/ahci_generic.c:47: /usr/src/sys/dev/ofw/ofw_bus.h:36:10: fatal error: 'ofw_bus_if.h' file not found #include "ofw_bus_if.h" ^ 1 error generated. mkdep: compile failed *** [.depend] Error code 1 make[4]: stopped in /usr/src/sys/modules/ahci 1 error make[4]: stopped in /usr/src/sys/modules/ahci *** [depend_subdir_ahci] Error code 2 make[3]: stopped in /usr/src/sys/modules --- depend_subdir_aic7xxx --- A failure has been detected in another branch of the parallel make make[6]: stopped in /usr/src/sys/modules/aic7xxx/ahc/ahc_pci *** [depend_subdir_ahc_pci] Error code 2 make[5]: stopped in /usr/src/sys/modules/aic7xxx/ahc --- depend_subdir_ahc_isa --- A failure has been detected in another branch of the parallel make make[6]: stopped in /usr/src/sys/modules/aic7xxx/ahc/ahc_isa *** [depend_subdir_ahc_isa] Error code 2 make[5]: stopped in /usr/src/sys/modules/aic7xxx/ahc 2 errors make[5]: stopped in /usr/src/sys/modules/aic7xxx/ahc *** [depend_subdir_ahc] Error code 2 make[4]: stopped in /usr/src/sys/modules/aic7xxx 1 error make[4]: stopped in /usr/src/sys/modules/aic7xxx *** [depend_subdir_aic7xxx] Error code 2 make[3]: stopped in /usr/src/sys/modules 2 errors make[3]: stopped in /usr/src/sys/modules *** [modules-depend] Error code 2 make[2]: stopped in /usr/obj/arm64.aarch64/usr/src/sys/GENERIC 1 error make[2]: stopped in /usr/obj/arm64.aarch64/usr/src/sys/GENERIC *** [buildkernel] Error code 2 make[1]: stopped in /usr/src 1 error make[1]: stopped in /usr/src *** [buildkernel] Error code 2 make: stopped in /usr/src 1 error make: stopped in /usr/src Build step 'Execute shell' marked build as failure [PostBuildScript] - Execution post build scripts. [FreeBSD_HEAD_arm64] $ /bin/sh -xe /tmp/hudson788315144804630871.sh + export 'PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin' + export 'jname=FreeBSD_HEAD_arm64' + echo 'clean up jail FreeBSD_HEAD_arm64' clean up jail FreeBSD_HEAD_arm64 + sudo jail -r FreeBSD_HEAD_arm64 + sudo ifconfig igb0 inet6 2610:1c1:1:607c::104:1 -alias + sudo umount FreeBSD_HEAD_arm64/usr/src + sudo umount FreeBSD_HEAD_arm64/dev + sudo rm -fr FreeBSD_HEAD_arm64 + true + sudo chflags -R noschg FreeBSD_HEAD_arm64 + sudo rm -fr FreeBSD_HEAD_arm64 Email was triggered for: Failure - Any Sending email for trigger: Failure - Any
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?358635345.1.1449600877149.JavaMail.jenkins>