Date: Sun, 28 Aug 2016 05:24:42 +0000 (GMT) From: jenkins-admin@FreeBSD.org To: ed@FreeBSD.org, bz@FreeBSD.org, ngie@FreeBSD.org, jkim@FreeBSD.org, grog@FreeBSD.org, lwhsu@FreeBSD.org, nwhitehorn@FreeBSD.org, glebius@FreeBSD.org, wblock@FreeBSD.org, np@FreeBSD.org, oshogbo@FreeBSD.org, avos@FreeBSD.org, tuexen@FreeBSD.org, emaste@FreeBSD.org, asomers@FreeBSD.org, shurd@FreeBSD.org, cem@FreeBSD.org, maxim@FreeBSD.org, jmcneill@FreeBSD.org, rwatson@FreeBSD.org, sbz@FreeBSD.org, lstewart@FreeBSD.org, dim@FreeBSD.org, imp@FreeBSD.org, jilles@FreeBSD.org, rmacklem@FreeBSD.org, kp@FreeBSD.org, oleg@FreeBSD.org, zec@FreeBSD.org, dumbbell@FreeBSD.org, ache@FreeBSD.org, jhb@FreeBSD.org, mav@FreeBSD.org, yongari@FreeBSD.org, ak@FreeBSD.org, landonf@FreeBSD.org, mmel@FreeBSD.org, ae@FreeBSD.org, kib@FreeBSD.org, gnn@FreeBSD.org, brooks@FreeBSD.org, rrs@FreeBSD.org, kevlo@FreeBSD.org, hiren@FreeBSD.org, erj@FreeBSD.org, alc@FreeBSD.org, trasz@FreeBSD.org, bapt@FreeBSD.org, adrian@FreeBSD.org, stevek@FreeBSD.org, avg@FreeBSD.org, manu@FreeBSD.org, bde@FreeBSD.org, jhibbits@FreeBSD.org, des@FreeBSD.org, davidcs@FreeBSD.org, bdrewery@FreeBSD.org, hselasky@FreeBSD.org, araujo@FreeBSD.org, sephe@FreeBSD.org, vangyzen@FreeBSD.org, tsoome@FreeBSD.org, roberto@FreeBSD.org, smh@FreeBSD.org, allanjude@FreeBSD.org, andrew@FreeBSD.org, mm@FreeBSD.org, sbruno@FreeBSD.org, pfg@FreeBSD.org, markj@FreeBSD.org, gjb@FreeBSD.org, jmmv@FreeBSD.org, delphij@FreeBSD.org, mjg@FreeBSD.org, karels@FreeBSD.org, mckusick@FreeBSD.org, br@FreeBSD.org, bjk@FreeBSD.org, dteske@FreeBSD.org, cy@FreeBSD.org, badger@FreeBSD.org, rstone@FreeBSD.org, jenkins-admin@FreeBSD.org, freebsd-arm@FreeBSD.org Subject: FreeBSD_HEAD_arm64 - Build #3807 - Still Failing Message-ID: <577809813.5.1472361920037.JavaMail.jenkins@jenkins-9.freebsd.org> In-Reply-To: <45139896.14.1470775414453.JavaMail.jenkins@jenkins-9.freebsd.org> References: <45139896.14.1470775414453.JavaMail.jenkins@jenkins-9.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
FreeBSD_HEAD_arm64 - Build #3807 - Still Failing: Build information: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_arm64/3807/ Full change log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_arm64/3807/ch= anges Full build log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_arm64/3807/con= sole Change summaries: 304938 by adrian: [mips] move AR91XX_BASE to std.AR91XX. 304937 by adrian: [mips] migrate the QCA955X_BASE file to std.QCA955X, to bring this in line = with other board defaults. 304936 by adrian: Use ALT_BREAK_TO_DEBUGGER as well. 304935 by adrian: .. and since others are using wdr3600/wdr4300 right now and are having arge issues with spammed interrupts / link issues, flip on ARGE_DEBUG too. 304934 by adrian: Since i'm using carambola 2 for more debugging, enable ARGE_DEBUG by defaul= t. 304933 by adrian: [mips] make AR933X boards use ALT_BREAK_TO_DEBUGGER like the rest of the At= heros boards. 304932 by adrian: [mips] QCA955x config file changes to bring things into alignment with the = other atheros config files. * ALT_BREAK_TO_DEBUGGER, because we get random breaks when unplugging USB to serial adapters * Build more modules! 304931 by kib: Follow ABI when calling __error from the ptrace(2) wrapper. In particular, preserve syscall arguments on stack, since callee is not required to preserve arg-passing registers. Align stack. Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 304928 by kib: Do not obliterate errno value in the main thread during ptrace(2) call on x= 86. Since ptrace(2) syscall can return -1 for non-error situations, libc wrappers set errno to 0 before performing the syscall, as the service to the caller. On both i386 and amd64, the errno symbol was directly referenced, which only works correctly in single-threaded process. Change assembler wrappers for ptrace(2) to get current thread errno location by calling __error(). Allow __error interposing, as currently allowed in cerror(). Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 304927 by mjg: vfs: provide a common exit point in namei for error cases This shortens the function, adds the SDT_PROBE use for error cases and consistenly unrefs rootdir last. Reviewed by:=09kib MFC after:=092 weeks 304920 by dim: In ncurses baudrate definitions, avoid warnings about implicit conversions from int to short changing the values. This applies to B38400 and higher, since their values do not fit into a short. However, since the wrapped values are still unique, and they only serve as keys, there is no problem in adding a cast to silence the warnings. This also avoids changing the ABI, which would happen if we changed NCURSES_OSPEED to int. Discussed with:=09Thomas Dickey MFC after:=091 week 304918 by mav: Decode some new ATA commands found in ACS-3. MFC after:=091 week 304916 by kib: Consistently delimit each vnode description block with two blank lines. Sponsored by:=09The FreeBSD Foundation MFC after:=093 days 304915 by oshogbo: Bump date in the man page. 304912 by oshogbo: Add missed header file for cnv.h . Submitted by:=09Adam Starak <starak.adam@gmail.com> Reported by:=09ache@ 304911 by ache: The formal behavior of qsort is unstable with regard to objects that are equal. Unfortunately, RFC 3484 requires that otherwise equal objects remain in the order supplied by the DNS server. The present code attempts to deal with this by returning -1 for objects that are equal (i.e., returns that the first parameter is less then the second parameter). Unfortunately, the qsort API does not state that the first parameter passed in is in any particular position in the list. PR: 212122 Submitted by: Herbie.Robinson@stratus.com MFC after: 3 days 304910 by oshogbo: Introduce cnv man page. Submitted by:=09=09Adam Starak <starak.adam@gmail.com> Reviewed by:=09=09cem@, wblock@ Differential Revision:=09https://reviews.freebsd.org/D7249 304909 by oshogbo: Fix style issue in the cnv API. Remove unused arguments in a macro. Remove unused typedef. 304908 by oshogbo: Add cnv API. cnv API is a set of functions for managing name/value pairs by cookie. The cookie can be obtained by nvlist_next(), nvlist_get_parent() or nvlist_get_pararr() function. This patch also includes unit tests. Submitted by:=09Adam Starak <starak.adam@gmail.com> 304907 by bz: Do not try to build cloudabi32 for pc98. Should unbreak tinderbox. 304895 by bde: Fix build without INET6 and with gcc. A function definition was ifdefed for INET6, but its protototype was not, and gcc detects the error. 304892 by andrew: Print both the kernel read and write translation in DDB when asking for a virtual to physical translation. These may be different, e.g. when a page is mapped as read-only. MFC after:=091 month Sponsored by:=09ABT Systems Ltd 304891 by avos: iwm: fix few comment typos. 304886 by ed: Properly use MACHINE_CPUARCH for finding cloudabi*_sysvec.c. The build of the cloudabi32 kernel module currently fails for PC98. In the case of PC98, we just want to use the code for i386. Reported by:=09np 304880 by avos: iwm: add 'command accepted' debug notification (copied from wpi(4)). Now it should be easier to find out which command causes firmware panics when few commands are sent in a short period of time. 304877 by bapt: Remove warning on struct-overflow on gcc 5.3.0 as zic(8) dies on it 304876 by landonf: Implement siba(4) support for bhnd_(read|write)_config. This provides access to the siba(4) bus-mapped per-core cfg0 register block. Approved by:=09adrian (mentor, implicit) 304875 by delphij: Use printable ASCII instead of octal representation. MFC after:=092 weeks 304874 by mm: Temporarily disable two libarchive tests that have not yet been fixed by vendor. Tests will be re-enabled after a fix has been merged. MFC after:=093 days 304873 by np: cxgbe(4): Provide more details about the card in the sysctl MIB. dev.t5nex.0.%desc: Chelsio T580-CR dev.t5nex.0.hw_revision: 1 dev.t5nex.0.sn: PT13140042 dev.t5nex.0.pn: 110117150A0 dev.t5nex.0.ec: 0000000000000000 dev.t5nex.0.na: 0007432AF490 dev.t5nex.0.vpd_version: 3 dev.t5nex.0.scfg_version: 53255 dev.t5nex.0.bs_version: 1.1.0.0 dev.t5nex.0.er_version: 1.0.0.68 dev.t5nex.0.tp_version: 0.1.4.9 dev.t5nex.0.firmware_version: 1.16.2.0 Sponsored by:=09Chelsio Communications 304872 by landonf: bhnd(4): Include the chip model (e.g. BCM4xxx) in bhnd(4) bus's device descriptions. Reviewed by:=09mizhka Approved by:=09adrian (mentor) Differential Revision:=09https://reviews.freebsd.org/D7570 304871 by landonf: [mips/broadcom]: Replace static frequency table with generic PMU clock handling. - Extended PWRCTL/PMU APIs to support querying clock frequency during very early boot, prior to bus attach. - Implement generic PMU-based calculation of UART rclk values. - Replaced use of static frequency tables (bcm_socinfo) with runtime-determined values. Approved by:=09adrian (mentor) Differential Revision:=09https://reviews.freebsd.org/D7552 304870 by landonf: bhnd(4): Initial PMU/PWRCTL power and clock management support. - Added bhnd_pmu driver implementations for PMU and PWRCTL chipsets, derived from Broadcom's ISC-licensed HND code. - Added bhnd bus-level support for routing per-core clock and resource power requests to the PMU device. - Lift ChipCommon support out into the bhnd module, dropping bhnd_chipc. Reviewed by:=09mizhka Approved by:=09adrian (mentor) Differential Revision:=09https://reviews.freebsd.org/D7492 304869 by mm: MFV r304866: Sync libarchive with vendor including security fixes Vendor issues fixed: Issue #731: Reject tar entries >=3D INT64_MAX Issue #744 (part of Issue #743): Enforce sandbox with very long pathnames Issue #748: Zip decompression failure with highly-compressed data Issue #767: Buffer overflow printing a filename Issue #770: Zip read: be more careful about extra_length MFC after:=093 days 304860 by ed: Improve compatibility of calls to dirname() on constant strings. As the xinstall(8) utility had to be patched up to work with the POSIXly correct basename()/dirname() prototypes, we make it pretty hard to build previous versions of FreeBSD on HEAD. xinstall(8) is part of the bootstrap tools. Add some logic to <libgen.h> to automatically detect bad calls to dirname() based on the type of the argument. If the argument is of type 'const char *', we simply fall back to calling into dirname@FBSD_1.0 directly. I'll also give basename() similar treatment when importing the thread-safe version of that function. Tested by:=09bdrewery, madpilot (thanks!) 304859 by landonf: [mips/broadcom] Generic platform_reset() support. This adds support for performing platform_reset() on all supported devices, using early boot enumeration of chipc capabilities and available cores. - Added Broadcom-specific MIPS CP0 register definitions used by BCM4785-specific reset handling. - Added a bcm_platform structure for tracking chipc/pmu/cfe platform data. - Extended the BCMA EROM API to support early boot lookup of core info (including port/region mappings). - Extended platform_reset() to support PMU, PMU+AOB, and non-PMU devices. Reviewed by:=09mizhka Approved by:=09adrian (mentor) Differential Revision:=09https://reviews.freebsd.org/D7539 304858 by jhb: Enable I/O MMU when PCI pass through is first used. Rather than enabling the I/O MMU when the vmm module is loaded, defer initialization until the first attempt to pass a PCI device through to a guest. If the I/O MMU fails to initialize or is not present, than fail the attempt to pass a PCI device through to a guest. The hw.vmm.force_iommu tunable has been removed since the I/O MMU is no longer enabled during boot. However, the I/O MMU support can be disabled by setting the hw.vmm.iommu.enable tunable to 0 to prevent use of the I/O MMU on any systems where it is buggy. Reviewed by:=09grehan MFC after:=091 week Differential Revision:=09https://reviews.freebsd.org/D7448 304857 by hiren: Adjust TCP module fastpath after r304803's cc_ack_received() changes. Reported by:=09=09hiren, bz, np Reviewed by:=09=09rrs Sponsored by:=09=09Limelight Networks Differential Revision:=09https://reviews.freebsd.org/D7664 304855 by hiren: Update TCPS_HAVERCVDFIN() macro to correctly include all states a connectio= n can be in after receiving a FIN. FWIW, NetBSD has this change for quite some time. This has been tested at Netflix and Limelight in production traffic. Reported by:=09Sam Kumar <samkumar99 at gmail.com> on transport@ Reviewed by:=09rrs MFC after:=094 weeks Sponsored by:=09Limelight Networks Differential Revision:=09 https://reviews.freebsd.org/D7475 304854 by np: cxgbe/iw_cxgbe: Various fixes to the iWARP driver. - Return appropriate error code instead of ENOMEM when sosend() fails in send_mpa_req. - Fix for problematic race during destroy_qp. - Abortive close in the failure of send_mpa_reject() instead of normal clos= e. - Remove the unnecessary doorbell flowcontrol logic. Submitted by:=09Krishnamraju Eraparaju at Chelsio MFC after:=091 month Sponsored by:=09Chelsio communications 304850 by tsoome: Unused variables and cstyle fix for loader dosfs Reviewed by:=09imp, allanjude Approved by:=09imp (mentor), allanjude (mentor) Differential Revision:=09https://reviews.freebsd.org/D7659 304838 by np: Do not free an uninitialized pointer on soaccept failure in the iWARP connection manager. Sponsored by:=09Chelsio Communications 304837 by tuexen: Fix a bug, where no SACK is sent when receiving a FORWARD-TSN or I-FORWARD-TSN chunk before any DATA or I-DATA chunk. Thanks to Julian Cordes for finding this problem and prividing packetdrill scripts to reporduce the issue. MFC after: 3 days 304834 by sephe: hyperv/hn: Use vmbus xact for RNDIS set. And use new RNDIS set to configure NDIS offloading parameters. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7641 304833 by sephe: hyperv/hn: Save the adopted NDIS version for RNDIS to use later. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7640 304832 by sephe: hyperv/hn: Use vmbus xact for RNDIS query. And switch MAC address query to use new RNDIS query function. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7639 304829 by jhibbits: Prevent BSS from being cleared twice on BookE Summary: First time BSS is cleared in booke_init(), Second time it's cleared in powerpc_init(). Any variable initialized between two those guys gets wiped= out what is wrong. In particular it wipes tlb1_entries initialized by tlb1_init= (), which was fine when tlb1_init() was called a second time, but this was remo= ved in r304656. Submitted by:=09Ivan Krivonos <int0dster_gmail.com> Differential Revision: https://reviews.freebsd.org/D7638 304828 by cem: ddb: Add 'show active trace' command 'show active trace', or 'acttrace' for short, prints backtraces from runnin= g threads only. Reviewed by:=09mjg Differential Revision:=09https://reviews.freebsd.org/D7646 304827 by np: cxgbe/cxgbei: There is no need for multiple modules in the KLD. Sponsored by:=09Chelsio Communications 304826 by bdrewery: WITH_META_MODE: Don't let subdir traversals for 'make install' re-enable me= ta mode. MFC after:=092 weeks Sponsored by:=09EMC / Isilon Storage Division 304825 by gnn: Unlike Solaris, in FreeBSD p_args can be 0 so check for that instead of walking down to ar_args blindly. Reported by:=09Amanda Strnad Reviewed by:=09markj, jhb MFC after:=092 weeks Sponsored by:=09DARPA, AFRL 304824 by np: cxgbe/cxgbei: Convert the driver-private PDU flags to enums and replace pdu_ prefix with icp_ in struct icl_cxgbei_pdu. Sponsored by:=09Chelsio Communications 304823 by adrian: [mips] flip from =3Dv to =3Dr - let the compiler choose a temp register. =3Dv is some ye olde gcc "use this specific register as the temp register" thing that they've deprecated and clang/llvm doesn't implement. Poked again and again by: sbruno 304822 by np: cxgbe/cxgbei: Read the chip's configuration to determine the actual hardware send and receive PDU limits. Report these limits to ICL and take them into account when setting the socket's send and receive buffer sizes. The driver used a single hardcoded limit everywhere prior to this change. Sponsored by:=09Chelsio Communications 304821 by emaste: bspatch: remove output file in the case of error Reviewed by:=09oshogbo Sponsored by:=09The FreeBSD Foundation Differential Revision:=09https://reviews.freebsd.org/D7644 304819 by ache: Original fgetln() from 44lite return sucess for line tail errors, i.e. partial line, but set __SERR and errno in the same time, which is inconsistent. Now both OpenBSD and NetBSD return failure, i.e. no line and set error indicators for such case, so make our fgetln() and fgetwln() (as its wide version) compatible with the rest of *BSD. PR: 212033 MFC after: 7 days 304815 by kp: Add libifc, a library implementing core functionality that exists in ifconf= ig(8) today. libifc (pronounced lib-ifconfig) aims to be a light abstraction layer betwe= en programs and the kernel APIs for managing the network configuration. This should hopefully make programs easier to maintain, and reduce code duplication. Work will begin on making ifconfig(8) use this library in the near future. This code is still evolving. The interface should not be considered stable = until it is announced as such. Submitted By: Marie Helene Kvello-Aune <marieheleneka@gmail.com> Reviewed By: kp Differential Revision: https://reviews.freebsd.org/D7529 304814 by ak: Remove last remnants of acd(4), mcd(4), and scd(4) drivers. Approved by:=09jhb 304812 by kib: In both do_rw_wrlock() and do_rw_rdlock() after r304808, do not obliterate possible error from sleep with errors from umtxq_check_susp(), when looping to clear URWLOCK_{READ,WRITE}_WAITERS. Noted and reviewed by:=09vangyzen Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 304811 by ache: Remove "Fast path", it bypass __wcrtomb() and all its error checking. One of affected encoding example: US-ASCII MFC after: 7 days 304810 by ache: Don't check for __SERR which may stick from one of any previous stdio functions. __SERR is for user and the rest of stdio code do not check it for error sensing internally, only set it. In vf(w)printf.c here it is more easy to save __SERR, clear and restore it. 304809 by ngie: Add non-TRUSTEDBSD prefixed knobs for the _PC_ACL* and {CAP,INF,MAC}_PRESEN= T knobs It's not necessarily intuitive that the variables to query contain TRUSTEDB= SD in the prefix. Add non-TRUSTEDBSD prefixed knobs for querying things like "_PC_ACL_NFS4". MFC after:=091 week Relnotes:=09yes Reviewed by:=09wollman Sponsored by:=09EMC / Isilon Storage Division Differential Revision:=09https://reviews.freebsd.org/D7618 304808 by kib: Prevent leak of URWLOCK_READ_WAITERS flag for urwlocks. If there was some error, e.g. the sleep was interrupted, as in the referenced PR, do_rw_rdlock() did not cleared URWLOCK_READ_WAITERS. Since unlock only wakes up write waiters when there is no read waiters, for URWLOCK_PREFER_READER kind of locks, the result was missed wakeups for writers. In particular, the most visible victims are ld-elf.so locks in processes which loaded libthr, because rtld locks are urwlocks in prefer-reader mode. Normal rwlocks fall into prefer-reader mode only if thread already owns rw lock in read mode, which is not typical and correspondingly less visible. In the PR, unowned rtld bind lock was waited for in the process where only one thread was left alive. Note that do_rw_wrlock() correctly clears URWLOCK_WRITE_WAITERS in case of errors. Reported and tested by:=09longwitz@incore.de PR:=09211947 Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 304807 by allanjude: Capsicumize bspatch Move all of the fopen() and open() calls to the top of main() Restrict each FD to least privilege (read/seek only, write only, etc) cap_enter(), and make all except the output FD read/seek only. Reviewed by:=09emaste, ed, oshogbo, delphij Approved by:=09so MFC after:=093 days Relnotes:=09yes Sponsored by:=09ScaleEngine Inc. Differential Revision:=09https://reviews.freebsd.org/D7358 304806 by andrew: Fix an assert, it should check if, when moving from 1 l1 to 512 l2 blocks, the l2 entry is a block type and not an l3 page. While here fix the string to correct the level name and add a missing ')'. Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation 304805 by jmcneill: Add support for Allwinner A64. Reviewed by:=09andrew, manu Relnotes:=09yes 304804 by bde: Less-quick fix for locking fixes in r172250. r172250 added a second syscons spinlock for the output routine alone. It is better to extend the coverage of the first syscons spinlock added in r162285. 2 locks might work with complicated juggling, but no juggling was done. What the 2 locks actually did was to cover some of the missing locking in each other and deadlock less often against each other than a single lock with larger coverage would against itself. Races are preferable to deadlocks here, but 2 locks are still worse since they are harder to understand and fix. Prefer deadlocks to races and merge the second lock into the first one. Extend the scope of the spinlocking to all of sc_cnputc() instead of just the sc_puts() part. This further prefers deadlocks to races. Extend the kdb_active hack from sc_puts() internals for the second lock to all spinlocking. This reduces deadlocks much more than the other changes increases them. The s/p,10* test in ddb gets much further now. Hide this detail in the SC_VIDEO_LOCK() macro. Add namespace pollution in 1 nested #include and reduce namespace pollution in other nested #includes to pay for this. Move the first lock higher in the witness order. The second lock was unnaturally low and the first lock was unnaturally high. The second lock had to be above "sleepq chain" and/or "callout" to avoid spurious LORs for visual bells in sc_puts(). Other console driver locks are already even higher (but not adjacent like they should be) except when they are missing from the table. Audio bells also benefit from the syscons lock being high so that audio mutexes have chance of being lower. Otherwise, console drviver locks should be as low as possible. Non-spurious LORs now occur if the bell code calls printf() or is interrupted (perhaps by an NMI) and the interrupt handler calls printf(). Previous commits turned off many bells in console i/o but missed ones done by the teken layer. 304803 by lstewart: Pass the number of segments coalesced by LRO up the stack by repurposing th= e tso_segsz pkthdr field during RX processing, and use the information in TCP= for more correct accounting and as a congestion control input. This is only a s= tart, and an audit of other uses for the data is left as future work. Reviewed by:=09gallatin, rrs Sponsored by:=09Netflix, Inc. Differential Revision:=09https://reviews.freebsd.org/D7564 304802 by cy: Remove the gratuitous check for $FreeBSD$ and rename the function to ntpd_init_leapfile, to ensure a copy exists in /var/db if a copy isn't already there. Reported by:=09ache@ MFC after:=091 day 304801 by andrew: Don't set *dev in the zfs root case, it may be NULL and will correctly be set later in the function. This fixes a potential NULL pointer dereference found on arm64. Obtained from:=09ABT Systems Ltd MFC after:=091 week Sponsored by:=09The FreeBSD Foundation 304800 by bde: Fix logic errors in bounds checks in previous commit. The 2-entry stack was overrun for grab levels larger than 2. Reported by:=09pluknet 304799 by andrew: Map coherent memory in a non-coherent dma tag as uncached. This is similar to what the 32-bit arm code does, with the exception that it always assumes the tag is non-coherent. Tested by:=09jmcneill Obtained from:=09ABT Systems Ltd MFC after:=091 week Sponsored by:=09The FreeBSD Foundation 304798 by jmcneill: Add support for Allwinner A64 PLL_PERIPH0/PLL_PERIPH1 and PLL_HSIC clocks. Reviewed by:=09andrew, manu 304797 by jmmv: Make use of Kyua's work directories. Change the vnode tests to use the current directory when creating temporary files, which we can assume is a volatile work directory, and then make the kqueue_test.sh driver _not_ abandon the directory created by Kyua. This makes the various kqueue tests independent of each other, and ensures the temporary file is cleaned up on failure. Problem spotted by asomers@ when reviewing D4254. 304796 by jmcneill: Switch parent clock when setting frequency if a new parent is a better candidate for the target rate. Reviewed by:=09andrew, manu 304795 by jmcneill: Add support for Allwinner multi-parent bus gates. Reviewed by:=09andrew, manu 304794 by jmcneill: Expose DC1SW as a regulator switch. On Pine64 this is used to control EMAC PHY power. Reviewed by:=09andrew, manu 304793 by jmcneill: Remove dependency on allwinner_soc_family() as it is not available on arm64= . Reviewed by:=09andrew, manu 304791 by sephe: hyperv/storvsc: Increase queue depth and rework channel selection. - Increasing queue depth gives ~100% performance improvement for randwrite fio test in Azure. - New channel selection, which takes LUN id and the current cpuid into consideration, gives additional ~20% performance improvement for ranwrite fio test in Azure. Submitted by: Hongzhang Jiang <honzhan microsoft com> Modified by: sephe MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7622 304790 by sephe: hyperv/vmbus: Add function to calculate max # of elements in a bufring. MFC after:=091 week Sponsored by:=09Microsoft 304789 by np: Bump __FreeBSD_version for r304787 and add a note about it to UPDATING. 304788 by sephe: hyperv/ic: Update total message size if negotiate message size grows. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7627 304787 by np: Make the iSCSI parameter negotiation more flexible. Decouple the send and receive limits on the amount of data in a single iSCSI PDU. MaxRecvDataSegmentLength is declarative, not negotiated, and is direction-specific so there is no reason for both ends to limit themselves to the same min(initiator, target) value in both directions. Allow iSCSI drivers to report their send, receive, first burst, and max burst limits explicitly instead of using hardcoded values or trying to derive all of them from the receive limit (which was the only limit reported by the drivers prior to this change). Display the send and receive limits separately in the userspace iSCSI utilities. Reviewed by:=09jpaetzel@ (earlier version), trasz@ Sponsored by:=09Chelsio Communications Differential Revision:=09https://reviews.freebsd.org/D7279 304786 by sephe: hyperv/ic: Cleanup heartbeat channel callback. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7626 304785 by sephe: hyperv/hn: Use vmbus xact for RNDIS initialize. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7624 304784 by sephe: hyperv/hn: Add compat code for RNDIS reorganization phase. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7621 304783 by sephe: hyperv/hn: Use definition in net/rndis.h for message type and status code. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7620 304782 by cy: Make validation of the leap-seconds file unconditional. MFC after:=091 day 304781 by cy: Add logic to replace the working ntp leap-seconds file in /var/db if it contains a $FreeBSD$ header. The header will cause the file to fail checksum of the hash causing ntpd to ignore the file. MFC after:=091 day 304780 by cy: Change the algorithm by which /var/db/leap-seconds is updated. 1. Use the leap-seconds version number (update time) to determine whether to update the file or not. 2. If the version numbers of the files is the same, use the later expiry date to determine which file to use. Suggested by:=09ian@ MFC after:=091 day 304779 by cy: Revert r298887 (spelling fix) and remove $FreeBSD$ because text changes to leap-seconds invaldidates validation hash at the end of the file. Remove svn:keywords and replace with fbsd:nokeywords=3Dyes to support this change. MFC after:=091 day 304778 by allanjude: Increase the default rotation threshold of log files from 100kb to 1000kb Submitted by:=09Sean Kelly <smkelly@freebsd.org> Differential Revision:=09https://reviews.freebsd.org/D6792 304773 by bde: Flesh out the state and flags args to sccnopen(). Set state flags to indicate (potentially partial) success of the open. Use these to decide what to close in sccnclose(). Only grab/ungrab use open/close so far. Add a per-sc variable to count successful keyboard opens and use this instead of the grab count to decide if the keyboad state has been switched. Start fixing the locking by using atomic ops for the most important counter -- the grab level one. Other racy counting will eventually be fixed by normal mutex or kdb locking in most cases. Use a 2-entry per-sc stack of states for grabbing. 2 is just enough to debug grabbing, e.g., for gets(). gets() grabs once and might not be able to do a full (or any) state switch. ddb grabs again and has a better chance of doing a full state switch and needs a place to stack the previous state. For more than 3 levels, grabbing just changes the count. Console drivers should try to switch on every i/o in case lower levels of nesting failed to switch but the current level succeeds, but then the switch (back) must be completed on every i/o and this flaps the state unless the switch is null. The main point of grabbing is to make it null quite often. Syscons grabbing also does a carefully chosen screen focus that is not done on every i/o. Add a large comment about grabbing. Restore some small lost comments. 304758 by bde: Reorganise a little to prepare for locking fixes: - in sccnopen(), open the keyboard before the screen. The keyboard currently requires Giant (although it must be spinlocked to work correctly as a console), so the previous order would be a LOR if it has any semblance of locking. - add a (currently dummy) state arg to scgetc(). 304757 by emaste: Don't build libdevdctl if MK_CXX is no 304756 by nwhitehorn: Close a race when making the CPU idle under pHyp. If an interrupt occurs between the beginning of the idle function and actually going idle, the CPU could go to sleep with pending work. MFC after:=091 month 304755 by ache: Use current locale (f.e. set by thread). It was global locale always previously. MFC after: 7 days 304754 by tsoome: Bug 212038 - svn commit: r304321 broken bhyve zvol VM bhyveload hang 100% W= CPU As the support for large blocks was enabled in loader zfs code, the heap in userboot was left not changed, resulting with failure of detecting and accessing zfs pools for bhyve virtual machines. This fix does set the heap to use same amount of memory as the zfsloader is using. To make it possible to test and verify loader functions, bhyve is providing very useful option, but it also means, we like to keep feature parity with [zfs]loader as close as possible. PR:=09=09212038 Reported by:=09dfh0522@gmail.com Reviewed by:=09allanjude, grehan Approved by:=09allanjude (mentor) Differential Revision:=09https://reviews.freebsd.org/D7635 304753 by tsoome: Bug 212114 - loader: zio_checksum_verify() must test spa for NULL pointer The issue was introduced with adding support for salted checksums, and was revealed by bhyve userboot.so. During pool discovery the loader is reading pool label from disks, and at that time the spa structure is not yet set up, so the NULL pointer is passed for spa. This condition must be checked to avoid the corruption of the memory and NULL pointer dereference. PR:=09=09212114 Reported by:=09tsoome@freebsd.com Reviewed by:=09allanjude Approved by:=09allanjude (mentor) Differential Revision:=09https://reviews.freebsd.org/D7634 304752 by ache: Bump __FreeBSD_version for LC_*_MASK fix for newlocale(3) and querylocale(3= ) 304751 by mav: Fix minor copy/paste bug. Submitted by:=09Dmitry Luhtionov <dmitryluhtionov@gmail.com> MFC after:=091 week 304750 by andrew: Allow superpages on arm64 to be enabled. It is disabled for now to allow for more testing across more hardware. Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation 304749 by andrew: Add support to promote and demote managed superpages. This is the last part needed before enabling superpages on arm64. This code is based on the amd64 pmap with changes as needed to handle the differences between the two architectures. Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation 304748 by ed: Document the existence of the cloudabi32 kernel module. 304747 by cy: MFV r304732. Update from sqlite3-3.12.1 (3120100) to sqlite3-3.14.1 (3140100). This commit addresses the tmpdir selection vulnerability fixed in sqlite3-1.13.0. See VuXML entry 546deeea-3fc6-11e6-a671-60a44ce6887b. Security:=09VuXML 546deeea-3fc6-11e6-a671-60a44ce6887b Security:=09CVE-2016-6153 304746 by andrew: Teach the parts of the arm64 pmap that need to iterate over pages to also iterate over superpages. We don't yet create these, but soon will. Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation 304745 by ed: Add a Makefile for building the cloudabi32 kernel module. Where the cloudabi64 kernel can be used to execute 64-bit CloudABI binaries, this one should be used for 32-bit binaries. Right now it works on i386 and amd64. 304744 by ed: Make execution of 32-bit CloudABI executables work on amd64. A nice thing about requiring a vDSO is that it makes it incredibly easy to provide full support for running 32-bit processes on 64-bit systems. Instead of letting the kernel be responsible for composing/decomposing 64-bit arguments across multiple registers/stack slots, all of this can now be done in the vDSO. This means that there is no need to provide duplicate copies of certain system calls, like the sys_lseek() and freebsd32_lseek() we have for COMPAT_FREEBSD32. This change imports a new vDSO from the CloudABI repository that has automatically generated code in it that copies system call arguments into a buffer, padding them to eight bytes and zero-extending any pointers/size_t arguments. After returning from the kernel, it does the inverse: extracting return values, in the process truncating pointers/size_t values to 32 bits. Obtained from:=09https://github.com/NuxiNL/cloudabi 304743 by ed: Remove an unused header file. The native CloudABI data types header file used to be pulled in by the vDSOs when they were still written in C. Since they are now all rewritten in assembly, this can go away. 304742 by ed: Convert pointers obtained from the threadattr_t structure with TO_PTR(). In all of these source files, the userspace pointer size corresponds with the kernelspace pointer size, meaning that casting directly works. As I'm planning on making 32-bit execution on 64-bit systems work as well, use TO_PTR() here as well, so that the changes between source files remain minimal. 304741 by jmmv: Skip ls tests that use sparse files if these are not supported. Some of the ls(1) tests create really large sparse files to validate the number formatting features of ls(1). Unfortunately, those tests fail if the underlying test file system does not support sparse files, as is the case when /tmp is mounted on tmpfs. Before running these tests, check if the test file system supports sparse files by using getconf(1) and skip them if not. Note that the support for this query was just added to getconf(1) in r304694. Reviewed by:=09ngie Differential Revision:=09https://reviews.freebsd.org/D7609 304740 by ed: Add missing header dependency. This header depends on sigaltstack32 being declared. 304736 by tuexen: When aborting an association, send the ABORT before notifying the upper layer. For the kernel this doesn't matter, for the userland stack, it does. While there, silence a clang warning when compiling it in userland. 304735 by bde: Fix key delay and repeat, part 2. Use sbintime_t timeouts with precision control to get very accurate timing. It costs little to always ask for about 1% accuracy, and the not so new event timer implementation usual delivers that, and when it can't it gets much closer than our previous coarse timeouts and buggy simple countdown. The 2 fastest atkbd repeat rates have periods 34 and 38 msec, and ukbd pretended to support rates in between these. This requires sub-microsecond precision and accuracy even to handle the 4 msec difference very well, but ukbd asked the timeout subsystem for timeouts of 25 msec and the buggy simple countdown of this gave a a wide range of precisions and accuracies depending on HZ and other timer configuration (sometimes better than 25 msec but usually more like 50 msec). We now ask for and usually get precision and accuracy of about 1% for each repeat and much better on average. The 1% accuracy is overkill. Rounding of 30 cps to 34 msec instead of 33 already gives an error of +2% instead of -1%, and ut AT keyboards on PS/2 interfaces have similar errors. A timeout is now scheduled for every keypress and release. This allows some simplifications that are not done. It allows removing the timeout scheduling for exiting polled mode where it was unsafe in ddb mode. This is done. Exiting polled mode had some problems with extra repeats. Now exiting polled mode lets an extra timeout fire and the state is fudged so that the timeout handler does very little. The sc->time_ms variable is unsigned to avoid overflow. Differences of it need to be signed. Signed comparisons were emulated by testing an emulated sign bits. This only works easily for '<' comparisonss, but we now need a '<=3D' comparison. Change the difference variable to signed and use a signed comparison. Using unsigned types here didn't prevent overflow bugs but just reduced them. Overflow occurs with n repeats at the silly repeat period of [U]INT_MAX / n. The old countdown had an off by 1 error, and the simplifications would simply count down 1 to 0 and not need to accumulate possibly-large repeat repeats. 304730 by sephe: hyperv/ic: Redefine IC version negotiate message. And stringent input IC version negotiate message checks. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7614 304728 by sephe: hyperv/hn: Log a warning for RESET_CMPLT. RESET is not used by the hn(4) at all, and RESET_CMPLT does not even have a rid to match with the pending requests. So, let's put it onto an independent switch branch and log a warning about it. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7602 304727 by jhibbits: Fix system hang when large FDT is in use Summary: Kernel maps only one page of FDT. When FDT is more than one page in size, d= ata TLB miss occurs on memmove() when FDT is moved to kernel storage (sys/powerpc/booke/booke_machdep.c, booke_init()) This introduces a pmap_early_io_unmap() to complement pmap_early_io_map(), = which can be used for any early I/O mapping, but currently is only used when mapp= ing the fdt. Submitted by:=09Ivan Krivonos <int0dster_gmail.com> Differential Revision: https://reviews.freebsd.org/D7605 304725 by kevlo: Bring datasheet URL up to date. 304724 by sephe: hyperv/hn: Remove the redundant rid setting for RNDIS HALT. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7595 304723 by sephe: net/rndis: Fix RNDIS_STATUS_PENDING definition. While I'm here, sort the RNDIS status in ascending order. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7594 304722 by sephe: net/rndis: Add canonical RNDIS major/minor version as of today. Reviewed by:=09hps MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7593 304721 by cy: Fixup man page formatting. Submitted by:=09Steve Kargl <sgk@troutmask.apl.washington.edu> Discussed with:=09bjk@ MFC after:=093 days 304713 by karels: Fix L2 caching for UDP over IPv6 ip6_output() was missing cache invalidation code analougous to ip_output.c. r304545 disabled L2 caching for UDP/IPv6 as a workaround. This change adds the missing cache invalidation code and reverts r304545. Reviewed by:=09gnn Approved by:=09gnn (mentor) Tested by:=09peter@, Mike Andrews MFC after:=093 weeks Differential Revision:=09https://reviews.freebsd.org/D7591 304712 by brooks: Avoid a redecleartion of __getosreldate(). Sponsored by:=09DARPA, AFRL 304711 by brooks: Spell MIPS more traditionally in "bfd_elf32_ntradbigmips_vec". Sponsored by:=09DAPRA, AFRL 304710 by manu: Allwinner: Add thermal sensor driver for A10/A20 The thermal sensor lives in the touch screen controller. Touch screen part isn't done for now. Temperature is read every ~2 seconds and exposed via sysctl. 304703 by ache: LC_*_MASK bit shifting order was partially broken from the initial commit time at year 2012. Only LC_COLLATE_MASK and LC_CTYPE_MASK are in the right order. The order here should match XLC_* from "xlocale_private.h" which, in turn, match LC_* publicly visible order from <locale.h> which determines how locale components are stored in the structure. LC_*_MASK -> XLC_* translation done as "ffs(mask) - 1" in the querylocale() and equivalent shift loop in the newlocale(), so mapped to some wrong components (excluding two mentioned above). Formally the fix is ABI breakage, but old code using those masks never works properly in any case. Only newlocale() and querylocale() are affected. MFC after: 7 days 304702 by glebius: The -f check here is used to determine whether we have a single kernel config or a list of them. Put the variable into quotes, to avoid syntax error from [ in case of list. Without this change list is still working, but an error is reported in the build log file. Reviewed by:=09imp 304699 by bde: Fix key delay and repeat, part 1. kbdcontrol -r fast is documented to give a non-emulated atkbd's fastest rate of 250.34, but is misimplemented to request this as 0.0. ukbd supports many nonstandard rates, although it is currently too inaccurate by a factor of several hundred for non-huge nonstandard rates to be useful. It mapped 0.0 to 200.0. A repeat delay of 0 means a rate of infinity which is quite fast, but physical constraints limit this to a few MHz and the inaccuracies made it almost usable. Convert 0.0 to the documented 250.34. Also convert negative args and small args to the 250.34 minimal ones, like atkbd does. This is for KDSETREPEAT -- the 2 versions of the deprecated KDSETRAD have bounds checking. Keep not doing any bounds checking or conversions for upper limits since nonstandard large delays are useful for testing. The inaccuracies are dependent on HZ and the timeout implementation. With the old timeout implementation and HZ =3D 1000, 200.0 probably worked better to emulate 250.34 than 250.34 itself. HZ =3D 100 gives roundoff errors that accidentally reduce the inaaccuracies, and event timers reduce the inaccuracies even more, so 200.0 was giving more like itself (perhaps 215.15 on average but sometimes close to 10 msec repeat which is noticebly too fast). This commit makes 0.0 noticeably too slow, like 250.34 always was. 304698 by ngie: Add support for _PC_ACL_NFS4 as TRUSTEDBSD_ACL_NFS4 The TRUSTEDBSD prefix was chosen for consistency with the other related `_PC_ACL*` prefixed variables. MFC after: 3 days Sponsored by: EMC / Isilon Storage Division 304697 by bdrewery: FAST_DEPEND: Fix 'make all install' not properly rebuilding based on .depen= d.* files. An optimization is in place to skip reading the .depend.* files with 'make install'. This was too strong and broke 'make all install' and 'make foo.o foo install'. Now only skip reading the dependency files if all make targets ran are install targets. The problem comes about because headers are only added in as a guessed dependency if .depend.* files do not yet exist. If they do exist, even if being skipped from being read, then the header dependencies are not applied. This applies to all #included files, and not just headers. Reported by:=09kib MFC after:=091 day Sponsored by:=09EMC / Isilon Storage Division 304696 by dim: In addition to creating subdirectories under .OBJDIR for SRCS with relative paths, also create them for DPSRCS. This is needed for builds that generate files during the depend stage, which cannot be compiled by themselves, since those have to be put in DPSRCS. 304695 by bdrewery: Fix in-tree GCC builds after r304681. There were a few issues. - In-tree GCC won't have X_COMPILER_TYPE defined but will have WANT_COMPILER_TYPE=3D=3Dgcc set from the SYSTEM_COMPILER logic that can be used. Make the clang check specific to clang as well to ensure -target doesn't leak into a GCC build. - When using a cross-compiler GCC (with a default sysroot or arch) and also passing --sysroot, it basically forgets all internal paths for libraries. We've already worked around this quite a bit for the external toolchains. Now for the in-tree bootstrap cross-compiler GCC, also pass in the needed -B${WORLDTMP}/usr/lib to find the crt object files, but also -isystem and -L to fix the paths. This creates quite a spammy build log, but it is clear and still achieves the goals and stays consistent between internal and external build flags. Reducing the spam by using the '=3D' prefix feature will help and be done later. MFC after:=093 days X-MFC-With:=09r304681 Reported by:=09bz Pointyhat to:=09bdrewery Sponsored by:=09EMC / Isilon Storage Division 304694 by ngie: Add `MIN_HOLE_SIZE` pathconf(2) support to getconf This allows shell programs to programmatically determine whether or not a filesystem supports sparse files MFC after: 3 days Sponsored by: EMC / Isilon Storage Division 304693 by ngie: Clean up trailing whitespace MFC after: 3 days Sponsored by: EMC / Isilon Storage Division 304692 by landonf: bhndb(4): Fix unsigned integer underflow in dynamic register window handling. This resulted in the window target being left uninitialized when an underflow occured. Approved by:=09adrian (mentor) Differential Revision:=09https://reviews.freebsd.org/D7617 304691 by emaste: bspatch: apply style(9) Make style changes (and trivial refactoring of open calls) now in order to reduce noise in diffs for future capsicum changes. Reviewed by:=09oshogbo No objection:=09cperciva Sponsored by:=09The FreeBSD Foundation Differential Revision:=09https://reviews.freebsd.org/D7610 304689 by andrew: Also adjust the virtual address passed to vm_page_pa_tryrelock. Reported by:=09alc Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation 304688 by andrew: Map memory as read-only in pmap_enter_quick_locked as is done in other pmap implementations. Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation 304687 by andrew: If we find we have a superpage in pmap_enter_quick_locked return without trying to add a new level 3 page. Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation 304686 by pfg: indent(1): have the memset invocation somewhat more canonical. While correct, the previous invocation was somewhat more error prone. Pointed out by:=09delphij, bde 304685 by andrew: Include the offset the virtual address is within an L1 or L2 block when finding the vm_page_t in pmap_extract_and_hold. Previously it would return the vm_page_t of the first page in a block. This would cause issues when, for example, fsck reads from a device into the middle of a superpage. In this case the read call would write to the start of the block, and not to the buffer passed in. Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation 304684 by pfg: indent(1): remove dead assignments. Taken from:=09Piotr Sephaniak 304683 by bdrewery: Regenerate 304682 by bdrewery: Re-enable WITH_SYSTEM_COMPILER with WITH_META_MODE. This was disabled in r301468 due to -target/--sysroot sometimes being used = in the build and other times not being used. Now that it is always used since r304681, it is safe to combine the features. MFC after:=093 days Sponsored by:=09EMC / Isilon Storage Division 304681 by bdrewery: Always pass in -target and --sysroot flags for the build. The internal bootstrap compiler has a default sysroot set by TOOLS_PREFIX and target set by TARGET/TARGET_ARCH. However, there are several needs to always pass an explicit --sysroot and -target. - External compiler needs sysroot and target flags. - External ld needs sysroot. - To be clear about the use of a sysroot when using the internal compiler. - Easier debugging. - Allowing WITH_SYSTEM_COMPILER+WITH_META_MODE to work together due to the flip-flopping build command when sometimes using external and sometimes using internal. - Allow using no lld which has support for default paths. The default sysroot in the bootstrap compiler is not changed. The buildenv compiler will still work with its default and will also include -target/--sysroot from CC in the environment. MFC after:=093 days Discussed with:=09emaste, brooks (BSDCam) Reviewed by:=09emaste Sponsored by:=09EMC / Isilon Storage Division 304680 by bapt: EFI loader: only open/close on the net device with tftpfs It prevents issuing a dhcp request before each file open As a consequence netbooting over tftpfs is significantly faster Sponsored by:=09Gandi.net 304678 by araujo: Use roundup2() from sys/param.h. 304677 by bapt: Add tftpfs support for the EFI loader Allow netbooting on efi without having to setup any NFS server by rebuildin= g the loader with LOADER_TFTP_SUPPORT like for the i386 pxeloader Sponsored by:=09Gandi.net 304676 by araujo: Fix calloc(3) argument order. MFC after:=094 weeks. 304674 by avg: intpm: add support for SB800 This code should be able to support later AMD chipsets as well, but that hasn't been tested. SB800 supports accessing several different SMBus buses using the same set of constrol registeirs plus special PMIO registers that control which bus is selected. This could be exposed to consumers as several smb devices each talking to its bus. This feature is not implemented yet. MFC after:=092 weeks 304656 by jhibbits: tlb1_init() can be called twice on BookE Summary: There is no need to call tlb1_init() twice. Now it is called first time fro= m booke_init() and second time from powerpc_init() (where it is under BOOKE switch). Although this does not cause immediate problems in the mainline ke= rnel, this can lead to undesirable side effects like two TLB entries with the sam= e VA in the TLB1. Presence of two TLB entries with the same VA can hang CPU. Test Plan: Add initial mapping for UART to the tlb1_init(), build and boot the kernel, ensure that mapping presents only once (most convinient way - through Laute= rbah or similar hardware debugger) Submitted by:=09Ivan Krivonos <int0dster_gmail.com> Differential Revision: https://reviews.freebsd.org/D7607 304655 by jhibbits: Take into account mas7/8 when reading/writing TLB entries on e6500 Summary: Current booke/pmap code ignores mas7 and mas8 on e6500 CPU. Submitted by:=09Ivan Krivonos <int0dster_gmail.com> Differential Revision: https://reviews.freebsd.org/D7606 304654 by sephe: net: Split RNDIS protocol structs/macros out of dev/usb/net/if_urndisreg.h So that Hyper-V can leverage them instead of rolling its own definition. Discussed with:=09hps Reviewed by:=09hps MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7592 304653 by pfg: indent(1): Fix off-by-one in control flow leading dead code. Coverity correctly reported that it's impossible for /comparison/ to be 0 here, because the only way for the for loop to end is by /comparison/ being < 0. Fortunately the consequences of this bug weren't severe; for duplicated entries in the typedef names file it would unnecessarily duplicate strings with strdup(), but pointers to those would replace existing ones. So this was a memory leak at worst. CID:=09 1361477 Obtained from:=09 Piotr Stephaniak 304652 by badger: Fix missing substitution of @SBINDIR@ in resolvconf scripts Certain features, such as resolv_conf_passthrough=3DNULL, do not work correctly due to this missing substitution. Also remove the @PREFIX@ substitution, which is no longer needed. Reviewed by:=09pfg Approved by:=09vangyzen (mentor) MFC after:=091 week Sponsored by:=09Dell Inc. Differential Revision:=09https://reviews.freebsd.org/D7572 304651 by pfg: indent(1): add some comments to quiet down Coverity. Hopefully adding comments should help explain the code to both static checkers and humans. CID:=09976543, 976544, 976545 Obtained from:=09Piotr Stephaniak 304650 by pfg: indent(1): Fix memory leaks pointed out by clang-analyzer. Shift the responsibility of allocating memory for the string duplicate from the caller (set_option, add_typedefs_from_file) to the callee (add_typename) as it has more knowledge about when the duplication actually needs to occur. Taken from:=09Piotr Stefaniak 304649 by manu: Do not include file from dt-bindings and simply use the already present def= ines. Reported by:=09jmcneill MFC after:=091 week 304647 by bdrewery: Rename ORDERED to BOOTSTRAP since no order is respected in the list. The directories in SUBDIR_ORDERED are built in parallel, so the name is misleading. MFC after:=093 days Sponsored by:=09EMC / Isilon Storage Division 304646 by bdrewery: For 'make <directory>' hook into the all_subdir_<directory> targets. This fixes parallel build issues when trying to depend on ${SUBDIR}. An example of this in share/i18n/csmapper/Makefile where mapper.dir depends on ${SUBDIR} having been traversed and built already. Before this change running make in that directory would build the subdirectories twice. This led to obscure build races. While reworking that build may be possible, the framework should not so easily allow creating such problems. Now depending on <directory> will properly redirect to the all_subdir_<directory> target rather than invoking the inline shell. This also makes 'make -jX <directory>' now respect any SUBDIR_DEPEND_<directory> statements when SUBDIR_PARALLEL is defined. This is not entirely intended and may be changed later. MFC after:=092 weeks Sponsored by:=09EMC / Isilon Storage Division 304645 by bdrewery: Always define the various <target>_subdir_<directory> targets, even if not = used. This is part of an effort to cleanup handling of some edge cases involving 'make <directory>'. It also provides the targets for other uses. MFC after:=092 weeks Sponsored by:=09EMC / Isilon Storage Division 304644 by bdrewery: Stop using _SUBDIR internally for non-SUBDIR_PARALLEL builds. This is unifying more of the logic. Rather than create targets such as 'all: all_subdir_foo' when using SUBDIR_PARALLEL and using 'all: _SUBDIR' when not using SUBDIR_PARALLEL, always use the expanded out <target>_subdir_<directory> pattern. When not using SUBDIR_PARALLEL, have each directory-target depend on the previously defined targets as to respect the *order* of SUBDIR. Using 'make -N' now prints all directory traversals individually rather than using a loop, since a loop is no longer used to traverse. This is part of an effort to cleanup handling of some edge cases involving 'make <directory>' and making it simpler in the sense that the pattern used to build is the same for all modes. MFC after:=092 weeks Sponsored by:=09EMC / Isilon Storage Division 304643 by bdrewery: Fix building on read-only source trees. This partially reverts r296702 and reworks the original check to only look in .CURDIR. This avoids ever trying to rebuild a .src file that is already in the source tree as an override. PR:=09=09211952 MFC after:=093 days Sponsored by:=09EMC / Isilon Storage Division 304641 by ache: 1) Back out r304607 case 2). fgetwln() as its pair fgetln() supposed to return partial line on any errors. See the comment in fgetln.c. Add corresponding comment to fgetwln() too. 2) Rewrite r304607 case 1). 3) Remove "Fast path" from __fgetwc_mbs() since it can't detect encoding errors and ignores them all. PR: 212033 MFC after: 7 days 304640 by jkim: Prefer C-style comments in assembly sources. 304638 by jkim: Fix white spaces in assembly sources. 304637 by jhb: Fix build for !SMP kernels after the Xen MSIX workaround. Move msix_disable_migration under #ifdef SMP since it doesn't make sense for !SMP kernels. PR:=09=09212014 Reported by:=09Glyn Grinstead <glyn@grinstead.org> MFC after:=093 days 304636 by jkim: Build OpenSSL assembly sources for arm. Tested with Raspberry Pi 2 Model B= . MFC after:=091 week 304635 by roberto: Remove support for SSH1 as it is already disabled in our OpenSSH. Submitted by:=09vangyzen MFC after:=092 weeks 304629 by hselasky: Don't separate the status stage of the XHCI USB control transfers into its own job because this breaks the simplified QEMU XHCI TRB parser, which expects the complete USB control transfer as a series of back to back TRBs. The old behaviour is kept under #ifdef in case this change breaks enumeration of any USB devices. PR:=09=09212021 MFC after:=091 week 304626 by roberto: Add support for Ed25519 keys. Reported by:=09mwlucas MFH:=09=092 weeks 304625 by andrew: Fix the arm64 non-SMP build, active_irq is a uint64_t so cast it through a uintmax_t. Obtained from:=09ABT Systems Ltd MFC after:=091 week Sponsored by:=09The FreeBSD Foundation 304624 by emaste: Remove duplicate symbol from libhx509 version-script.map Upstream commit r21331 (7758a5d0) added semiprivate function _hx509_request_to_pkcs10 twice. This change has been committed upstream as 8ef0071d. 304623 by manu: Fix building for ARM kernel that have FLASHADDR, PHYSADDR and LOADERRAMADDR= defined. Pointy Hat: myself Reported by:=09bz 304622 by andrew: Ensure map is valid, even before userland exists and the fault address register points to an address in the userland range. Obtained from:=09ABT Systems Ltd MFC after:=091 week Sponsored by:=09the FreeBSD Foundation 304621 by jhb: Remove cross references to el(4) and ie(4). 304620 by andrew: Fix pmap_update_entry, pmap_invalidate_range takes the end address, not the size. Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation 304618 by emaste: Regenerate src.conf.5 after r304616 304616 by emaste: Forcibly disable MK_TESTS if building without C++ Several atf components require C++, and the test suite is not usable if building WITHOUT_CXX. Reviewed by:=09bdrewery, jmmv Sponsored by:=09The FreeBSD Foundation Differential Revision:=09https://reviews.freebsd.org/D7597 304615 by ed: Make CloudABI work on i386. Copy over amd64's cloudabi64_sysvec.c into i386 and tailor it to work. Again, we use a system call convention similar to FreeBSD, except that there is no support for indirect system calls (%eax =3D=3D 0). Where i386 differs from amd64 is that we have to store thread/process entry arguments on the stack instead of using registers. We also have to put an extra pointer on the stack for TLS (for GSBASE). Place that pointer in the empty slot that is normally used to hold return addresses. That seems to keep the code simple. Reviewed by:=09kib Differential Revision:=09https://reviews.freebsd.org/D7590 304612 by bde: Further fixes for translation of PrintScreen/SysRq. The previous fix was tested mainly on 3 AT keyboards with USB adaptors wher= e it works. 1 USB keyboard doesn't translate Alt-PrintScreen, so the softwar= e has to do it. Reorganize a little to share some code and to not translate the unusual usb scan code0x8a unless an Alt modified is set. Remove redundant check of Alt modifiers. Translation now more clearly filters out Alt-PrintScreen before the check. The table of errors fixed in the previous commit had many bugs. Correct table: K_RAW Ctl-PrintScreen: E0-2A-E0-37 -> E0-3= 7 K_RAW Alt-PrintScreen (with 4 comb. of Ctl/Shift): 79 -> 54 K_RAW Pause/Break (with 4 comb. of Alt/Shift): E0-46 -> E1-1D-45 K_CODE PrintScreen (with 4 comb. of Ctl/Shift): 54 -> 5c K_CODE Alt-PrintScreen (with 4 comb. of Ctl/Shift): 7e -> 54 K_CODE Pause/Break (with 8 comb. of Ctl/Alt/Shift): 6c -> 68 That is 25 of 32 shift combinations for 2 keys fixed. All 16 combinations were broken for K_CODE and thus also for K_XLATE. 304608 by bdrewery: Bump __FreeBSD_version for C++11 thread_local support in r303795. PR:=09=09192320 304607 by ache: Fix error processing. 1) Don't forget to set __SERR on __slbexpand() error. 2) Check for __fgetwc() errors using errno. Don't check for __SERR as PR suggested, it user-visible flag which can stick from previous functions and stdio code don't check it for this purpose. PR: 212033 MFC after: 3 days 304606 by rstone: Temporarily disable the optimization from r304436 r304436 attempted to optimize the handling of incoming UDP packet by only making an expensive call to in_broadcast() if the mbuf was marked as an broadcast packet. Unfortunately, this cannot work in the case of point-to- point L2 protocols like PPP, which have no notion of "broadcast". Discussions on how to properly fix r304436 are ongoing, but in the meantime disable the optimization to ensure that no existing network setups are brok= en. Reported by:=09bms 304605 by araujo: Fix calloc(3) argument order. Reviewed by:=09trasz MFC after:=094 weeks. Differential Revision:=09https://reviews.freebsd.org/D7532 304604 by andrew: Use switch statements in pmap_remove_pages. While only one level of pagetable is supported more will be added soon to support removing superpages. Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation 304603 by cem: ioat(4): Allow callouts to be scheduled after hw reset is_completion_pending governs whether or not a callout will be scheduled when new work is queued on the IOAT device. If true, a callout is already scheduled, so we do not need a new one. If false, we schedule one and set it true. Because resetting the hardware completed all outstanding work but failed to clear is_completion_pending, no new callout could be scheduled after a reset with pending work. This resulted in a driver hang for polled-only work. 304602 by cem: ioat(4): Don't process events past queue head Fix a race where the completion routine could overrun the active ring area in some situations. 304601 by hselasky: Increase the maximum RX/TX queue size. This allows for a RX/TX queue size of 16384 mbufs. Previously the limit was 8192. Sponsored by:=09Mellanox Technologies MFC after:=091 week 304600 by andrew: Use pmap_update_entry in pmap_enter when updating an entry with a new physical address. This is required when either mapping is writeable. While here remove an unneeded call to pmap_pde, we already have the pde from earlier in the function. Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation 304599 by andrew: Add sysctls to report on superpages statistics. While here add extra logging to these paths. Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation 304598 by andrew: Add a size argument to pmap_update_entry. Make use of this in pmap_promote_l2. Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation 304597 by hselasky: Fix for invalid use of bits in input context. Basically split configuring of EP0 and non-EP0 into xhci_cmd_evaluate_ctx() and xhci_cmd_configure_ep() respectivly. This resolves some errors when using XHCI under QEMU and gets is more in line with the XHCI specification. PR:=09=09212021 MFC after:=091 week 304596 by andrew: Add KASSERTS in pmap_alloc_l3 to ensure we are not encountering superpages when we don't yet expect them; Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation 304595 by sephe: hyperv/hn: Factor out function to simplify NVS request sending MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7578 304594 by sephe: hyperv/hn: Factor out function to execute NVS transactions. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7577 304593 by sephe: hyperv/hn: Get rid of netvsc_dev MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7575 304591 by sephe: hyperv/hn: Move chimney sending buffer to hn_softc And don't recreate chimney sending buffer for each primary channel open, it is now created in device_attach DEVMETHOD and destroyed in device_detach DEVMETHOD. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7574 304584 by yongari: Add a missing change in r304575. Noticed by:=09jhb 304579 by tuexen: Improve the locking when sending user messages. First, keep a ref count on the stcb after looking it up, as done in the other lookup cases. Second, before looking again at sp, ensure that it is not freed, because the assoc is about to be freed. MFC after: 3 days 304576 by yongari: Add Killer E2400 to the supported hardware list. 304575 by yongari: Add Killer E2400 Gigabit Ethernet support. It seems Killer E2200/E2400 has a BIOS misconfiguration or silicon bug which triggers DMA write errors when driver uses advertised maximum payload size. Force the maximum payload size to 128 bytes in DMA configuration. This change should fix occasional DMA write errors reported on Killer E2200. Tested by:=09<psy0nic@sys-tek.org> 304574 by yongari: Correct DMA channel number selection on AR816x family of controllers. For Gigabit Ethernet version of AR816x, AR813x/AR815x except L1D controller, use vendor recommended ASPM parameters. While here, increase alc_dma_burst array size. Broken H/W can return bogus value in theory. 304573 by tuexen: Remove duplicate code, which is not protected by the appropriate locks. MFC after: 3 days 304572 by bz: Remove the kernel optoion for IPSEC_FILTERTUNNEL, which was deprecated more than 7 years ago in favour of a sysctl in r192648. 304571 by hselasky: Make the UKBD USB transfers double buffered and set them up one by one, so they are memory independent which allows for handling panics triggered by the keyboard driver itself, typically via CTRL+ALT+ESC sequences. Or if the USB keyboard driver was processing a key at the moment of panic. Allow UKBD to be attached while keyboard polling is active= . Tested by:=09Bruce Evans <bde@freebsd.org> MFC after:=091 week 304570 by trasz: Add the "-n" flag to cron(8), to prevent it from daemonizing. This makes it possible to use it with external supervisors. The "-n" flag name is compatible with Linux, NetBSD, and OpenBSD. Reviewed by:=09jilles, pfg, wblock MFC after:=091 month Differential Revision:=09https://reviews.freebsd.org/D7581 304567 by bde: Fix translation of the PrintScreen/SysRq and Pause/Break keys. Almost everything was broken. The cases that I noticed were Ctrl-PrintScreen not being mapped to the virtual scancode 0x5c (debug) and Pause not being mapped to the physical/virtual scancode 0x46 (slock). These keys are the most complicated ones due to kludges to give some compatibility back to before AT keyboards. Alt-PrintScreen must pretend to be a separate key from PrintScreen even at the "raw" level. The (unique) usb code for it is 0x8a and we just have to map this to our unique virtual scancode 0x54, but we mapped it first to the internal code 0x7e and then to 0x79 which is a key on the Japanese 106/109 keyboard. This fix is under the UKBD_EMULATE_ATASCANCODE option which shouldn't be used for non-AT keyboards. If it is, then the syscons Japanese keymaps have nothing of importance for code 0x79 and can easily be changed. 0x54 is also unimportant in Japanese and US keymaps. NonAlt-PrintScreen and NonCtl-Pause/Break had many much larger bugs with smaller compatibility problems from fixing them. The details are too ugly to give here. Summary of the changed (hex) codes: K_RAW PrintScreen (Ctl, Shift, Ctl-Shift): E0-2A-E0-37 -> E0-3= 7 K_RAW Alt-PrintScreen (all shift states): 79 -> 54 K_RAW Pause/Break (unshifted, Shift, Alt, Alt-Shift)): E0-46 -> E1-1D-45 K_CODE ALT-PrintScreen (all shift states): 79 -> 54 That is 15 of 32 shift combinations for 2 keys fixed, with 8 easy cases from the 79 -> 54 remapping. The difference is only large and with no workaround using a keymap for for K_RAW, but this affects other modes when ukbd is layered under kbmux because kbmux keeps all subdevices in K_RAW mode and translates. Oops. I used kbdmux to generate the above table of changes. 304566 by manu: allwinner: Remove a20/a20_cpu_cfg.c from the build. This was needed when we used the SoC specific timer and not the generic-tim= er. 304565 by ed: Add source files generated from the 32-bit system call table. 304564 by ed: Add CPU independent code for running 32-bits CloudABI executables. Essentially, this is a literal copy of the code in sys/compat/cloudabi64, except that it now makes use of 32-bits datatypes and limits. In sys/conf/files, we now need to take care to build the code in sys/compat/cloudabi if either COMPAT_CLOUDABI32 or COMPAT_CLOUDABI64 is turned on. This change does not yet include any of the CPU dependent bits. Right now I have implementations for running i386 binaries both on i386 and x86-64, which I will send out for review separately. 304563 by ed: Fix s/64/32/ conversion errors in the system call table. We should pull in the 32 bit headers when using this system call table. 304561 by ed: Import the 32-bit system call table and data types into the tree. Obtained from:=09https://github.com/NuxiNL/cloudabi 304560 by bjk: Remove the ie(4) hardware list from the release documentation The driver was removed by jhb in r304513, and the &hwlist.ie; entity is no longer generated, causing the website build to fail. 304559 by ed: Don't forget to define __ELF_WORD_SIZE. Without it, we only obtain the ELF types native to the system. In this we explicitly want the 64-bit versions. 304558 by ed: Add a utility macro for converting 64-bit pointers to native pointers. Right now we're casting uint64_t's to native pointers. This isn't causing any problems right now, but if we want to provide a 32-bit compatibility layer that works on 64-bit systems as well, this will cause problems. Casting a uint32_t to a 64-bit pointer throws a compiler error. Introduce a TO_PTR() macro that casts the value to uintptr_t before casting it to a pointer. 304557 by ed: Move the linker script from cloudabi64/ to cloudabi/. It turns out that it works perfectly fine for generating 32-bits vDSOs as well. While there, get rid of the extraneous .s file extension. 304556 by ed: Use the right _MAX constant. Though uio_resid is of type ssize_t, we need to take into account that this source file contains an implementation specific to a certain userspace pointer size. If this file provided 32-bit implementations, this should have used INT32_MAX, even when running a 64-bit kernel. This change has no effect, but is simply in preparation for adding support for running 32-bit CloudABI executables. 304555 by ed: Use memcpy() to copy 64-bit timestamps into the syscall return values. On 32-bit platforms, our 64-bit timestamps need to be split up across two registers. A simple assignment to td_retval[0] will cause the top 32 bits to get lost. By using memcpy(), we will automatically either use 1 or 2 registers depending on the size of register_t. 304554 by ed: Rewrite the vDSOs for CloudABI in assembly. The reason why the old vDSOs were written in C using inline assembly was purely because they were embedded in the C library directly as static inline functions. This was practical during development, because it meant you could invoke system calls without any library dependencies. The vDSO was simply a copy of these functions. Now that we require the use of the vDSO, there is no longer any need for embedding them in C code directly. Rewriting them in assembly has the advantage that they are closer to ideal (less useless branching, less assumptions about registers remaining unclobbered by the kernel, etc). They are also easier to build, as they no longer depend on the C type information for CloudABI. Obtained from:=09https://github.com/NuxiNL/cloudabi 304552 by adrian: [mips] add support for the "creative" GNU extensions and IRIX hilarity arou= nd MIPS LO16/HI16 relocations. This was .. an interesting headache. There are two halves: * The earlier IRIX stuff (yes, early) occasionally would do dead code removal and generate multiple consecutive LO16 entries. If this is done for REL entries then it's fine - there's no state kept between them. But gcc 5.x seems to do this for RELA entries. eg: HI1 LO1 HI2 LO2 LO3 HI4 LO4 .. in this instance, LO2 should affect HI2, but LO3 doesn't at all affect anything. The matching HI3 was in code that was deleted as "dead code". Then, the next one: * A "GCC extension" allows for multiple HI entries before a LO entry; and all of those HI entries use the first LO entry as their basis for RELA offset calculations. It does this so GCC can also do dead code deletion without necessarily having to geneate fake relocation entries for balanced HI/LO RELA entries. eg: HI1 LO1 HI2 HI3 HI4 LO4 LO5 HI6 LO6 LO7 in this instance, HI{2,3,4} are the same relocation as LO4 (eg .bss) and need to be buffered until LO4 - then the RELA offset is applied from LO4 to HI{2,3,4} calculations. /And/, the AHL from HI4 is used during the LO4 relocation calculation, just like in the normal (ie, before this commit) implementation. Then, LO5 doesn't trigger anything - the HI "buffer" is empty, so there are no HI relocations to flush out. HI6/LO6 are normal, and LO7 doesn't trigger any HI updates. Tested: * AR9344 SoC, kernel modules, using gcc-5.3 (mips-gcc-5.3.0 package) Notes: * Yes, I do feel dirty having written this code. Reviewed by:=09imp (after a handful of "this should be on fire" moments wrt= gcc and this code) 304548 by zec: Permit disabling net.inet.udp.require_l2_bcast in VIMAGE kernels. The default value of the tunable introduced in r304436 couldn't be effectively overrided on VIMAGE kernels, because instead of being accessed via the appropriate VNET() accessor macro, it was accessed via the VNET_NAME() macro, which resolves to the (should-be) read-only master template of initial values of per-VNET data. Hence, while the value of udp_require_l2_bcast could be altered on per-VNET basis, the code in udp_input() would ignore it as it would always read the default value (one) from the VNET master template. Silence from: rstone 304545 by karels: Disable L2 caching for UDP over IPv6 The ip6_output routine is missing L2 cache invalication as done in ip_output. Even with that code, some problems with UDP over IPv6 have been reported. Diabling L2 cache for that problem works around the problem for now. PR:=09=09211872 211926 Reviewed by:=09gnn Approved by:=09gnn (mentor) MFC after:=09immediate 304544 by rwatson: Audit the accepted (or rejected) username argument to setlogin(2). (NB: This was likely a mismerge from XNU in audit support, where the text argument to setlogin(2) is captured -- but as a text token, whereas this change uses the dedicated login-name field in struct audit_record.) MFC after:=092 weeks Sponsored by:=09DARPA, AFRL 304543 by tuexen: Unbreak sctp_connectx(). MFC after: 3 days 304537 by rwatson: Audit additional vnode information in the implementation of the ftruncate(2) system call. This was not required by the Common Criteria, which needed only open-time audit. MFC after:=092 weeks Sponsored by:=09DARPA, AFRL 304535 by bapt: Import Dragonfly Mail Agent snapshort from 20160806 aka v0.11+ Most important change being: dma - Fix security hole (#46) Affecting DragonFly 4.6 and earlier, Matt Dillon fixed this in base after finding out from BSDNow Episode 152. Comments following were from his commi= t which explains better than I. Just taking his change and putting it here as= well. * dma makes an age-old mistake of not properly checking whether a file owned by a user is a symlink or not, a bug which the original mail.local also had. * Add O_NOFOLLOW to disallow symlinks. Thanks-to: BSDNow Episode 152, made me dive dma to check when they talked about the mail.local bug. MFC After:=092 days 304532 by tsoome: loader is filling fixed length command_errbuf with sprintf() and is trustin= g strings provided by user/config files. This update is replacing sprintf wit= h snprintf for cases the command_errbuf is built from dynamic content. PR:=09=09211958 Reported by:=09ecturt@gmail.com Reviewed by:=09imp, allanjude Approved by:=09imp (mentor), allanjude (mentor) Differential Revision:=09https://reviews.freebsd.org/D7563 304530 by dim: Pull in r265122 from upstream llvm trunk (by James Molloy): Fix for pr24346: arm asm label calculation error in sub Some ARM instructions encode 32-bit immediates as a 8-bit integer (0-255) and a 4-bit rotation (0-30, even) in its least significant 12 bits. The original fixup, FK_Data_4, patches the instruction by the value bit-to-bit, regardless of the encoding. For example, assuming the label L1 and L2 are 0x0 and 0x104 respectively, the following instruction: add r0, r0, #(L2 - L1) ; expects 0x104, i.e., 260 would be assembled to the following, which adds 1 to r0, instead of 260: e2800104 add r0, r0, #4, 2 ; equivalently 1 The new fixup kind fixup_arm_mod_imm takes care of the encoding: e2800f41 add r0, r0, #260 Patch by Ting-Yuan Huang! This fixes label calculation for ARM assembly, and is needed to enable ARM assembly sources for OpenSSL. Requested by:=09jkim MFC after:=093 days 304521 by avg: JMicron JMB361 has only a single SATA port Discussed with:=09mav MFC after:=093 days 304520 by avg: fix bug introduced in r297521, set canmount=3Don doesn't mount filesystem There are two cases where changing canmount should result in an action: - canmount is set to off for a mounted filesystem - canmount is set to on for an unmounted filesystem Before r297521 we could unmount and re-mount a filesystem when that was not necessary, but after r297521 we only handled the first of the above cases. MFC after:=095 days 304514 by jhibbits: Skip HID1 initialization on e6500 cores, it doesn't exist. With this, and some drivers removed, a T2080 dev board boots to mountroot. Submitted by:=09Ivan Krivonos <int0dster_AT_gmail.com> 304513 by jhb: Remove the ie(4) driver for Intel 82586 ISA Ethernet adapters. This driver only supports 10Mb Ethernet using PIO (the hardware supports DMA, but the driver only does PIO). There are not any PCCard adapters supported by this driver, only ISA cards. In addition, it does not use bus_space but instead uses bcopy with volatile pointers triggering a host of warnings. (if_ie.c is one of 3 files always built with -Wno-error) Relnotes:=09yes 304510 by erj: ixlv(4): Fix ixlv(4) not loading when loaded as a kernel module and netmap = is enabled. Define (unused) netmap variables; ixlv(4) doesn't support netmap yet. Reported by:=09sergey.kozlov@intel.com Sponsored by:=09Intel Corporation 304509 by manu: if_emac: Before generating a random MAC address, try using the SID rootkey to generate one. This is was U-Boot does to generate a random MAC so we end up with the same MAC address as if U-Boot did generate it. MFC after:=091 week 304508 by jhb: Remove the spic(4) driver for the Sony Vaoi Jogdial. This hardware is not present on any modern systems. The driver is quite hackish (raw inb/outb instead of bus_space, and raw inb/outb to random I/O ports to enable ACPI since it predated proper ACPI support). Relnotes:=09yes 304506 by jhb: Remove the wl(4) driver and wlconfig(8) utility. The wl(4) driver supports pre-802.11 PCCard wireless adapters that are slower than 802.11b. They do not work with any of the 802.11 framework and the driver hasn't been reported to actually work in a long time. Relnotes:=09yes 304505 by jhb: Remove mentions of the mcd(4), scd(4), and si(4) drivers. Relnotes:=09yes 304504 by jhb: Remove stale drivers (amd(4) and asr(4)) from the SCSI controller regex. 304503 by jhb: Remove the wds(4) driver for the WD700 ISA SCSI HBA. While this driver does do DMA, it bounce buffers all transactions through a single 64k buffer. It also does not have a manpage. Relnotes:=09yes 304502 by jhb: Remove the si(4) driver and sicontrol(8) for Specialix serial cards. The si(4) driver supported multiport serial adapters for ISA, EISA, and PCI buses. This driver does not use bus_space, instead it depends on direct use of the pointer returned by rman_get_virtual(). It is also still locked by Giant and calls for patch testing to convert it to use bus_space were unanswered. Relnotes:=09yes 304501 by jhb: Remove doxygen files for mcd(4) and scd(4) drivers. Submitted by:=09ak 304498 by jhb: Remove the scd(4) driver for Sony CDU31/33 CD-ROM drives. This is a driver for a pre-ATAPI ISA CD-ROM adapter. The driver only uses PIO. 304492 by jhb: Move cxgb and cxgbe down to the non-mii PCI NIC section. 304488 by manu: Keep boot parameters in ARM trampoline code Currently boot parameters (r0 - r3) are forgotten in ARM trampoline code. This patch save them at startup and restore them before jumping into kernel _start() routine. This is usefull when booting with Linux ABI and/or custom bootloader. Submitted by:=09Gr=C3=A9gory Soutad=C3=A9 <soutade@gmail.com> Reviewed by:=09imp Differential Revision:=09https://reviews.freebsd.org/D7395 304487 by markj: Don't set P2_PTRACE_FSTP in a process that invokes ptrace(PT_TRACE_ME). Such processes are stopped synchronously by a direct call to ptracestop(SIGTRAP) upon exec. P2_PTRACE_FSTP causes the exec()ing thread to suspend itself while waiting for a SIGSTOP that never arrives. Reviewed by:=09kib MFC after:=093 days Differential Revision:=09https://reviews.freebsd.org/D7576 304485 by jhb: Reorder sysctls so that nodes shared with the VF driver are added first. This permits a single early return for VF devices in the routines that add sysctl nodes. Reviewed by:=09np Sponsored by:=09Chelsio Communications Differential Revision:=09https://reviews.freebsd.org/D7512 304484 by ed: Regenerate system call table after r304483. 304483 by ed: Use the proper value for svn:keywords. Pointy hat to:=09me 304482 by jhb: Adjust t4_port_init() to work with VF devices. Specifically, the FW_PORT_CMD may or may not work for a VF (the PF driver can choose whether or not to permit access to this command), so don't attempt to fetch port information on a VF if permission is denied by the PF. Reviewed by:=09np Sponsored by:=09Chelsio Communications Differential Revision:=09https://reviews.freebsd.org/D7511 304481 by ed: Add missing SVN keywords keyword. 304479 by jhb: Add structures for VF-specific adapter parameters. While here, mark which parameters are PF-specific and which are VF-specific. Sponsored by:=09Chelsio Communications Differential Revision:=09https://reviews.freebsd.org/D7508 304478 by ed: Import the new automatically generated system call table for CloudABI. Now that we've switched over to using the vDSO on CloudABI, it becomes a lot easier for us to phase out old features. System call numbering is no longer something that's part of the ABI. It's fully based on names. As long as the numbering used by the kernel and the vDSO is consistent (which it always is), it's all right. Let's put this to the test by removing a system call (thread_tcb_set()) that's already unused for quite some time now, but was only left intact to serve as a placeholder. Sync in the new system call table that uses alphabetic sorting of system calls. Obtained from:=09https://github.com/NuxiNL/cloudabi 304476 by jhb: Fix various nits in the aio operation manpages. - Avoid double use of "request" in a single sentence. Instead, describe aio_sigevent as being used to request notification of the associated operation's completion. This matches the language used to describe aio_sigevent in aio(4). - Simplify the prohibition on modifying buffers while requests are in flight. - Fix case mismatch. - Drop note about not using stack variables. C programmers should be able to figure out if a stack variable is safe based on the later warning about the life cycle requirements of control blocks. - Remove prohibition on modifying the I/O buffer for aio_fsync() since it does not use an I/O buffer. For aio_mlock(), prohibit modifications to the mapping (e.g. due to mprotect, munmap, mmap, etc.) but do not prohibit modifications to the memory backing the buffer (stores into the pages backing the buffer). Requested by:=09wblock (1,2), kib (4) Reviewed by:=09kib, rpokala, wblock MFC after:=093 days Sponsored by:=09Chelsio Communications Differential Revision:=09https://reviews.freebsd.org/D7462 304464 by manu: Allwinner: Move a10_padconf.c into a10 subdirectory. 304461 by mmel: TEGRA: Remove forgotten debug printf. 304460 by mmel: TEGRA: Implement MSI/MSIX interrupts for pcie controller. 304459 by mmel: INTRNG: Rework handling with resources. Partially revert r301453. - Read interrupt properties at bus enumeration time and store it into global mapping table. - At bus_activate_resource() time, given mapping entry is resolved and connected to real interrupt source. A copy of mapping entry is attached to given resource. - At bus_setup_intr() time, mapping entry stored in resource is used for delivery of requested interrupt configuration. - For MSI/MSIX interrupts, mapping entry is created within pci_alloc_msi()/pci_alloc_msix() call. - For legacy PCI interrupts, mapping entry must be created within pcib_route_interrupt() by pcib driver itself. Reviewed by: nwhitehorn, andrew Differential Revision: https://reviews.freebsd.org/D7493 304458 by yongari: Host controller is byte oriented. Fix wrong assumption on big-endian systems. Pointed out by:=09hselasky 304447 by sephe: hyperv/hn: Move RXBUF to hn_softc And don't recreate RXBUF for each primary channel open, it is now created in device_attach DEVMETHOD and destroyed in device_detach DEVMETHOD. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7556 304446 by sephe: hyperv/hn: Remove the useless num_channel MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7555 304444 by sephe: hyperv/hn: Remove assign-only struct field MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7554 304443 by imp: Improve the pattern matching so that internal *'s work, as well as [set] notation. This fixes pattern matching for recently added drives that would set the NCQ Trim being broken incorrectly. PR: 210686 Tested-by: Tomoaki AOKI MFC After: 3 days 304441 by sephe: hyperv/hn: Move NVS version to softc MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7553 304440 by markj: Correct a check for P2_PTRACE_FSTP in ptracestop(). MFC after:=091 day 304439 by yongari: Fix build on big-endian systems. Reported by:=09bz 304438 by mckusick: Fsck_ufs was using an int rather than a ufs2_daddr_t to store the alternate superblock location when given in the -b option. When int is 32-bits, block numbers larger than 2^32 would get truncated. This commit changes the storage fpr the alternate superblock location to a ufs2_daddr_t. Submitted by: Dmitry Sivachenko <trtrmitya@gmail.com> 304437 by rstone: Fix unlocked access to ifnet address list in_broadcast() was iterating over the ifnet address list without first taking an IF_ADDR_RLOCK. This could cause a panic if a concurrent operation modified the list. Reviewed by: bz MFC after: 2 months Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D7227 304436 by rstone: Don't check for broadcast IPs on non-bcast pkts in_broadcast() can be quite expensive, so skip calling it if the incoming mbuf wasn't sent to a broadcast L2 address in the first place. Reviewed by: gnn MFC after: 2 months Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D7309 304435 by rstone: Don't iterate over the ifnet addr list in ip_output() For almost every packet that is transmitted through ip_output(), a call to in_broadcast() was made to decide if the destination IP was a broadcast address. in_broadcast() iterates over the ifnet's address to find a source IP matching the subnet of the destination IP, and then checks if the IP is a broadcast in that subnet. This is completely redundant as we have already performed the route lookup, so the source IP is already known. Just use that address to directly check whether the destination IP is a broadcast address or not. MFC after:=092 months Sponsored By:=09EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D7266 304431 by markj: Add a SIGINFO handler for dtrace(1). Have it print the contents of aggregations, if any. Otherwise, one needs to kill the running script to view the collected data, or add code to periodically print it. Discussed with:=09gnn MFC after:=091 month 304430 by emaste: vt: fix old keyboard release in CONS_SETKBD On the first switch we previously released the newly allocated keyboard instead of the old one. Keyboard state was very confused afterwards for further keyboard switches. Submitted by:=09bde 304402 by gnn: Remove the obsolete and unused openbsd_poll system call. (Phase 2) Reported by:=09brooks Reviewed by:=09brooks, jhb Differential Revision:=09https://reviews.freebsd.org/D7548 304395 by gnn: Remove unusedd and obsolete openbsd_poll system call. (Phase 1) Reported by:=09brooks Reviewed by:=09brooks,jhb Differential Revision:=09https://reviews.freebsd.org/D7548 304378 by bz: Try to fix gcc compilation errors (which are right). nat64_getlasthdr() returns an int, which can be -1 in case of error, storing the result in an uint8_t and then comparing to < 0 is not helpful. Do what is done in the rest of the code and make proto an int here as well. 304374 by ache: Fix TAB replaced with spaces in prev. commit. 304342 by hselasky: Add support for setting blocking and non-blocking mode on /dev/rdma_cm by returning success on FIONBIO and FIOASYNC IOCTLs. The actual flags handling is done by the kern_ioctl() function. Reported by:=09Alex Bowden <alex.bowden@outlook.com> Sponsored by:=09Mellanox Technologies MFC after:=091 week 304336 by yongari: When device is detached make sure to stop the controller and make it return zero-length USB packet. 304335 by yongari: In axge_stop(), clear medium receive enable bit which will stop RX MAC operation. 304334 by kevlo: Remove <sys/types.h> from the SYNOPSIS. 304333 by yongari: When usbd_transfer_setup() fails, don't call usbd_transfer_unsetup(). 304332 by yongari: Introduce axge_rxfilter() which configures RX filtering and replace axge_setmulti()/axge_setpromisc() with axge_rxfilter(). Multicast filter programming and promiscuous mode requires access to a common RX configuration register so there is no need to use separate functions with added complexity. axge_rxfilter() does not read back AXGE_RCR register since accessing a register in USB is too slow and we already have all knowledge of required configuration. Rebuilding RX filter configuration is simpler and faster than manipulating every bits after reading back the register. Note, axge_rxfilter() does not set RCR_IPE(IP header alignment on 32bit boundary) to disable extra padding bytes insertion. The extra padding wastes ethernet to USB host bandwidth as well as complicating RX handling logic. Current USB framework requires copying RX frames to mbufs so there is no need to worry about alignment. Previously axge_rx_frame() performed wrong bound check due to the extra padding and it was broken when RX checksum offloading is disabled. See added comment in axge_rx_frame () for actual RX packet layout. In axge_init(), disable WOL. It's meaningless to enable WOL in normal operation. In axge_rxeof(), use properly sized mbuf rather than blindly allocating a mbuf cluster. Use RX H/W checksum offloading only when administrator requested RX checksum offloading. Previously it always used RX H/W checksum offloading result regardless of RX checksum offloading state. Separate L4 checksum offloading validation from L3 one and properly set required offloading bits for each layer. This is to fix setting L4 checksum offloading bits for L3 packets. There are still lots of RX errors(probably RX FIFO overflows) under moderate load. Users are strongly recommended to enable ethernet flow control. Reviewed by:=09kevlo (initial version), hselasky 304331 by sephe: hyperv/kvp: Remove unnecessary function parameter. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7550 304330 by sephe: hyperv/hn: Get rid of the useless netvsc_packet MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7544 304329 by sephe: hyperv/hn: Constify RNDIS messages on RX path. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7542 304327 by sephe: hyperv/hn: Pass RX packet info to netvsc_recv. This paves to nuke netvsc_packet, which does not serves much purpose now. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7541 304326 by yongari: Switch to TX header format rather than directly manipulating header structures. This simplifies mbuf copy operation to USB buffers as well as improving readability. The controller supports Microsoft LSOv1(aka TSO) but this change set does not include the support due to copying overhead to USB buffers and large amount of memory waste. Remove useless ZLP padding which seems to come from Linux. Required bits the code tried to set was not copied into USB buffer so it had no effect. Unlike Linux, FreeBSD USB stack automatically generates ZLP so no explicit padding is required in driver.[1] Micro-optimize updating IFCOUNTER_OPACKETS counter by moving it out of TX loop since updating counter is not cheap operation as it did long time ago and we already know how many number of packets were queued after exiting the loop. While here, fix a checksum offloading bug which will happen when upper stack computes checksum while H/W checksum offloading is active. The controller should be notified to not recompute the checksum in this case. Reviewed by:=09kevlo (initial version), hselasky Pointed out by:=09hselasky [1] 304325 by yongari: Rename cryptic RX filter constants with more readable ones. No functional change. 304324 by yongari: Don't explicitly call MIIBUS_STATCHG() method handler. Link state change should be handled by PHY driver. Some broken PHY H/Ws may need that workaround but it seems axge(4) don't use such PHYs. 304323 by yongari: Pass PHY location information and remove PHY access hack. 304322 by adrian: [net80211] correctly lock the ifp before accessing the lladdr. Tested by: dhw 304321 by tsoome: Add SHA512, skein, large blocks support for loader zfs. Updated sha512 from illumos. Using skein from freebsd crypto tree. Since loader itself is using 64MB memory for heap, updated zfsboot to use same, and this also allows to support zfs large blocks. Note, adding additional features does increate zfsboot code, therefore this update does increase zfsboot code to 128k, also I have ported gptldr.S update to zfsldr.S to support 64k+ code. With this update, boot1.efi has almost reached the current limit of the siz= e set for it, so one of the future patches for boot1.efi will need to increase the limit. Currently known missing zfs features in boot loader are edonr and gzip supp= ort. Reviewed by:=09delphij, imp Approved by:=09imp (mentor) Obtained from:=09sha256.c update and skein_zfs.c stub from illumos. Differential Revision:=09https://reviews.freebsd.org/D7418 304320 by jkim: Disable assembly sources when compiler/assembler cannot compile certain instructions. For example, GCC 4.2.1 + binutils 2.17.50 does not support AVX instructions. Reported by:=09bde MFC after:=092 weeks 304319 by dim: Pull in r262772 from upstream clang trunk (by Simon Pilgrim): [X86] AMD Bobcat CPU (btver1) doesn't support XSAVE btver1 is a SSSE3/SSE4a only CPU - it doesn't have AVX and doesn't support XSAVE. Differential Revision: http://reviews.llvm.org/D17682 Pull in r262782 from upstream llvm trunk (by Simon Pilgrim): [X86] AMD Bobcat CPU (btver1) doesn't support XSAVE btver1 is a SSSE3/SSE4a only CPU - it doesn't have AVX and doesn't support XSAVE. Differential Revision: http://reviews.llvm.org/D17683 This ensures clang does not emit AVX instructions for CPUTYPE=3Dbtver1. Reported by:=09Michel Depeige <demik+freebsd@lostwave.net> PR:=09=09211864 MFC after:=093 days 304318 by manu: Rename allwinner_machdep.{c.h} to aw_machdep.{c.h} as all allwinner source files are name aw_* 304317 by tsoome: boot1.efi Free() should check for NULL to provide consistent behavior with libstand Free(). Reviewed by:=09imp Approved by:=09imp (mentor) Differential Revision:=09https://reviews.freebsd.org/D7497 304316 by manu: Rename kernel config A10 into ALLWINNER_UP as it is intend to work with all Allwinner Uniprocessor SoC. As of now it works with A10 and A13 (and possibly R8 as it is the same as t= he A13). Move files.a10 into a1o subdirectory as it should be. Rename std.a10 into std.allwinner_up 304315 by jilles: rights(4): CAP_FSYNC also permits fdatasync(2). 304314 by landonf: mips/broadcom: Implement CFE-based EARLY_PRINTF support. This adds support for EARLY_PRINTF via the CFE console; the aim is to provide a fix for the otherwise cyclic dependency between PMU discovery and console printf/DELAY: - We need to parse the bhnd(4) core table to determine the address (and type) of the PMU/PLL registers and calculate the CPU clock frequency. - The core table parsing code will emit a printf() if a parse error is hit. - Safely calling printf() without EARLY_PRINTF requires a working DELAY+cninit, which means we need the PMU. Errors in core table parsing shouldn't happen, but lack of EARLY_PRINTF makes debugging more difficult. Approved by:=09adrian (mentor) Differential Revision:=09https://reviews.freebsd.org/D7498 304313 by ae: Teach netisr_get_cpuid() to limit a given value to supported by netisr. Use netisr_get_cpuid() in netisr_select_cpuid() to limit cpuid value returned by protocol to be sure that it is not greather than nws_count. PR:=09=09211836 Reviewed by:=09adrian MFC after:=093 days 304297 by manu: Add sun5i-a13-olinuxino to the build. 304295 by tuexen: Fix the output for scope statistics. MFC after: 3 days 304292 by tuexen: Use names for SCTP and UDPLite when reporting the input histogram. MFC after: 3 days 304291 by manu: Remove pullup settings for MMC pins, this is not needed since r304290 MFC after:=091 week 304290 by manu: Only set pud settings if this is a pullup or pulldown configuration. This removes the need to set the MMC pins with pullups in our DTS. Thanks to jmcneill@ for spotting this. Tested on Orange Pi One (Allwinner H3). MFC after:=091 week 304289 by manu: a10_gpio_get_function now returns the whole function not only GPIO_INPUT/GPIO_OUTPUT. a10_gpio_get_pud now returns the whole pud not only PULLDOWN/PULLUP. Add a10_gpio_get_drv to get the current drive strenght. During fdt pin configure, avoid setting function/drive/pud if it's already = in the correct value. Tested on Allwinner H3 and A20 MFC after:=091 week 304288 by bdrewery: Garbage collect _umtx_lock(2)/_umtx_unlock(2) references removed in r263318= . This has no real impact on the resulting libc.so file. MFC after:=093 days Sponsored by:=09EMC / Isilon Storage Division 304287 by kib: Add fdatasync(2) man page, combined with fsync(2). Reviewed by:=09emaste, rpokala, wblock Sponsored by:=09The FreeBSD Foundation MFC after:=092 weeks Differential revision:=09https://reviews.freebsd.org/D7522 304286 by kib: Remove duplicated code. aio_aqueue() calls aio_init_aioinfo() as the first action. There is no need to duplicate the code in kern_aio_fsync(). Also fix indent for aio_aqueue() definition. Reviewed by:=09jhb Sponsored by:=09The FreeBSD Foundation MFC after:=091 week Differential revision:=09https://reviews.freebsd.org/D7523 304285 by kib: Implement userspace gettimeofday(2) with HPET timecounter. Right now, userspace (fast) gettimeofday(2) on x86 only works for RDTSC. For older machines, like Core2, where RDTSC is not C2/C3 invariant, and which fall to HPET hardware, this means that the call has both the penalty of the syscall and of the uncached hw behind the QPI or PCIe connection to the sought bridge. Nothing can me done against the access latency, but the syscall overhead can be removed. System already provides mappable /dev/hpetX devices, which gives straight access to the HPET registers page. Add yet another algorithm to the x86 'vdso' timehands. Libc is updated to handle both RDTSC and HPET. For HPET, the index of the hpet device to mmap is passed from kernel to userspace, index might be changed and libc invalidates its mapping as needed. Remove cpu_fill_vdso_timehands() KPI, instead require that timecounters which can be used from userspace, to provide tc_fill_vdso_timehands{,32}() methods. Merge i386 and amd64 libc/<arch>/sys/__vdso_gettc.c into one source file in the new libc/x86/sys location. __vdso_gettc() internal interface is changed to move timecounter algorithm detection into the MD code. Measurements show that RDTSC even with the syscall overhead is faster than userspace HPET access. But still, userspace HPET is three-four times faster than syscall HPET on several Core2 and SandyBridge machines. Tested by:=09Howard Su <howard0su@gmail.com> Sponsored by:=09The FreeBSD Foundation MFC after:=091 month Differential revision:=09https://reviews.freebsd.org/D7473 304279 by kib: By default, allow all to read the HPET registers pages. At the same time, by, by default disallow writes to the mmaped HPET pages. Intent is to allow userspace to use HPET as fast (i.e. no-syscall) timecounter for gettimeofday(2). Unfortunately, the permission model does not make it possible to safely unhide /dev/hpet in the jails even if default mode is set to 0444, because untrusted jailed root may change device permissions to writeable. Sponsored by:=09The FreeBSD Foundation MFC after:=093 weeks 304273 by sephe: hyperv/util: Factor out helper for IC device_probe DEVMETHOD MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7530 304271 by manu: Correctly print and cast u_int64_t and off_t. Reported by:=09ed, imp MFC after:=091 week 304270 by sephe: hyperv/util: Don't reference hn_softc in KVP hn_softc is private data struct. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7519 304268 by kevlo: - Add the 'restrict' type qualifier to match function prototype. - Use .Lb libc rather than libpthread. Reviewed by:=09delphij 304256 by sephe: hyperv/hn: Get rid of unused bits MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7518 304255 by sephe: hyperv/hn: Remove reference to nvsp_status MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7517 304254 by sephe: hyperv/hn: Remove reference to nvsp_msg MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7516 304253 by sephe: hyperv/hn: Simplify RNDIS RX packets acknowledgement. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7515 304252 by sephe: hyperv/hn: Ignore the useless TX table. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7514 304251 by sephe: hyperv/storvsc: Deliver CAM_SEL_TIMEOUT upon SRB status error. SRB status is set to 0x20 by the hypervisor, if the specified LUN is unaccessible, and even worse the INQUIRY response will not be set by the hypervisor at all under this situation. Additionally, SRB status is 0x20 too, for TUR on an unaccessible LUN. Deliver CAM_SEL_TIMEOUT to CAM upon SRB status errors as suggested by Scott Long, other values seems improper. This commit fixes the Hyper-V disk hotplug support. Submitted by:=09Hongjiang Zhang <honzhan microsoft com> MFC after:=093 days Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7521 304249 by davidcs: Add support for set/get cam search mode MFC after: 5 days 304248 by davidcs: Add ql_minidump.h MFC after:5 days 304247 by davidcs: Upgrade fw, bootloader and minidump template to version 5.4.58 Add minidump retrieval code MFC after: 5 days 304246 by vangyzen: PCIe HotPlug: Detect bridges that are not really HotPlug capable Some devices report that they have an MRL when they actually do not. Since they always report that the MRL is open, child devices would be ignored. Try to detect these devices and ignore their claim of HotPlug support. Specifically, if there is an open MRL but the Data Link Layer is active, the MRL is not real. Revert r303645 to re-enable HotPlug support for slots with power controllers, since it works correctly in my testing. Start the DLL state-change timer if Presence /or/ MRL state changes, along with other conditions. Previously, we started the timer iff Presence changed. If there is an MRL, it must be closed for power to be turned on, so Presence is unlikely to change on an MRL-close event. Add a printf() of interesting registers on HotPlug interrupts and commands (one from erj@). These were very useful for debugging. Guard them with bootverbose, since they're spam in normal operation. In collaboration with:=09jhb Reviewed by:=09jhb MFC after:=091 day Relnotes:=09yes (re-enable HotPlug support for slots with power controllers= ) Sponsored by:=09Dell Inc. Differential Revision:=09https://reviews.freebsd.org/D7509 304245 by glebius: Fix a stupid typo (or copy/paste buffer malfunction). 304244 by glebius: We should not be allowing a timeout to reset when a drain is in progress on it (either async or sync drain). At this moment the only user of drain is TCP, but TCP wouldn't reschedule a callout after it has drained it, since it drains only when a tcpcb is close= d. This for now the problem isn't observed. Submitted by:=09rrs 304243 by landonf: bhnd(4): Implement NVRAM support required for PMU bring-up. - Added a generic bhnd_nvram_parser API, with support for the TLV format used on WGT634U devices, the standard BCM NVRAM format used on most modern devices, and the "board text file" format used on some hardware to supply external NVRAM data at runtime (e.g. via an EFI variable). - Extended the bhnd_bus_if and bhnd_nvram_if interfaces to support both string-based and primitive data type variable access, required for common behavior across both SPROM and NVRAM data sources. - Extended the existing SPROM implementation to support the new string-based NVRAM APIs. - Added an abstract bhnd_nvram driver, implementing the bhnd_nvram_if atop the bhnd_nvram_parser API. - Added a CFE-based bhnd_nvram driver to provide read-only access to NVRAM data on MIPS SoCs, pending implementation of a flash-aware bhnd_nvram driver. Approved by:=09adrian (mentor) Differential Revision:=09https://reviews.freebsd.org/D7489 304242 by landonf: bhndb(4): Drop MIPS-incompatible __builtin_ctz dependency. This replaces the bitfield representation of the bhndb register window freelist with the bitstring API, eliminating a dependency on (MIPS-unsupported) __builtin_ctz(). Approved by:=09adrian (mentor) Differential Revision:=09https://reviews.freebsd.org/D7495 304239 by mckusick: Bug 211013 reports that a write error to a UFS filesystem running with softupdates panics the kernel. The problem that has been pointed out is that when there is a transient write error on certain metadata blocks, specifically directory blocks (PAGEDEP), inode blocks (INODEDEP), indirect pointer blocks (INDIRDEPS), and cylinder group (BMSAFEMAP, but only when journaling is enabled), we get a panic in one of the routines called by softdep_disk_io_initiation that the I/O is "already started" when we retry the write. These dependency types potentially need to do roll-backs when called by softdep_disk_io_initiation before doing a write and then a roll-forward when called by softdep_disk_write_complete after the I/O completes. The panic happens when there is a transient error. At the top of softdep_disk_write_complete we check to see if the write had an error and if an error occurred we just return. This return is correct most of the time because the main role of the routines called by softdep_disk_write_complete is to process the now-completed dependencies so that the next I/O steps can happen. But for the four types listed above, they do not get to do their rollback operations. This causes the panic when softdep_disk_io_initiation gets called on the second attempt to do the write and the roll-back routines find that the roll-backs have already been done. As an aside I note that there is also the problem that the buffer will have been unlocked and thus made visible to the filesystem and to user applications with the roll-backs in place. The way to resolve the problem is to add a flag to the routines called by softdep_disk_write_complete for the four dependency types noted that indicates whether the write was successful (WRITESUCCEEDED). If the write does not succeed, they do just the roll-backs and then return. If the write was successful they also do their usual processing of the now-completed dependencies. The fix was tested by selectively injecting write errors for buffers holding dependencies of each of the four types noted above and then verifying that the kernel no longer paniced and that following the successful retry of the write that the filesystem could be unmounted and successfully checked cleanly. PR: 211013 Reviewed by: kib 304238 by ngie: Only expect :encode_tv_random_million to fail on 64-bit platforms It passes on i386 MFC after:=091 week Sponsored by:=09EMC / Isilon Storage Division 304235 by markj: Remove prototypes missed in r303951. 304232 by kib: In UFS_BALLOC(), invalidate pages of indirect buffers on failed block allocation unwinding. Dandling buffers are released on UFS_BALLOC() failure to ensure that later attempt to allocate blocks in close range do not find the blocks with invalid content, since possible partial block allocations are unwound. As such, it is not enough to just release the buffers, the pages must also invalidated and removed from the vnode vm_object queue. Otherwise the pages might be found later and used to reconstruct indirect buffers when doing allocations at offset close to the failure point, and their stale content compromise the filesystem integrity. Note that just marking the buffer as B_INVAL is not enough, B_NOCACHE is required. To be sure, clear the B_CACHE flag as well. This complements the r174973, which started releasing buffers. Reported and tested by:=09pho Reviewed by:=09mckusick Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 304231 by kib: On unwind after failed block allocation in ffs_balloc_ufs{1,2}, assert that recorded allocated blocks numbers match the physical block numbers of dandling buffers which are released. When finally freeing the blocks during unwind, assert that dandling buffers where not re-allocated. They shouldn't, because the vnode lock is owned exclusive. Reviewed by:=09mckusick Tested by:=09pho Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 304230 by mckusick: Add two new macros, SLIST_CONCAT and LIST_CONCAT. Note in both the queue.h header file and in the queue.3 manual page that they are O(n) so should be used only in low-usage paths with short lists (otherwise an STAILQ or TAILQ should be used). Reviewed by: kib 304229 by kib: When looking up dandling buffers for unwing after failing block allocation in UFS_BALLOC(), there is no need to map them. Reviewed by:=09mckusick Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 304228 by kib: When block allocation fails in UFS_BALLOC(), and the volume does not have SU enabled, there is no point in calling softdep_request_cleanup(). The call cannot produce free blocks, but we unecessarily lock ufsmount and do inode block write. Usual point of not doing optimizations for the corner case of the full volume is not applicable there, the work is easily avoidable, and the addition CPU and disk io load do not lead to succeeding retry. Reviewed by:=09mckusick Tested by:=09pho Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 304227 by kib: In ffs_balloc_ufs{1,2} routines, assert that unwind records do not overflow local arrays. This is not immediately obvious from the static code inspection, due to retry logic. Reviewed by:=09mckusick Tested by:=09pho Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 304226 by araujo: Use nitems() from sys/param.h. MFC after:=092 weeks. 304225 by araujo: Use nitems() from sys/param.h. MFC after:=092 weeks. 304224 by rrs: A few more wording tweaks as suggested (with some modifications as well) by Ravi Pokala. Thanks for the comments :-) Sponsored by: Netflix Inc. 304223 by rrs: Here we update the modular tcp to be able to switch to an alternate TCP stack in other then the closed state (pre-listen/connect). The idea is that *if* that is supported by the alternate stack, it is asked if its ok to switch. If it approves the "handoff" then we allow the switch to happen. Also the fini() function now gets a flag to tell if you are switching away *or* the tcb is destroyed. The init() call into the alternate stack is moved to the end so the tcb is more fully formed before the init transpires. Sponsored by:=09Netflix Inc. Differential Revision:=09D6790 304222 by manu: Only use WaitForKeys event if it exists, this is not the case in u-boot efi= implementation. Reviewed by:=09jhb, emaste MFC after:=091 week Differential Revision:=09https://reviews.freebsd.org/D6781 304221 by manu: Use %ju modifier for u_int64_t and %jd modifier for off_t. off_t is long long on arm32 and long on amd64 MFC after:=091 week 304220 by sbz: tty: Use proper definition of exit status code and stdin macro Reviewed by:=09bapt, bdrewery Differential Revision:=09https://reviews.freebsd.org/D6828 304219 by rrs: Comments describing how to properly use the new lock_add functions and its respective companion. Sponsored by:=09Netflix Inc. 304218 by rrs: This cleans up the timer code in TCP and also makes it so we do not take the INFO lock *unless* we are really going to delete the TCB. Differential Revision:=09D7136 304217 by bdrewery: Trim unneeded bootstrap after r301470 made 9.1 the minimum supported releas= e. MFC after:=093 days Sponsored by:=09EMC / Isilon Storage Division 304216 by brooks: Don't conflate enum nss_status return values values with int (NS_SUCCESS, NS_RETURN) values. Sponsored by:=09DARPA, AFRL Differential Revision:=09https://reviews.freebsd.org/D6046 304209 by kib: The fdatasync(2) call must be cancellation point. Sponsored by:=09The FreeBSD Foundation MFC after:=0913 days 304207 by adrian: [mips] fix use-before-initialised. Found by: gcc-5.3 304206 by sephe: hyperv/hn: Simplify RNDIS message checks on RX path. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7502 304205 by sephe: hyperv/hn: Simplify RNDIS NVS message sending. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7501 304204 by sephe: hyperv/hn: Factor out hn_nvs_send/hn_nvs_send_sglist Avoid unnecessary message type setting and centralize the send context to transaction id cast. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7500 304202 by sephe: tcp/lro: Make # of LRO entries tunable Reviewed by:=09hps, gallatin Obtained from:=09rrs, gallatin MFC after:=092 weeks Sponsored by:=09Netflix (rrs, gallatin), Microsoft (sephe) Differential Revision:=09https://reviews.freebsd.org/D7499 304201 by markj: Regenerate DTrace tests. 304200 by markj: MFV r304057: 7085 add support for "if" and "else" statements in dtrace illumos/illumos-gate@c3bd3abd8856e8e75d820f65c58031cd6cbac818 Add syntactic sugar to dtrace: "if" and "else" statements. The sugar is baked down to standard dtrace features by adding additional clauses with the appropriate predicates. Reviewed by: Adam Leventhal <ahl@delphix.com> Reviewed by: Sebastien Roy <sebastien.roy@delphix.com> Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: Bryan Cantrill <bryan@joyent.com> Approved by: Richard Lowe <richlowe@richlowe.net> Author: Matthew Ahrens <mahrens@delphix.com> MFC after:=092 weeks Relnotes:=09yes 304199 by markj: MFV r301526: 7035 string-related subroutines should validate input earlier Reviewed by: Alex Wilson <alex.wilson@joyent.com> Reviewed by: Bryan Cantrill <bryan@joyent.com> Approved by: Matthew Ahrens <mahrens@delphix.com> Author: Patrick Mooney <pmooney@pfmooney.com> illumos/illumos-gate@771e39c3b1d6e2e0ba230442d782d83c60098296 MFC after:=092 weeks 304198 by markj: MFV r301525: 7033 ustack helper should fault on bad return values Reviewed by: Patrick Mooney <patrick.mooney@joyent.com> Reviewed by: Bryan Cantrill <bryan@joyent.com> Approved by: Matthew Ahrens <mahrens@delphix.com> Author: Alex Wilson <alex.wilson@joyent.com> illumos/illumos-gate@a2f72b65ebc430aaf277ad797e554bb4deba9b95 MFC after:=092 weeks 304197 by markj: MFV r301524: 7034 negative record sizes should be rejected Reviewed by: Patrick Mooney <patrick.mooney@joyent.com> Reviewed by: Bryan Cantrill <bryan@joyent.com> Approved by: Matthew Ahrens <mahrens@delphix.com> Author: Alex Wilson <alex.wilson@joyent.com> illumos/illumos-gate@0b8049bfb0e291160e960697b554596289d7f0bc MFC after:=092 weeks 304196 by markj: MFV r296989: 6734 dtrace_canstore_statvar() fails for some valid static variables Reviewed by: Dan McDonald <danmcd@omniti.com> Approved by: Richard Lowe <richlowe@richlowe.net> Author: Bryan Cantrill <bryan@joyent.com> illumos/illumos-gate@d65f2bb4e50559c6c375a2aa9f728cbc34379015 MFC after:=092 weeks 304195 by markj: MFV r304056: 5396 fix longjmp clobbering errors illumos/illumos-gate@67a4bb8f9ad4c49e9aa9e21e2114a7c093c3a73a Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net> Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com> Approved by: Richard Lowe <richlowe@richlowe.net> Author: Gary Mills <gary_mills@fastmail.fm> 304194 by rmacklem: Fix r304026 so that it builds for gcc. Reported by:=09np Tested by:=09np MFC after:=091 month 304192 by jkim: Fix ko_KR, zh_CN, zh_HK, and zh_TW locales. r304045 did not fully revert date/time formats for these locales. 304191 by emaste: elfcopy: correct comment typo in r304151 304187 by jhb: Remove the mcd(4) driver for Mitsumi CD-ROM players. This is a driver for a pre-ATAPI ISA CD-ROM adapter. As noted in the manpage, this driver is only useful as a backend to cdcontrol to play audio CDs since it doesn't use DMA, so its data performance is "abysmal" (and that was true in the mid 90's). 304186 by bde: Clean up the new sc cn open and close functions (old sc cn grab and ungrab functions). Mainly, spell sc as itself instead of as scp->sc. 304185 by ed: Eliminate use of sys_fsync() and sys_fdatasync(). Make the kern_fsync() function public, so that it can be used by other parts of the kernel. Fix up existing consumers to make use of it. Requested by:=09kib 304184 by badger: sem_post(): wake up the sleeper only after adjusting has_waiters If the caller of sem_post() wakes up a thread sleeping via sem_wait() before it clears the has_waiters flag, the caller of sem_wait() has no way = of knowing when it is safe to destroy the semaphore and reuse the memory. This= is because the caller of sem_post() may be interrupted between the wake step a= nd the clearing of has_waiters. It will then write into the has_waiters flag i= n userspace after being preempted for some unknown amount of time. Reviewed by:=09jhb, kib, vangyzen Approved by:=09kib (mentor), vangyzen (mentor) MFC after:=092 weeks Sponsored by:=09Dell Inc. Differential Revision:=09https://reviews.freebsd.org/D7505 304183 by markj: dtraceUtil/tst.DataModel32.d.ksh passes on amd64. 304182 by ed: Let CloudABI use fdatasync() as well. Now that FreeBSD supports fdatasync() natively, we can tidy up CloudABI's equivalent system call to use that instead. 304181 by bde: Restructure the grabbing functions into mere wrappers of new open and close functions. Scattered calls to sc_cnputc() and sc_cngetc() were broken by turning the semi-reentrant inline context-switching code in these functions into the grabbing functions. cncheckc() calls for panic dumps are the main broken case. The grabbing functions have special behaviour (mainly screen switching in sc_cngrab()) which makes them unsuitable as replacements for the inline code. 304180 by kib: Implement VOP_FDATASYNC() for UFS. Reviewed by:=09mckusick Tested by:=09pho Sponsored by:=09The FreeBSD Foundation MFC after:=092 weeks Differential revision:=09https://reviews.freebsd.org/D7471 304178 by kib: Implement VOP_FDATASYNC() for msdosfs. Standard VOP_FSYNC() implementation just syncs data buffers, and due to this, is the correct and efficient implementation for msdosfs or any other filesystem which uses bufer cache trivially. Provide globally visible wrapper vop_stdfdatasync_buf() for future consumption by other filesystems. Reviewed by:=09mckusick Tested by:=09pho Sponsored by:=09The FreeBSD Foundation MFC after:=092 weeks Differential revision:=09https://reviews.freebsd.org/D7471 304177 by kib: Regen after r304176, fdatasync(2) addition. 304176 by kib: Add an implementation of fdatasync(2). The syscall is a trivial wrapper around new VOP_FDATASYNC(), sharing code with fsync(2). For all filesystems, this commit provides the implementation which delegates the work of VOP_FDATASYNC() to VOP_FSYNC(). This is functionally correct but not efficient. This is not yet POSIX-compliant implementation, because it does not ensure that queued AIO requests are completed before returning. Reviewed by:=09mckusick Discussed with:=09avg (ZFS), jhb (AIO part) Tested by:=09pho Sponsored by:=09The FreeBSD Foundation MFC after:=092 weeks Differential revision:=09https://reviews.freebsd.org/D7471 304175 by ed: Disable tests for non-standard behaviour of dirname(3)/basename(3). The NetBSD ATF tests explicitly check that these functions do not modify their input. These tests are NetBSD-specific. They test for something that is not part of POSIX. PR:=09=09211873 Reviewed by:=09ngie Differential Revision:=09https://reviews.freebsd.org/D7506 304174 by kib: VOP_FSYNC() does not take cred as an argument. Correct comment. Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 304173 by bde: Fix restoring the kbd_mode part of the keyboard state in grab/ungrab. Simply change the mode to K_XLATE using a local variable and use the grab level as a flag to tell screen switches not to change it again, so that we don't need to switch scp->kbd_mode. We did the latter, but didn't have the complications to update the keyboard mode switch for every screen switch. sc->kbd_mode remains at its user setting for all scp's and ungrabbing restores to it. 304170 by jhb: Add support for register dumps on VF devices. - Add handling of VF register sets to t4_get_regs_len() and t4_get_regs(). - While here, use t4_get_regs_len() in the ioctl handler for regdump instead of inlining it. Reviewed by:=09np Sponsored by:=09Chelsio Communications Differential Revision:=09https://reviews.freebsd.org/D7484 304169 by jhb: Update mailbox writes to work with VF devices. - Use alternate register locations for the data and control registers for VFs. - Do a dummy read to force the writes to the mailbox data registers to post before the write to the control register on VFs. - Do not check the PCI-e firmware register for errors on VFs. Reviewed by:=09np Sponsored by:=09Chelsio Communications Differential Revision:=09https://reviews.freebsd.org/D7483 304168 by jhb: Make SGE parameter handling more VF-friendly. Add fields to hold the SGE control register and free list buffer sizes to the sge_params structure. Populate these new fields in t4_init_sge_params() for PF devices and change t4_read_chip_settings() to pull these values out of the params structure instead of reading registers directly. This will permit t4_read_chip_settings() to be reused for VF devices which cannot read SGE registers directly. While here, move the call to t4_init_sge_params() to get_params__post_init(). The VF driver will populate the SGE parameters structure via a different method before calling t4_read_chip_settings(). Reviewed by:=09np Sponsored by:=09Chelsio Communications Differential Revision:=09https://reviews.freebsd.org/D7476 304166 by bde: [Oops, the previous commit was missing the update to syscons.h.] Like scr_lock, the grab count needs to be per-physical-device to work. This bug corrupted the grab count on both vtys if the ungrabbed vty is different from the console, and failed to restore the keyboard state on the ungrabbed vty, but not restoring it usually left the keyboard mode part of the keyboard state uncorrupted at 1 (K_XLATE), while after this fix the keyboard mode part is usually corrupted to 0 (K_RAW). While here, rename the grab count from grabbed to grab_level. 304165 by bde: Like scr_lock, the grab count needs to be per-physical-device to work. This bug corrupted the grab count on both vtys if the ungrabbed vty is different from the console, and failed to restore the keyboard state on the ungrabbed vty, but not restoring the latter usually left the keyboard mode part of it uncorrupted at 1 (K_XLATE), while after this fix the keyboard mode part is usually corrupted to 0 (K_RAW). While here, rename the grab count from 'grabbed' to grab_level. 304164 by bde: Disable some more unsafe things in (low level) console mode: - never call up to the tty layer to restart output for keyboard input in console mode. This was already disallowed in kdb mode. Other cases are rarely reached. - disable the reboot, halt and powerdown keys in console mode. The suspend= , standby and panic keys are still allowed, and aren't even conditonal on excessive configuration options. Some of these actions are still available in ddb mode as ddb commands which are equally unsafe. Some are useful at input prompts and should be restored when the locking is fixed. - disallow bells in kdb mode (should be in console mode, but the flag for that is not available). Visual bell gives very alarming behaviour by trying to use callouts which don't work in kdb mode. Audio bell uses timeouts and hardware resources with mutexes that can deadlock in reasonable use of ddb. Screen switches in kdb mode are not very safe, but they are important functionality and there is a lot of code to make them sort of work. 304162 by asomers: Decrease the anti-congestion sleep in 480.leapfile-ntpd to 1 hour 24 hours is too long. Periodic scripts are executed serially, so when combined with the sleep in 410.pkg-audit periodic could actually take more than 24 hours and block the next invocation. Reviewed by:=09cy MFC after:=094 weeks Sponsored by:=09Spectra Logic Corp Differential Revision:=09https://reviews.freebsd.org/D7481 304161 by bde: Change all uses of 'debugger' to kdb_active and remove this variable. This restores avoidance of doing dangerous things like calling wakeup() and callouts while in ddb. Initialization of 'debugger' was broken by removing the cndbctl() console method that was used mainly in this driver to initialize 'debugger' and switch to the console screen on entry to ddb. The screen switch was restored using the cngrab() method, but cngrab() is more general so it should not initialize 'debugger' and never did. 'debugger' was just an over-engineered alias for kdb_active anyway. It existed because kdb_active (when it was named ddb_active) was considered as a private kdb variable, and there are ordering problems initializing the variables atomically with the state that they represent, but an extra variable and method to set it increased these problems. The bug caused LORs, but WITNESS is normally misconfigured with WITNESS_SKIPSIN so it doesn't check the spinlocks used by wakeup() and callouts. 304160 by emaste: elfcopy: add elf64-littleaarch64 output target support Sponsored by:=09The FreeBSD Foundation 304154 by oleg: Fix command: ipfw set (enable|disable) N (where N > 4). enable_sets() expects set bitmasks, not set numbers. MFC after:=093 days 304153 by bde: Quick fix for locking fixes in r172250. The lock added there was per- virtual-device, but needs to be per-physical-device so that it protects shared data. Usually, scp->sc->write_in_progress got corrupted first and further corruption was limited when this variable was left at nonzero with no write in progress. Attempt to fix missing lock destruction in r162285. Put it with the lock destruction for r172250 after moving the latter. Both might be unreachable. To demonstrate the bug, find a buggy syscall or sysctl that calls printf(9) and run this often. Run hd /dev/zero >/dev/ttyvN for any N !=3D 0. The console spam goes to ttyv0 and the non-console spam goes to ttyvN, so the lock provided no protection (but it helped for N =3D=3D 0). 304152 by kp: pf: Add missing byte-order swap to pf_match_addr_range Without this, rules using address ranges (e.g. "10.1.1.1 - 10.1.1.5") did n= ot match addresses correctly on little-endian systems. PR:=09=09211796 Obtained from:=09OpenBSD (sthen) MFC after:=093 days 304151 by emaste: elfcopy: silence GCC 5.3 unitialized variable warning Although it's a false positive there is little cost to initializing it always. Submitted by:=09adrian 304149 by sbruno: e1000: Add support for Kaby Lake IDs Fixup some errors when transitioning to/from low power states. Submitted by:=09erj Reviewed by:=09Jeffery Piper (jeffrey.e.piper@intel.com) MFC after:=093 days Relnotes:=09yes Sponsored by:=09Intel Corporation Differential Revision:=09https://reviews.freebsd.org/D7478 304147 by bde: Remove duplicate definition of get_pcb_td(). gcc works for detecting this error. 304146 by tuexen: Ensure that sctp_it_ctl.cur_it does not point to a free object (during a small time window). Thanks to Byron Campen for reporting the issue and suggesting a fix. MFC after: 3 days 304142 by des: Ensure that the sector size is a multiple of 4096 to avoid creating unaligned partitions when the actual sector size is hidden from us. PR:=09=09211361 MFC after:=093 days 304140 by andrew: Add the ARMv8.1 identification registers to the list we print when booting. MFC after:=091 week Sponsored by:=09ABT Systems Ltd 304111 by sephe: hyperv/hn: Switch to vmbus xact APIs for sub-channel alloc request. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7480 304109 by sephe: hyperv/hn: Simplify chimney sending buffer disconnection. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7479 304108 by sephe: Unbreak LINT build. Sponsored by:=09Microsoft 304106 by delphij: Add timingsafe_bcmp and timingsafe_memcmp. Obtained from:=09OpenBSD Reviewed by:=09trasz MFC after:=091 month Differential Revision:=09https://reviews.freebsd.org/D7280 304102 by alc: Eliminate unneeded vm_page_xbusy() and vm_page_xunbusy() operations when neither vm_pager_has_page() nor vm_pager_get_pages() is called. Reviewed by:=09kib, markj MFC after:=093 weeks 304096 by adrian: [mips] convert over =3Dv to =3Dr for the inline assembly. Later gcc and clang have deprecated =3Dv (which maps to a specific temp register) and instead we should just use =3Dr to have the assembler (hopefully!) save/restore things appropriately after choosing a register. Tested: * AR9344 SoC, with userreg support * AR9331 SoC, with no userreg support Sponsored by:=09Sponsored by: DARPA, AFRL (MIPS TLS user register work) 304089 by ae: Add an ability to attach comment to check-state rules. MFC after:=091 week 304087 by ae: Do not warn about ambiguous state name when we inspect a comment token. Reported by:=09lev 304085 by bde: Fix the variables $esp, $ds, $es, $fs, $gs and $ss in vm86 mode. Fix PC_REGS() so that printing of instructions works in some useful cases. ddb only understands a single flat address space, but this macro allows mapping $cs:$eip into vm86's flat address space well enough for the MI parts of ddb. This doesn't work for the MD parts that do stack traces, and there are no similar macros for data addresses. PC_REGS() has to use the trapframe pointer instead of the pcb for this. For other CPUs, the trapframe pointer is not available except by tracing back to it. But tracing back through vm86 trapframes is broken even starting with one. 304083 by bde: Print the tid of curthread in "show pcpu" in ddb. It was remarkably hard to trace all current threads. "show pcpu" only showed the pid, and there was nothing (?) better than searching ps output to find the tids on CPUs. This change simplifies the search, but you still have to trace the tid for each CPU manually. 304080 by bde: In ddb ps, left justify the non-numeric fields 'state' and 'wmesg' and the fixed-width numeric field 'wchan', as in ps(1). They were sort of centered, although the template shows 'state' as right-justified. The `wmesg' field very rarely has a prefix of '*' (for lock names) that is still to the left of the header, and the width of this field is reduced from 8 to 7 (more than 6 is an error). The 'wmesg' and 'wchan' fields are still misnamed and poorly handled. They are named sort of backwards relative to ps(1): - wmesg in ddb =3D mwchan in ps - wmesg in ddb =3D wchan in ps (if it is a wait channel name, not a lock na= me) - wchan in ddb =3D nwchan in ps ddb ps wastes lots of space for the unimportant 'wchan' field (20 columns altogether on 64-bit arches). ps(1) documents using a compressed format, but the compression only omits leading nybbles of 0 so it has neveqr worked on arches that put the kernel in the top half of the address space. It just avoids wasting space for an 0x prefix. 304078 by bde: Don't print an extra newline after the instruction when printing for single stepping of multiple instructions (e.g., s/p,<count> and n/p). db_print_loc_and_inst() already prints a newline on all arches although it probably shouldn't. Especially on SMP systems, single stepping tends to deadlock or panic too quickly to be useful for anything except finding bugs in itself, but with printing "itself" includes console drivers so it is useful for generating stress tests for console drivers. 304077 by manu: Correct the size of the softc in a10_ehci Reported by:=09andrew MFC after:=091 week 304076 by ae: Make statistics nat64lsn, nat64stl an nptv6 output netstat-like: "@value @description" and fix build due to -Wformat errors. 304075 by mm: MFV r304060: Sync libarchive with vendor including three security fixes Vendor issues fixed: Issue #744: Very long pathnames evade symlink checks Issue #748: libarchive can compress, but cannot decompress zip some files PR #750: ustar: fix out of bounds read on empty string ("") filename PR #755: fix use of acl_get_flagset_np() on FreeBSD MFC after:=093 days 304072 by delphij: Now that the portsnap buildbox is generating the raw bits for INDEX-12, add it to the set of INDEX files built by portsnap. Switch to INDEX-12 for head/. 304071 by mmel: OFWPCI: Don't strip RF_ACTIVE from flags when parent bus method is called. Reviewed by:=09nwhitehorn MFC after:=093 weeks 304069 by jhibbits: Return 0 instead of an error code on failure to find dcsr. mpc85xx_map_dcsr() returns a vm_offset_t, not an error code. mpc85xx_fix_errata() will gracefully exit if mpc85xx_map_dcsr() returns 0, = as that indicates an error (NULL pointer). 304068 by jhibbits: Only flush bp_kernload from the dcache, no need to sync the icache on the b= oot CPU. __syncicache() only syncs the icache on the current CPU, it doesn't touch t= he cache on any other core. Replace the call with cpu_flush_dcache() instead. Since bp_kernload is not touched again by the boot CPU in this code path, d= cbf is no less efficient than the dcbst from __syncicache() by invalidating the cache line. 304066 by markj: nfsstat depends on libdevstat as of r304058. X-MFC-With:=09r304058 304065 by grog: Correct date ov VJ day (1945-08-15, about 03:00 UTC). 304061 by ae: Use %ju to print unsigned 64-bit value. Reported by:=09kib 304059 by rmacklem: Update the man page to descibe the "-d" option added by r304058. This is a content change. Submitted by:=09will (earlier version) Reviewed by:=09ken, wblock MFC after:=091 month Relnotes:=09yes Differential Revision:=09https://reviews.freebsd.org/D1626 304058 by rmacklem: Update nfsstat.c to use the new kernel nfsstat structure and add the new "-d" flag from D1626. The man page will be updated in a subsequent commit. Submitted by:=09will (earlier version) Reviewed by:=09ken MFC after:=091 month Relnotes:=09yes Differential Revision:=09https://reviews.freebsd.org/D1626 304055 by markj: Fix handling of forward enum declarations in the CTF tools. Reported by:=09mmacy MFC after:=092 weeks 304054 by markj: Strengthen assertions about the busy state of newly-allocated pages. Reviewed by:=09alc MFC after:=091 week 304053 by markj: Initialize page busy lock state in vm_phys_add_page(). MFC after:=091 week 304052 by jhibbits: Add missing pmap_kenter() method for book-e. This isn't added to AIM yet, because it's not yet needed. It's needed for Book-E ePAPR boot support. X-MFC With:=09r304047 304051 by jhibbits: Add a kdb show command to print arbitrary SPRs on PowerPC Summary: There is often a need at the debugger to print arbitrary special purpose registers (SPRs) on PowerPC. Using a rewritable asm stub, print an= y SPR provided on the command line. Note, as there is no checking in this, attempting to print a nonexistent SP= R may cause a Program exception (illegal instruction, or boundedly undefined)= . Note also that this relies on the kernel text pages being writable. If in = the future this is made not the case, this will need to be reworked. Test Plan: Printing the Processor Version Register (PVR, SPR 287): db> show spr 11f SPR 287(11f): 80240012 Differential Revision: https://reviews.freebsd.org/D7403 304050 by alc: Eliminate two calls to vm_page_xunbusy() that are both unnecessary and incorrect from the error cases in exec_map_first_page(). They are unnecessary because we automatically unbusy the page in vm_page_free() when we remove it from the object. The calls are incorrect because they happen after the page is freed, so we might actually unbusy the page after it has been reallocated to a different object. (This error was introduced in r292373.) Reviewed by:=09kib MFC after:=091 week 304049 by ae: Add `stats reset` command implementation to NPTv6 module to be able reset statistics counters. Obtained from:=09Yandex LLC Sponsored by:=09Yandex LLC 304048 by ae: Replace __noinline with special debug macro NAT64NOINLINE. 304047 by jhibbits: Add ePAPR boot support for PowerPC book-E (MPC85xx) hardware Summary: u-boot, following the ePAPR specification, puts secondary cores into a spinloop at boot, rather than leaving them shut off. It then relies on the= host OS to write the correct values to a special spin table, located in coherent memory (on newer implementations), or noncoherent memory (older implementations). This supports both implementations of ePAPR, as well as continuing to suppo= rt non-ePAPR booting, by first attempting to use the spintable, and falling ba= ck to expecting non-started CPUs. Test Plan: Booted on a P5020 board. Tested before and after the changes. Before the changes, prints the error "SMP: CPU 1 already out of hold-off st= ate!" and panics shortly thereafter. After the changes, same boot method lets it complete boot. Reviewed by:=09nwhitehorn MFC after:=092 weeks Relnotes:=09Yes Sponsored by:=09Alex Perez/Inertial Computing Differential Revision: https://reviews.freebsd.org/D7494 304046 by ae: Add ipfw_nat64 module that implements stateless and stateful NAT64. The module works together with ipfw(4) and implemented as its external action module. Stateless NAT64 registers external action with name nat64stl. This keyword should be used to create NAT64 instance and to address this instance in rules. Stateless NAT64 uses two lookup tables with mapped IPv4->IPv6 and IPv6->IPv4 addresses to perform translation. A configuration of instance should looks like this: 1. Create lookup tables: # ipfw table T46 create type addr valtype ipv6 # ipfw table T64 create type addr valtype ipv4 2. Fill T46 and T64 tables. 3. Add rule to allow neighbor solicitation and advertisement: # ipfw add allow icmp6 from any to any icmp6types 135,136 4. Create NAT64 instance: # ipfw nat64stl NAT create table4 T46 table6 T64 5. Add rules that matches the traffic: # ipfw add nat64stl NAT ip from any to table(T46) # ipfw add nat64stl NAT ip from table(T64) to 64:ff9b::/96 6. Configure DNS64 for IPv6 clients and add route to 64:ff9b::/96 via NAT64 host. Stateful NAT64 registers external action with name nat64lsn. The only one option required to create nat64lsn instance - prefix4. It defines the pool of IPv4 addresses used for translation. A configuration of instance should looks like this: 1. Add rule to allow neighbor solicitation and advertisement: # ipfw add allow icmp6 from any to any icmp6types 135,136 2. Create NAT64 instance: # ipfw nat64lsn NAT create prefix4 A.B.C.D/28 3. Add rules that matches the traffic: # ipfw add nat64lsn NAT ip from any to A.B.C.D/28 # ipfw add nat64lsn NAT ip6 from any to 64:ff9b::/96 4. Configure DNS64 for IPv6 clients and add route to 64:ff9b::/96 via NAT64 host. Obtained from:=09Yandex LLC Relnotes:=09yes Sponsored by:=09Yandex LLC Differential Revision:=09https://reviews.freebsd.org/D6434 304045 by bapt: Set date and time formats back to what they were before CLDR While CLDR brings us a good and up to date source data to generate locales = for all databses we are using for locales, it is not the case of LC_TIME. Where= it does not defines the informations we need. Put back all the date and time formats from the old locales. Make it statically for now (in order to be able to merge it now into 11.0-RELEASE). The generation tools will be updated soon. That gives us time to properly work on LC_TIME during the 12 timeframe. While here fix abbreviated month for af_ZA (which are already fixed in CLDR data upstream) In locales where AP/PM was not defined before CLDR data, remove again the A= P/PM informations For locales where AP/PM was defined before CLDR data, keep the CLDR informa= tion which was properly translated. MFC after:=093 days 304043 by ae: Add three helper function to manage tables from external modules. ipfw_objhash_lookup_table_kidx does lookup kernel index of table; ipfw_ref_table/ipfw_unref_table takes and releases reference to table. Obtained from:=09Yandex LLC Sponsored by:=09Yandex LLC 304041 by ae: Move logging via BPF support into separate file. * make interface cloner VNET-aware; * simplify cloner code and use if_clone_simple(); * migrate LOGIF_LOCK() to rmlock; * add ipfw_bpf_mtap2() function to pass mbuf to BPF; * introduce new additional ipfwlog0 pseudo interface. It differs from ipfw0 by DLT type used in bpfattach. This interface is intended to used by ipfw modules to dump packets with additional info attached. Currently pflog format is used. ipfw_bpf_mtap2() function uses second argument to determine which interface use for dumping. If dlen is equal to ETHER_HDR_LEN it uses old ipfw0 interface, if dlen is equal to PFLOG_HDRLEN - ipfwlog0 will be used. Obtained from:=09Yandex LLC Sponsored by:=09Yandex LLC 304040 by ngie: Redirect the output of the testcases to stderr instead of redirecting it to /dev/null This will aid in debugging failures MFC after:=091 week Sponsored by:=09EMC / Isilon Storage Division 304034 by ngie: Initialize `ai` to NULL and test for `ai` with type-appropriate values Depending on the address family and ai_flags containing AI_V4MAPPED, it might not do a proper DNS lookup on the provided DNS address Convert some `ai` boolean true/false checks to NULL/non-NULL while here. MFC after:=091 week PR:=09=09211790 Reported by:=09Herbie.Robinson@stratus.com Sponsored by:=09EMC / Isilon Storage Division 304033 by ngie: Increase timeout from 10 minutes to 20 minutes for all tests On particular slow networks, it can (on average) take longer to resolve hosts to IP* addresses. 20 minutes seemed reasonable for my work network This will be solved in a more meaningful way (if possible) using concurrency in the near future MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division 304026 by rmacklem: Update the nfsstats structure to include the changes needed by the patch in D1626 plus changes so that it includes counts for NFSv4.1 (and the draft of NFSv4.2). Also, make all the counts uint64_t and add a vers field at the beginning, so that future revisions can easily be implemented. There is code in place to handle the old vesion of the nfsstats structure for backwards binary compatibility. Subsequent commits will update nfsstat(8) to use the new fields. Submitted by:=09will (earlier version) Reviewed by:=09ken MFC after:=091 month Relnotes:=09yes Differential Revision:=09https://reviews.freebsd.org/D1626 304025 by tsoome: Reviewed by: allanjude Approved by:=09allanjude (mentor) Differential Revision:=09https://reviews.freebsd.org/D7491 304024 by trasz: Remove unused "X" vnode lock assertion, somehow missed in r303743. MFC after:=091 month 304023 by trasz: Print vnode details when vnode locking assertion gets triggered. MFC after:=091 month 304021 by shurd: Update iflib to support more NIC designs - Move group task queue into kern/subr_gtaskqueue.c - Change intr_enable to return an int so it can be detected if it's not implemented - Allow different TX/RX queues per set to be different sizes - Don't split up TX mbufs before transmit - Allow a completion queue for TX as well as RX - Pass the RX budget to isc_rxd_available() to allow an earlier return and avoid multiple calls Submitted by:=09shurd Reviewed by:=09gallatin Approved by:=09scottl Differential Revision:=09https://reviews.freebsd.org/D7393 304018 by jhb: Add defines needed to export SMBIOS serial numbers Some defines needed for exporting serial numbers from the SMBIOS were missed during integration of SMBIOS support in the EFI boot loader (r281138= ). This is needed for getting the hostid set from the system hardware UUID. PR:=09=09206031 Submitted by:=09Thomas Eberhardt <sneakywumpus@gmail.com> MFC after:=091 week 304016 by kib: Move defines common between rtld and libsysdecode into the header, instead of copying inline into sources. Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 304012 by kib: Fill phdr and phsize for rtld object. It is needed for dl_iterate_phdr() reporting the correct values. PR:=09211367 Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 304011 by kib: Remove all remaining uses of TAILQ_FOREACH_FROM() from rtld-elf. Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 304009 by jhb: Remove description of P_FOLLOWFORK as this flag was removed. 304008 by bdrewery: Avoid taking PROC_LOCK in syscalls if not being traced. MFC after:=091 week Sponsored by:=09EMC / Isilon Storage Division 304007 by wblock: Correct the history of where ps first appeared. PR:=09=09211741 Submitted by:=09Sevan Janiyan <venture37@geeklan.co.uk> MFC after:=091 week 304006 by bdrewery: Avoid showing the bootstrap make command for check-old, etc. Reported by:=09koobs MFC after:=091 week Sponsored by:=09EMC / Isilon Storage Division 304005 by bdrewery: PORTS_MODULES: Don't leak in CC/CXX/CPP. These may have ccache in them or -target/--sysroot from external compiler or SYSTEM_COMPILER support. Many ports do not support a CC with spaces in it, such as emulators/virtualbox-ose-kmod. Passing --sysroot to ports makes no sense as ports doesn't support --sysroot currently. If these variables need to be overridden for ports then they can be set in make.conf or passed as make arguments. MFC after:=091 week Sponsored by:=09EMC / Isilon Storage Division 304004 by andrew: Implement promotions and demotions in the arm64 pmap code. For now we don't promote memory as I am not sure all the demotion cases are handled, however it is useful to implement pmap_page_set_memattr. This is used, for example, when mapping uncached memory for bus_dma(9). pmap_page_set_memattr needs to demote the DMAP region as on ARM we need to ensure all mappings to the same physical address have the same attributes. Reviewed by:=09kib Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation Differential Revision:=09https://reviews.freebsd.org/D6987 304002 by sephe: hyperv/hn: Simplify RXBUF disconnection. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7472 304001 by sephe: hyperv/hn: Switch to vmbus xact APIs for NVS chimney buffer connection. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7470 304000 by maxim: o Move tmpstr varibale initialization out of assert(3) call. This fixes acpidump(8) compiled with "WITHOUT_ASSERT_DEBUG=3Dyes" that removes assert(3)'s from the code. Submitted by:=09Alexander Nedotsukov 303998 by sephe: hyperv/hn: Switch to vmbus xact APIs for NVS RXBUF connection. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7469 303992 by sephe: hyperv/hn: Simplify NDIS initialization. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7467 303991 by kib: Decode 32bit utrace records on the 64bit host. Suppose that ktrace is performed on 32bit binary running on 64bit host. In this case, the kernel records are 64bit, while utrace records from rtld and malloc are 32bit. Make kdump useful to see decoded utrace data in that case. Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 303990 by kib: Remove unused prototypes. Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 303989 by sephe: hyperv/hn: Simplify NDIS configuration. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7466 303988 by ed: Reimplement dirname(3) to be thread-safe. Now that we've updated the prototypes of the basename(3) and dirname(3) functions to conform to POSIX, let's go ahead and reimplement dirname(3) in such a way that it's thread-safe, but also guaranteed to succeed. C libraries like glibc, musl and the one that's part of Solaris already follow such an approach. Move the existing implementation to another source file, freebsd11_dirname.c to keep existing users of the API that pass in a constant string happy, using symbol versioning. Put a new version of the function in dirname.c, obtained from CloudABI's C library. This version scans through the pathname string from left to right, normalizing it, while discarding the last pathname component. Reviewed by:=09emaste, jilles Differential Revision:=09https://reviews.freebsd.org/D7355 303982 by alc: Correct errors and clean up the comments on the active queue scan. Eliminate some unnecessary blank lines. Reviewed by:=09kib, markj MFC after:=091 week 303981 by adrian: Print out some more fields. Tested: * AR9331 SoC (Carambola 2) - specifically looking for the tuning caps field= s. 303978 by karels: Fix kernel build with TCP_RFC7413 option The current in_pcb.h includes route.h, which includes sockaddr structures. Including <sys/socketvar.h> should require <sys/socket.h>; add it in the appropriate place. PR: 211385 Submitted by: Sergey Kandaurov and iron at mail.ua Reviewed by: gnn Approved by: gnn (mentor) MFC after: 1 day 303974 by manu: Rename pcduino3b.dts to pcduino3.dts The only difference between 3 and 3B is the size of the RJ45 port. And now we have a uboot port that expect pcduino3.dts to be present. Reported by:=09imp 303971 by smh: Fix vtnet hang with max_virtqueue_pairs > VTNET_MAX_QUEUE_PAIRS Correctly limit npairs passed to vtnet_ctrl_mq_cmd. This ensures that VQ_ALLOC_INFO_INIT is called with the correct value, preventing the system from hanging when max_virtqueue_pairs > VTNET_MAX_QUEUE_PAIRS. Add new sysctl requested_vq_pairs which allow the user to configure the requested number of virtqueue pairs. The actual value will still take into account the system limits. Also missing sysctls for the current tunables so their values can be seen. PR:=09=09207446 Reported by:=09Andy Carrel MFC after:=093 days Relnotes:=09Yes Sponsored by:=09Multiplay 303964 by bdrewery: PROGS: Support INTERNALPROG.prog=3Dyes to not install it. MFC after:=093 days Sponsored by:=09EMC / Isilon Storage Division 303963 by bz: Revert r303890 for now here as camdd fails to build on powerpc* due to device_t only being available under _KERNEL. Reported by:=09bde (_KERNEL in general), kib (build failure) MFC after:=091 day X-MFC with:=09r303890 303962 by stevek: Add the missing space between .asciz directive and opening quote for some lines within #ifdef BTXLDR_VERBOSE/#endif Reported by:=09Kevin Zheng <kzheng@juniper.net> Reviewed by:=09jhb Approved by:=09sjg (mentor) Obtained from:=09Juniper Networks, Inc. MFC after:=092 weeks Differential Revision:=09https://reviews.freebsd.org/D7464 303961 by trasz: Implement autofs_print(), for improved debugging experience. MFC after:=091 month 303959 by br: Revert r303911 "Remove extra -msoft-float flags settings." This was not properly tested. 303958 by kib: The pmap_delayed_invl_wait() function blocks on turnstile, it does not spin, in the committed version. Remove stray '*' in the text. Sponsored by:=09The FreeBSD Foundation. MFC after:=093 days 303955 by ae: Restore "nat global" support. Now zero value of arg1 used to specify "tablearg", use the old "tablearg" value for "nat global". Introduce new macro IP_FW_NAT44_GLOBAL to replace hardcoded magic number to specify "nat global". Also replace 65535 magic number with corresponding macro. Fix typo in comments. PR:=09=09211256 Tested by:=09Victor Chernov MFC after:=093 days 303951 by markj: Remove b_pin_count from struct buf. It was added in r153192 for XFS and doesn't appear to have been used for anything else. XFS was disconnected in r241607 and removed entirely in r247631. Reported by:=09mlaier Reviewed by:=09imp, kib Differential Revision:=09https://reviews.freebsd.org/D7468 303950 by trasz: Remove unused textvp_fullpath() macro. MFC after:=091 month 303949 by sephe: hyperv/vmbus: Use xact APIs to implement post message Hypercall APIs Avoid code duplication. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7458 303948 by sephe: hyperv/hn: Switch to vmbus xact APIs for NVS initialization Reviewed by:=09Jun Su <junsu microsoft com> MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7457 303947 by sephe: hyperv/vmbus: Add APIs for various types of transactions. Reviewed by:=09Jun Su <junsu microsoft com> MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7456 303946 by jhb: Remove files unused after pulling system call names from libsysdecode. 303945 by sephe: hyperv/vmbus: Add macro to get channel packet data length. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7455 303944 by sephe: cam/da: Add quirk for I-O Data USB Flash Disk PR:=09=09211716 Submitted by:=09Jun Su <junsu microsoft com> Reported by:=09Jun Su <junsu microsoft com> MFC after:=091 week Sponsored by:=09Microsoft 303943 by dteske: Allow enforce_statfs (see jail(8)) to be set per jail Reviewed by:=09jelischer MFC after:=093 days 303942 by bdrewery: Fix sorting in r303934. Reported by:=09jhb X-MFC-With:=09r303934 MFC after:=093 days Sponsored by:=09EMC / Isilon Storage Division 303941 by ed: Provide the CloudABI vDSO to its executables. CloudABI executables already provide support for passing in vDSOs. This functionality is used by the emulator for OS X to inject system call handlers. On FreeBSD, we could use it to optimize calls to gettimeofday(), etc. Though I don't have any plans to optimize any system calls right now, let's go ahead and already pass in a vDSO. This will allow us to simplify the executables, as the traditional "syscall" shims can be removed entirely. It also means that we gain more flexibility with regards to adding and removing system calls. Reviewed by:=09kib Differential Revision:=09https://reviews.freebsd.org/D7438 303937 by bdrewery: Use proper argument length for rmdir(2) for r303934. Reported by:=09kib X-MFC-With:=09r303934 MFC after:=093 days Sponsored by:=09EMC / Isilon Storage Division 303936 by stevek: Add kernel environment variables under smbios.system for the following SMBIOS Type 1 fields: smbios.system.sku - SKU Number (SMBIOS 2.4 and above) smbios.system.family - Family (SMBIOS 2.4 and above) Add kernel environment variables under smbios.planar for the following SMBIOS Type 2 fields: smbios.planar.tag - Asset Tag smbios.planar.location - Location in Chassis Reviewed by:=09jhb, grembo Approved by:=09sjg (mentor) MFC after:=092 weeks Sponsored by:=09Juniper Networks, Inc. Differential Revision:=09https://reviews.freebsd.org/D7453 303935 by lwhsu: Only remove empty directories before packaging. This preserves files are intentionally empty, most of them are in tests.txz Reviewed by:=09bdrewery MFC after:=093 days 303934 by bdrewery: Support rmdir(2). MFC after:=093 days Sponsored by:=09EMC / Isilon Storage Division 303933 by bdrewery: Squelch a false-positive Clang static analyzer warning. MFC after:=091 week Sponsored by:=09EMC / Isilon Storage Division 303932 by bdrewery: Fix -b failure not restoring flags on the destination file. MFC after:=091 week Sponsored by:=09EMC / Isilon Storage Division 303931 by bdrewery: Fix -S with -l not being atomic. It was unlinking the target even though it uses rename(2) which already effectively does that. -S is intended to not unlink(2) the target first. MFC after:=091 week Reviewed by:=09jhb Sponsored by:=09EMC / Isilon Storage Division Differential Revision:=09https://reviews.freebsd.org/D7452 303930 by bdrewery: Support -v for -l. MFC after:=091 week Sponsored by:=09EMC / Isilon Storage Division 303929 by bdrewery: Fix -S with -b not atomically updating the destination file. With both of these flags, the backup was created via rename(dest, backup) followed by rename(tmp, dest). This left the destination file missing for a moment which contradicts the point of -S. This fixes a race with installworld where PRECIOUSPROG and PRECIOUSLIB files (which use -S for installation) would briefly be missing. In the case of installing rtld with parallel installworld it could render an error due to not having rtld present to run install/cp in another process. Reported by:=09jhb Reviewed by:=09jhb MFC after:=091 week Sponsored by:=09EMC / Isilon Storage Division Differential Revision:=09https://reviews.freebsd.org/D7451 303928 by bdrewery: Trim out excessive / with -v when target directory ends with a trailing '/'= . This is a minor nit after r289391 made all installations to a directory alw= ays end in a trailing '/'. MFC after:=093 days Sponsored by:=09EMC / Isilon Storage Division 303927 by tuexen: Improve a consistency check to not detect valid cases for unordered user messages using DATA chunks as invalid ones. While there, ensure that error causes are provided when sending ABORT chunks in case of reassembly problems detected. Thanks to Taylor Brandstetter for making me aware of this problem. MFC after:=093 days 303924 by trasz: Replace all remaining calls to vprint(9) with vn_printf(9), and remove the old macro. MFC after:=091 month 303923 by ed: Make cpu_set_user_tls() work when called on the running thread. On all the other architectures, this function can also be called on the currently running thread. In this case, we shouldn't fix up the address in the PCB, but also patch up the register itself. Otherwise it will not become active and will simply become overwritten by the next switch. Reviewed by:=09imp MFC after:=091 week Differential Revision:=09https://reviews.freebsd.org/D7437 303922 by mjg: ktrace: do a lockless check on fork to see if tracing is enabled This saves 2 lock acquisitions in the common case. 303921 by mjg: sigio: do a lockless check in funsetownlist There is no need to grab the lock first to see if sigio is used, and it typically is not. 303920 by ed: Make libcrypt thread-safe. Add crypt_r(3). glibc has a pretty nice function called crypt_r(3), which is nothing more than crypt(3), but thread-safe. It accomplishes this by introducing a 'struct crypt_data' structure that contains a buffer that is large enough to hold the resulting string. Let's go ahead and also add this function. It would be a shame if a useful function like this wouldn't be usable in multithreaded apps. Refactor crypt.c and all of the backends to no longer declare static arrays, but write their output in a provided buffer. There is no need to do any buffer length computation here, as we'll just need to ensure that 'struct crypt_data' is large enough, which it is. _PASSWORD_LEN is defined to 128 bytes, but in this case I'm picking 256, as this is going to be part of the actual ABI. Differential Revision:=09https://reviews.freebsd.org/D7306 303919 by kib: Fix indentation. Reported by:=09hselasky MFC after:=0917 days 303916 by kib: Convert another tmpfs assert into runtime check. The offset of the directory file, passed to getdirentries(2) syscall, is user-controllable. The value of the offset must not be asserted, instead the invalid value should be checked and rejected if invalid. Reported and tested by:=09pho Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 303915 by br: Consider CROSS_BINUTILS_PREFIX environment variable so we use correct objdump. Sponsored by:=09DARPA, AFRL Sponsored by:=09HEIF5 303914 by kib: Re-schedule signals after kthread exits, since apparently there are processes which combine kernel and non-kernel threads, e.g. nfsd. For such processes, termination of a kthread must recheck signal delivery among other threads according to masks. Reported and tested by:=09pho Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 303913 by kib: Unconditionally perform checks that FPU region was entered, when #NM exception is caught in kernel mode. There are third-party modules which trigger the issue, and since the problem causes usermode state corruption at least, panic in production kernels as well. Sponsored by:=09The FreeBSD Foundation MFC after:=091 week 303911 by br: Remove extra -msoft-float flags settings. This helps to build firmware modules. Sponsored by:=09DARPA, AFRL Sponsored by:=09HEIF5 303908 by br: o Remove operation in machine mode. Machine privilege level was specially designed to use in vendor's firmware or bootloader. We have implemented operation in machine mode in FreeBSD as part of understanding RISC-V ISA, but it is time to remove it. We now use BBL (Berkeley Boot Loader) -- standard RISC-V firmware, which provides operation in machine mode for us. We now use standard SBI calls to machine mode, instead of handmade 'syscalls'. o Remove HTIF bus. HTIF bus is now legacy and no longer exists in RISC-V specification. HTIF code still exists in Spike simulator, but BBL do not provide raw interface to it. Memory disk is only choice for now to have multiuser booted in Spike, until Spike has implemented more devices (e.g. Virtio, etc). Sponsored by:=09DARPA, AFRL Sponsored by:=09HEIF5 303904 by andrew: Uncomment the vm.kvm_size and vm.kvm_free sysctls. These work as expected s= o there is no reason to leave them commented out. Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation 303903 by andrew: Implement pmap_align_superpage on arm64 based on the amd64 implementation. This will be needed when superpage support is added. Obtained from:=09ABT Systems Ltd MFC after:=091 month Sponsored by:=09The FreeBSD Foundation 303901 by sephe: hyperv/hn: Reorganize send done callback. MFC after:=091 week Sponsored by:=09Microsoft Differential Revision:=09https://reviews.freebsd.org/D7450 303900 by ngie: Highball memory requirement (4GB) with common/{raise,safety} Both test suites require more memory than my amd64 VM using GENERIC-NODEBUG can provide and reliably panic it with OOM issues in dtrace(4). Some of the testcases fail, but this at least bypasses the panic behavior on platforms that don't have enough resources MFC after: 2 weeks Discussed with: markj Sponsored by: EMC / Isilon Storage Division 303897 by gjb: Pass overrides to make(1) when building ports for arm/armv6 targets, similar to what is done for the run-autotools-fixup override for non-arm targets. MFC after:=093 days Tested on:=0912-CURRENT building 10-STABLE Sponsored by:=09The FreeBSD Foundation 303896 by jhb: Remove obsolete manpage that is not currently installed. 303895 by dumbbell: sys/pcpu.h: Revert change introduced in r303890 `device_t` is not defined outside the kernel but this header is used by eg. libkvm or vmstat(8). Thus, r303890 broke the build. So let's restore `struct device` here until a longer term solution is found. Reported by:=09Michael Butler <imb@protected-networks.net>, Jenkins MFC after:=093 days MFC with:=09r303890 The end of the build log: [...truncated 150764 lines...] cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/= ../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. -I/usr/s= rc/sys/modules/ath/../../contrib/dev/ath/ath_hal/ -DHAVE_KERNEL_OPTION_HEAD= ERS -include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I= /usr/src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENE= RIC -MD -MF.depend.ar5416_keycache.o -MTar5416_keycache.o -mgeneral-regs-= only -ffixed-x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -= Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes = -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__= =3D__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wn= o-unknown-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wn= o-error-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-= sign -Wno-error-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys= /modules/ath/../../dev/ath/ath_hal/ar5416/ar5416_keycache.c -o ar5416_keyca= che.o ctfconvert -L VERSION -g ar5416_keycache.o --- all_subdir_cd9660 --- ctfconvert -L VERSION -g cd9660_node.o --- cd9660_rrip.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -= include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/= src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC = -MD -MF.depend.cd9660_rrip.o -MTcd9660_rrip.o -mgeneral-regs-only -ffixed-= x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-de= cls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-ari= th -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freebsd_= kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pra= gmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-paren= theses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-err= or-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules/cd96= 60/../../fs/cd9660/cd9660_rrip.c -o cd9660_rrip.o --- all_subdir_ath --- --- ar5416_misc.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/= ../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. -I/usr/s= rc/sys/modules/ath/../../contrib/dev/ath/ath_hal/ -DHAVE_KERNEL_OPTION_HEAD= ERS -include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I= /usr/src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENE= RIC -MD -MF.depend.ar5416_misc.o -MTar5416_misc.o -mgeneral-regs-only -ff= ixed-x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredunda= nt-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointe= r-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__fre= ebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknow= n-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-= parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wn= o-error-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules= /ath/../../dev/ath/ath_hal/ar5416/ar5416_misc.c -o ar5416_misc.o --- all_subdir_cam --- --- scsi_target.o --- ctfconvert -L VERSION -g scsi_target.o --- clknode_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/extres/clk/clknod= e_if.m -h --- modules-all --- --- smp_all.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -= include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/= src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC = -MD -MF.depend.smp_all.o -MTsmp_all.o -mgeneral-regs-only -ffixed-x18 -ffr= eestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wne= sted-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winl= ine -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freebsd_kprintf_= _ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wn= o-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-e= quality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shift= -negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules/cam/../../ca= m/scsi/smp_all.c -o smp_all.o --- all_subdir_ath --- ctfconvert -L VERSION -g ar5416_misc.o --- all_subdir_cd9660 --- ctfconvert -L VERSION -g cd9660_rrip.o --- cd9660_util.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -= include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/= src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC = -MD -MF.depend.cd9660_util.o -MTcd9660_util.o -mgeneral-regs-only -ffixed-= x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-de= cls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-ari= th -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freebsd_= kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pra= gmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-paren= theses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-err= or-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules/cd96= 60/../../fs/cd9660/cd9660_util.c -o cd9660_util.o --- all_subdir_ath --- --- ar5416_phy.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/= ../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. -I/usr/s= rc/sys/modules/ath/../../contrib/dev/ath/ath_hal/ -DHAVE_KERNEL_OPTION_HEAD= ERS -include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I= /usr/src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENE= RIC -MD -MF.depend.ar5416_phy.o -MTar5416_phy.o -mgeneral-regs-only -ffix= ed-x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant= -decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-= arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freeb= sd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-= pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-pa= rentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-= error-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules/a= th/../../dev/ath/ath_hal/ar5416/ar5416_phy.c -o ar5416_phy.o ctfconvert -L VERSION -g ar5416_phy.o --- all_subdir_cam --- ctfconvert -L VERSION -g smp_all.o --- phy_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/extres/phy/phy_if= .m -h --- modules-all --- --- all_subdir_ath --- --- ar5416_power.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/= ../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. -I/usr/s= rc/sys/modules/ath/../../contrib/dev/ath/ath_hal/ -DHAVE_KERNEL_OPTION_HEAD= ERS -include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I= /usr/src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENE= RIC -MD -MF.depend.ar5416_power.o -MTar5416_power.o -mgeneral-regs-only -= ffixed-x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredun= dant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpoin= ter-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__f= reebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unkn= own-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-erro= r-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -= Wno-error-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modul= es/ath/../../dev/ath/ath_hal/ar5416/ar5416_power.c -o ar5416_power.o --- ar5416_radar.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/= ../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. -I/usr/s= rc/sys/modules/ath/../../contrib/dev/ath/ath_hal/ -DHAVE_KERNEL_OPTION_HEAD= ERS -include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I= /usr/src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENE= RIC -MD -MF.depend.ar5416_radar.o -MTar5416_radar.o -mgeneral-regs-only -= ffixed-x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredun= dant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpoin= ter-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__f= reebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unkn= own-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-erro= r-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -= Wno-error-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modul= es/ath/../../dev/ath/ath_hal/ar5416/ar5416_radar.c -o ar5416_radar.o --- all_subdir_cd9660 --- ctfconvert -L VERSION -g cd9660_util.o --- cd9660_vfsops.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -= include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/= src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC = -MD -MF.depend.cd9660_vfsops.o -MTcd9660_vfsops.o -mgeneral-regs-only -ffi= xed-x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundan= t-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer= -arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__free= bsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown= -pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-p= arentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno= -error-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules/= cd9660/../../fs/cd9660/cd9660_vfsops.c -o cd9660_vfsops.o --- all_subdir_ath --- --- ar5416_power.o --- ctfconvert -L VERSION -g ar5416_power.o --- ar5416_radar.o --- ctfconvert -L VERSION -g ar5416_radar.o --- all_subdir_cd9660 --- --- cd9660_vnops.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -= include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/= src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC = -MD -MF.depend.cd9660_vnops.o -MTcd9660_vnops.o -mgeneral-regs-only -ffixe= d-x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-= decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-a= rith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freebs= d_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-p= ragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-par= entheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-e= rror-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules/cd= 9660/../../fs/cd9660/cd9660_vnops.c -o cd9660_vnops.o --- all_subdir_ath --- --- ar5416_spectral.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/= ../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. -I/usr/s= rc/sys/modules/ath/../../contrib/dev/ath/ath_hal/ -DHAVE_KERNEL_OPTION_HEAD= ERS -include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I= /usr/src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENE= RIC -MD -MF.depend.ar5416_spectral.o -MTar5416_spectral.o -mgeneral-regs-= only -ffixed-x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -= Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes = -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__= =3D__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wn= o-unknown-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wn= o-error-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-= sign -Wno-error-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys= /modules/ath/../../dev/ath/ath_hal/ar5416/ar5416_spectral.c -o ar5416_spect= ral.o --- all_subdir_cam --- --- scsi_xpt.o --- ctfconvert -L VERSION -g scsi_xpt.o --- ata_all.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -= include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/= src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC = -MD -MF.depend.ata_all.o -MTata_all.o -mgeneral-regs-only -ffixed-x18 -ffr= eestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wne= sted-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winl= ine -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freebsd_kprintf_= _ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wn= o-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-e= quality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shift= -negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules/cam/../../ca= m/ata/ata_all.c -o ata_all.o --- all_subdir_ath --- ctfconvert -L VERSION -g ar5416_spectral.o --- all_subdir_cd9660 --- --- cd9660_vfsops.o --- ctfconvert -L VERSION -g cd9660_vfsops.o --- all_subdir_ath --- --- ar5416_recv.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/= ../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. -I/usr/s= rc/sys/modules/ath/../../contrib/dev/ath/ath_hal/ -DHAVE_KERNEL_OPTION_HEAD= ERS -include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I= /usr/src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENE= RIC -MD -MF.depend.ar5416_recv.o -MTar5416_recv.o -mgeneral-regs-only -ff= ixed-x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredunda= nt-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointe= r-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__fre= ebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknow= n-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-= parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wn= o-error-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules= /ath/../../dev/ath/ath_hal/ar5416/ar5416_recv.c -o ar5416_recv.o --- all_subdir_cam --- --- ata_xpt.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -= include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/= src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC = -MD -MF.depend.ata_xpt.o -MTata_xpt.o -mgeneral-regs-only -ffixed-x18 -ffr= eestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wne= sted-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winl= ine -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freebsd_kprintf_= _ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wn= o-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-e= quality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shift= -negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules/cam/../../ca= m/ata/ata_xpt.c -o ata_xpt.o --- all_subdir_cd9660 --- --- cd9660_vnops.o --- ctfconvert -L VERSION -g cd9660_vnops.o --- cd9660_bmap.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -= include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/= src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC = -MD -MF.depend.cd9660_bmap.o -MTcd9660_bmap.o -mgeneral-regs-only -ffixed-= x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-de= cls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-ari= th -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freebsd_= kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pra= gmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-paren= theses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-err= or-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules/cd96= 60/../../fs/cd9660/cd9660_bmap.c -o cd9660_bmap.o --- all_subdir_ath --- ctfconvert -L VERSION -g ar5416_recv.o --- ar5416_reset.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/= ../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. -I/usr/s= rc/sys/modules/ath/../../contrib/dev/ath/ath_hal/ -DHAVE_KERNEL_OPTION_HEAD= ERS -include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I= /usr/src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENE= RIC -MD -MF.depend.ar5416_reset.o -MTar5416_reset.o -mgeneral-regs-only -= ffixed-x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredun= dant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpoin= ter-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__f= reebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unkn= own-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-erro= r-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -= Wno-error-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modul= es/ath/../../dev/ath/ath_hal/ar5416/ar5416_reset.c -o ar5416_reset.o --- all_subdir_cam --- --- ata_all.o --- ctfconvert -L VERSION -g ata_all.o --- all_subdir_ath --- --- ar5416_xmit.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/= ../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. -I/usr/s= rc/sys/modules/ath/../../contrib/dev/ath/ath_hal/ -DHAVE_KERNEL_OPTION_HEAD= ERS -include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I= /usr/src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENE= RIC -MD -MF.depend.ar5416_xmit.o -MTar5416_xmit.o -mgeneral-regs-only -ff= ixed-x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredunda= nt-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointe= r-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__fre= ebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknow= n-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-= parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wn= o-error-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules= /ath/../../dev/ath/ath_hal/ar5416/ar5416_xmit.c -o ar5416_xmit.o --- all_subdir_cd9660 --- ctfconvert -L VERSION -g cd9660_bmap.o --- cd9660.kld --- /usr/local/aarch64-freebsd/bin/ld -d -warn-common -r -d -o cd9660.kld cd966= 0_bmap.o cd9660_lookup.o cd9660_node.o cd9660_rrip.o cd9660_util.o cd9660_v= fsops.o cd9660_vnops.o ctfmerge -L VERSION -g -o cd9660.kld cd9660_bmap.o cd9660_lookup.o cd9660_n= ode.o cd9660_rrip.o cd9660_util.o cd9660_vfsops.o cd9660_vnops.o echo cd9660_iconv > export_syms awk -f /usr/src/sys/conf/kmod_syms.awk cd9660.kld export_syms | xargs -J% = /usr/local/aarch64-freebsd/bin/objcopy % cd9660.kld --- cd9660.ko.full --- /usr/local/aarch64-freebsd/bin/ld -Bshareable -d -warn-common -o cd9660.ko.= full cd9660_bmap.o cd9660_lookup.o cd9660_node.o cd9660_rrip.o cd9660_util.= o cd9660_vfsops.o cd9660_vnops.o --- cd9660.ko.debug --- /usr/local/aarch64-freebsd/bin/objcopy --only-keep-debug cd9660.ko.full cd9= 660.ko.debug --- cd9660.ko --- /usr/local/aarch64-freebsd/bin/objcopy --strip-debug --add-gnu-debuglink=3D= cd9660.ko.debug cd9660.ko.full cd9660.ko --- all_subdir_cam --- --- ata_da.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -= include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/= src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC = -MD -MF.depend.ata_da.o -MTata_da.o -mgeneral-regs-only -ffixed-x18 -ffree= standing -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wnest= ed-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winlin= e -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freebsd_kprintf__ = -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-= error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equ= ality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shift-n= egative-value -std=3Diso9899:1999 -c /usr/src/sys/modules/cam/../../cam/= ata/ata_da.c -o ata_da.o --- all_subdir_ath --- ctfconvert -L VERSION -g ar5416_xmit.o --- all_subdir_cam --- --- ata_pmp.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -= include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/= src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC = -MD -MF.depend.ata_pmp.o -MTata_pmp.o -mgeneral-regs-only -ffixed-x18 -ffr= eestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wne= sted-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winl= ine -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freebsd_kprintf_= _ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wn= o-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-e= quality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shift= -negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules/cam/../../ca= m/ata/ata_pmp.c -o ata_pmp.o --- ata_xpt.o --- ctfconvert -L VERSION -g ata_xpt.o --- all_subdir_ath --- --- ar2133.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/= ../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. -I/usr/s= rc/sys/modules/ath/../../contrib/dev/ath/ath_hal/ -DHAVE_KERNEL_OPTION_HEAD= ERS -include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I= /usr/src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENE= RIC -MD -MF.depend.ar2133.o -MTar2133.o -mgeneral-regs-only -ffixed-x18 -= ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -= Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -W= inline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freebsd_kprin= tf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas = -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parenthese= s-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-sh= ift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules/ath/../..= /dev/ath/ath_hal/ar5416/ar2133.c -o ar2133.o --- all_subdir_cam --- --- ata_pmp.o --- ctfconvert -L VERSION -g ata_pmp.o --- all_subdir_ath --- --- ar9160_attach.o --- --- ar2133.o --- ctfconvert -L VERSION -g ar2133.o --- ar9160_attach.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/= ../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. -I/usr/s= rc/sys/modules/ath/../../contrib/dev/ath/ath_hal/ -DHAVE_KERNEL_OPTION_HEAD= ERS -include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I= /usr/src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENE= RIC -MD -MF.depend.ar9160_attach.o -MTar9160_attach.o -mgeneral-regs-only= -ffixed-x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wred= undant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpo= inter-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D_= _freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-un= known-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-er= ror-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign= -Wno-error-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/mod= ules/ath/../../dev/ath/ath_hal/ar9001/ar9160_attach.c -o ar9160_attach.o --- all_subdir_cam --- --- nvme_all.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -= include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/= src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC = -MD -MF.depend.nvme_all.o -MTnvme_all.o -mgeneral-regs-only -ffixed-x18 -f= freestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -W= nested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wi= nline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freebsd_kprint= f__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -= Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses= -equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shi= ft-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules/cam/../../= cam/nvme/nvme_all.c -o nvme_all.o --- all_subdir_ath --- --- ar5416_reset.o --- ctfconvert -L VERSION -g ar5416_reset.o --- ar9160_attach.o --- ctfconvert -L VERSION -g ar9160_attach.o --- all_subdir_cam --- ctfconvert -L VERSION -g nvme_all.o --- hwreset_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/extres/hwreset/hw= reset_if.m -h --- modules-all --- --- nvme_xpt.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -= include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/= src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC = -MD -MF.depend.nvme_xpt.o -MTnvme_xpt.o -mgeneral-regs-only -ffixed-x18 -f= freestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -W= nested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wi= nline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freebsd_kprint= f__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -= Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses= -equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shi= ft-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules/cam/../../= cam/nvme/nvme_xpt.c -o nvme_xpt.o --- regdev_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/extres/regulator/= regdev_if.m -h --- modules-all --- --- cam.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -= include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/= src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC = -MD -MF.depend.cam.o -MTcam.o -mgeneral-regs-only -ffixed-x18 -ffreestandi= ng -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wnested-ext= erns -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wca= st-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freebsd_kprintf__ -Wmiss= ing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error-= tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality = -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shift-negativ= e-value -std=3Diso9899:1999 -c /usr/src/sys/modules/cam/../../cam/cam.c = -o cam.o --- all_subdir_ath --- --- ar9130_attach.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/= ../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. -I/usr/s= rc/sys/modules/ath/../../contrib/dev/ath/ath_hal/ -DHAVE_KERNEL_OPTION_HEAD= ERS -include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I= /usr/src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENE= RIC -MD -MF.depend.ar9130_attach.o -MTar9130_attach.o -mgeneral-regs-only= -ffixed-x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wred= undant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpo= inter-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D_= _freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-un= known-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-er= ror-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign= -Wno-error-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/mod= ules/ath/../../dev/ath/ath_hal/ar9001/ar9130_attach.c -o ar9130_attach.o --- all_subdir_cam --- --- ata_da.o --- ctfconvert -L VERSION -g ata_da.o --- all_subdir_cloudabi --- =3D=3D=3D> cloudabi (all) --- 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 --- all_subdir_ath --- ctfconvert -L VERSION -g ar9130_attach.o --- all_subdir_cloudabi --- --- vnode_if.h --- awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -h --- cloudabi_errno.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -= include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/= src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC = -MD -MF.depend.cloudabi_errno.o -MTcloudabi_errno.o -mgeneral-regs-only -f= fixed-x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredund= ant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpoint= er-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__fr= eebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unkno= wn-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error= -parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -W= no-error-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/module= s/cloudabi/../../compat/cloudabi/cloudabi_errno.c -o cloudabi_errno.o --- all_subdir_ath --- --- ar9130_eeprom.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/= ../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. -I/usr/s= rc/sys/modules/ath/../../contrib/dev/ath/ath_hal/ -DHAVE_KERNEL_OPTION_HEAD= ERS -include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I= /usr/src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENE= RIC -MD -MF.depend.ar9130_eeprom.o -MTar9130_eeprom.o -mgeneral-regs-only= -ffixed-x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wred= undant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpo= inter-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D_= _freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-un= known-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-er= ror-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign= -Wno-error-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/mod= ules/ath/../../dev/ath/ath_hal/ar9001/ar9130_eeprom.c -o ar9130_eeprom.o --- all_subdir_cloudabi --- ctfconvert -L VERSION -g cloudabi_errno.o --- cloudabi_fd.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -= include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/= src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENERIC = -MD -MF.depend.cloudabi_fd.o -MTcloudabi_fd.o -mgeneral-regs-only -ffixed-= x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-de= cls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-ari= th -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freebsd_= kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pra= gmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-paren= theses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-err= or-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules/clou= dabi/../../compat/cloudabi/cloudabi_fd.c -o cloudabi_fd.o --- all_subdir_cam --- --- cam.o --- ctfconvert -L VERSION -g cam.o --- all_subdir_ath --- ctfconvert -L VERSION -g ar9130_eeprom.o --- ar9130_phy.o --- cc -target aarch64-unknown-freebsd12.0 --sysroot=3D/usr/obj/arm64.aarch64/u= sr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -O2 -pipe -fno-strict-aliasin= g -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/= ../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. -I/usr/s= rc/sys/modules/ath/../../contrib/dev/ath/ath_hal/ -DHAVE_KERNEL_OPTION_HEAD= ERS -include /usr/obj/arm64.aarch64/usr/src/sys/GENERIC/opt_global.h -I. -I= /usr/src/sys -fno-common -g -fPIC -I/usr/obj/arm64.aarch64/usr/src/sys/GENE= RIC -MD -MF.depend.ar9130_phy.o -MTar9130_phy.o -mgeneral-regs-only -ffix= ed-x18 -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant= -decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-= arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=3D__freeb= sd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-= pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-pa= rentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-= error-shift-negative-value -std=3Diso9899:1999 -c /usr/src/sys/modules/a= th/../../dev/ath/ath_hal/ar9001/ar9130_phy.c -o ar9130_phy.o --- all_subdir_cloudabi64 --- =3D=3D=3D> cloudabi64 (all) --- machine --- --- all_subdir_cam --- --- nvme_xpt.o --- ctfconvert -L VERSION -g nvme_xpt.o --- all_subdir_cloudabi64 --- machine -> /usr/src/sys/arm64/include bmake[4]: bmake[4]: don't know how to make cloudabi64_sysvec.c. Stop bmake[4]: stopped in /usr/src/sys/modules/cloudabi64 *** [all_subdir_cloudabi64] Error code 2 bmake[3]: stopped in /usr/src/sys/modules --- all_subdir_cam --- A failure has been detected in another branch of the parallel make bmake[4]: stopped in /usr/src/sys/modules/cam *** [all_subdir_cam] Error code 2 bmake[3]: stopped in /usr/src/sys/modules --- all_subdir_ath --- ctfconvert -L VERSION -g ar9130_phy.o A failure has been detected in another branch of the parallel make bmake[4]: stopped in /usr/src/sys/modules/ath *** [all_subdir_ath] Error code 2 bmake[3]: stopped in /usr/src/sys/modules --- all_subdir_cloudabi --- ctfconvert -L VERSION -g cloudabi_fd.o A failure has been detected in another branch of the parallel make bmake[4]: stopped in /usr/src/sys/modules/cloudabi *** [all_subdir_cloudabi] Error code 2 bmake[3]: stopped in /usr/src/sys/modules 4 errors bmake[3]: stopped in /usr/src/sys/modules *** [modules-all] Error code 2 bmake[2]: stopped in /usr/obj/arm64.aarch64/usr/src/sys/GENERIC 1 error bmake[2]: stopped in /usr/obj/arm64.aarch64/usr/src/sys/GENERIC *** [buildkernel] Error code 2 bmake[1]: stopped in /usr/src 1 error bmake[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 [WARNINGS] Skipping publisher since build result is FAILURE [PostBuildScript] - Execution post build scripts. [FreeBSD_HEAD_arm64] $ /bin/sh -xe /tmp/hudson2023826744000835873.sh + export 'PATH=3D/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/b= in' + export 'jname=3DFreeBSD_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::102: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?577809813.5.1472361920037.JavaMail.jenkins>