aboutsummaryrefslogtreecommitdiff
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Mark padlock(4) and cryptocteon(4) as software drivers.John Baldwin2020-06-092-2/+2
| | | | | | | | | | | Both already return the accelerated software priority from cryptodev_probesession. Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D25125 Notes: svn path=/head/; revision=361990
* powerpc/pmap: Fix wired memory leak in booke64 page directoriesJustin Hibbits2020-06-091-18/+24
| | | | | | | | | | | | Properly handle reference counts in the 64-bit pmap page directories. Otherwise all page table pages would leak due to over-referencing. This would cause a quick enter to swap on a desktop system (AmigaOne X5000) when quitting and rerunning applications, or just building world. Add an INVARIANTS check to validate no leakage at pmap release time. Notes: svn path=/head/; revision=361988
* Prevent TCP Cubic to abruptly increase cwnd after slow-startRichard Scheffenegger2020-06-091-9/+19
| | | | | | | | | | | | | | | | | | Introducing flags to track the initial Wmax dragging and exit from slow-start in TCP Cubic. This prevents sudden jumps in the caluclated cwnd by cubic, especially when the flow is application limited during slow start (cwnd can not grow as fast as expected). The downside is that cubic may remain slightly longer in the concave region before starting the convex region beyond Wmax again. Reviewed by: chengc_netapp.com, tuexen (mentor) Approved by: tuexen (mentor), rgrimes (mentor, blanket) MFC after: 3 weeks Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D23655 Notes: svn path=/head/; revision=361987
* Fix boot of wandquad after DTS updateAndreas Tobler2020-06-091-0/+4
| | | | | | | | | | | | In the recent dts sync the name of the aips-bus@ changed to bus@. Reflect this change and add an additional OF_finddevice in fix_fdt_interrupt_data() and in fix_fdt_iomuxc_data() with bus@ only. Iow, keep the old naming for compatibility. Discussed with: ian@ Notes: svn path=/head/; revision=361985
* To reduce the size of an rb_node, drop the color field. Set the leastDoug Moore2020-06-092-143/+143
| | | | | | | | | | | | | | | | | significant bit in the pointer to the node from its parent to indicate that the node is red. Have the tree rotation macros leave the old-parent/new-child node red and the new-parent/old-child node black. This change makes RB_LEFT and RB_RIGHT no longer assignable, and RB_COLOR no longer defined. Any code that modifies the tree or examines a node color would have to be modified after this change. Reviewed by: markj Tested by: pho Differential Revision: https://reviews.freebsd.org/D25105 Notes: svn path=/head/; revision=361984
* iflib: netmap: honor netmap_irx_irq return valuesVincenzo Maffione2020-06-091-6/+8
| | | | | | | | | | | | | | | | | | | | | In the receive interrupt routine, always call netmap_rx_irq(). The latter function will return != NM_IRQ_PASS if netmap is not active on that specific receive queue, so that the driver can go on with iflib_rxeof(). Note that netmap supports partial opening, where only a subset of the RX or TX rings can be open in netmap mode. Checking the IFCAP_NETMAP flag is not enough to make sure that the queue is indeed in netmap mode. Moreover, in case netmap_rx_irq() returns NM_IRQ_RESCHED, it means that netmap expects the driver to call netmap_rx_irq() again as soon as possible. Currently, this may happen when the device is attached to a VALE switch. Reviewed by: gallatin MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D25167 Notes: svn path=/head/; revision=361982
* Similar to UART on ThunderX2, the ARM Coresight (ETM component)Ruslan Bukin2020-06-091-0/+4
| | | | | | | | | | | set ResourceProducer on memory resources: ignore it. Tested on ARM N1SDP board. Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=361976
* Refactor ptrace() ABI compatibility.John Baldwin2020-06-098-231/+252
| | | | | | | | | | | | | | | | Add a freebsd32_ptrace() and move as many freebsd32 shims as possible to freebsd32_ptrace(). Aside from register sets, freebsd32 passes pointers to native structures to kern_ptrace() and converts to/from native/32-bit structure formats in freebsd32_ptrace() outside of kern_ptrace(). Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D25195 Notes: svn path=/head/; revision=361975
* ARM Embedded Trace Macrocell v4.x driver:Ruslan Bukin2020-06-095-38/+171
| | | | | | | | | | o Split-out FDT attachment to a separate file; o Add ACPI attachment. Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=361974
* Fix style: wrap long lines.Ruslan Bukin2020-06-091-8/+11
| | | | | | | Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=361969
* Rename coresight drivers: use underscores in filenames.Ruslan Bukin2020-06-0910-9/+9
| | | | | | | Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=361968
* Assert on pg_jobc state.Mateusz Guzik2020-06-091-2/+4
| | | | | | | Stolen from NetBSD. Notes: svn path=/head/; revision=361967
* vm: rework swap_pager_status to execute in constant timeMateusz Guzik2020-06-091-9/+3
| | | | | | | | | | The lock-protected iteration is trivially avoidable. This removes a serialisation point from Linux binaries (which end up calling here from the sysinfo syscall). Notes: svn path=/head/; revision=361965
* coufreq_dt: Rename DEBUG to DPRINTFEmmanuel Vadot2020-06-091-22/+23
| | | | | | | | | | | | | DEBUG is a kernel configuration flag and if used cpufreq_dt.c will fail the build of kernel. PR: 246867 Submitted by: Oskar Holmund (oskar.holmlund@ohdata.se) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D25080 Notes: svn path=/head/; revision=361964
* Stop computing a "sharedram" value when emulating Linux sysinfo(2).Mark Johnston2020-06-081-9/+0
| | | | | | | | | | | | | | | | | | | | The previous code was computing an incorrect value in a very expensive manner. "sharedram" is supposed to be the amount of memory used by named swap objects, which on FreeBSD basically corresponds to memory usage by shared memory objects (including, for example, GEM objects) and tmpfs. We currently have no cheap way to count such pages. The previous code tried to determine the number of copy-on-write pages shared between processes. Just replace the computed value with 0. illumos reportedly does the same thing. Linux itself did not populate this field until a 2014 commit, "mm: export NR_SHMEM via sysinfo(2) / si_meminfo() interfaces". Reported by: mjg MFC after: 1 week Notes: svn path=/head/; revision=361945
* virtio: Support non-legacy network device and queueJessica Clarke2020-06-084-8/+20
| | | | | | | | | | | | | | | The non-legacy interface always defines num_buffers in the header, regardless of whether VIRTIO_NET_F_MRG_RXBUF, just leaving it unused. We also need to ensure our virtqueue doesn't filter out VIRTIO_F_VERSION_1 during negotiation, as it supports non-legacy transports just fine. This fixes network packet transmission on TinyEMU. Reviewed by: br, brooks (mentor), jhb (mentor) Approved by: br, brooks (mentor), jhb (mentor) Differential Revision: https://reviews.freebsd.org/D25132 Notes: svn path=/head/; revision=361944
* virtio_mmio: Negotiate the upper half of the feature bits tooJessica Clarke2020-06-081-0/+11
| | | | | | | | | | | | | | | | | The feature bits are exposed as a 32-bit register with 2 banks, so we should negotiate both halves. Notably, VIRTIO_F_VERSION_1 is in the upper half, and will be used in an upcoming commit. The PCI bus driver also has this bug, but the legacy BAR layout did not include selector registers and is rather different from the modern layout, so it remains solely as legacy. Reviewed by: br, brooks (mentor), jhb (mentor) Approved by: br, brooks (mentor), jhb (mentor) Differential Revision: https://reviews.freebsd.org/D25131 Notes: svn path=/head/; revision=361943
* Implement zero-copy iSCSI target transmission/read.Alexander Motin2020-06-087-44/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add ICL_NOCOPY flag to icl_pdu_append_data(), specifying that the method can just reference the data buffer instead of immediately copying it. Extend the offload KPI with optional PDU queue method, allowing to specify completion callback, called when all the data referenced by above has been transferred and won't be accessed any more (the buffers can be freed). Implement the above functionality in software iSCSI driver using mbufs with external storage and reference counter. Note that some NICs (ixl(4)) may keep the mbuf in TX queue for a long time, so CTL has to be ready. Add optional method to struct ctl_scsiio for buffer reference counting. Implement it for CTL block backend, allowing to delay free of the struct ctl_be_block_io and memory it references as needed. In first reincarnation of the patch I tried to delay whole I/O as it is done for FibreChannel, that was cleaner, but due to the above callback delays I had to rewrite it this way to not leave LUN referenced potentially for hours or more. All together on sequential read from ZFS ARC this saves about 30% of CPU time and memory bandwidth by avoiding one of 3 memory copies (the other two are from ZFS ARC to DMU cache and then from DMU cache to CTL buffers). On tests with 2x Xeon Silver 4114 this allows to reach full line rate of 100GigE NIC. Tests with Gold CPUs and two 100GigE NICs are stil TBD, but expectations to saturate them are pretty high. ;) Discussed with: Chelsio Sponsored by: iXsystems, Inc. Notes: svn path=/head/; revision=361939
* Whitespace cleanups and removal of a stale comment.Michael Tuexen2020-06-083-4/+0
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=361934
* riscv: Use SBI shutdown call to implement RB_POWEROFFJessica Clarke2020-06-081-0/+19
| | | | | | | | | | | | | | | Currently we only call sbi_shutdown in cpu_reset, which means we reach "Please press any key to reboot." even when RB_POWEROFF is set, and only once the user presses a key do we then shutdown. Instead, register a shutdown_final event handler and make an SBI shutdown call if RB_POWEROFF is set. Reviewed by: br, jhb (mentor), kp Approved by: br, jhb (mentor), kp Differential Revision: https://reviews.freebsd.org/D25183 Notes: svn path=/head/; revision=361932
* Move MPASS() macros to systm.h. They are widely used all overGleb Smirnoff2020-06-082-10/+10
| | | | | | | | | | the kernel and aren't contained only to the locking code. Reviewed by: kib, mjg Differential Revision: https://reviews.freebsd.org/D23656 Notes: svn path=/head/; revision=361931
* An important statistic in determining if a server process (or client) is ↵Randall Stewart2020-06-087-2/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | being delayed is to know the time to first byte in and time to first byte out. Currently we have no way to know these all we have is t_starttime. That (t_starttime) tells us what time the 3 way handshake completed. We don't know when the first request came in or how quickly we responded. Nor from a client perspective do we know how long from when we sent out the first byte before the server responded. This small change adds the ability to track the TTFB's. This will show up in BB logging which then can be pulled for later analysis. Note that currently the tracking is via the ticks variable of all three variables. This provides a very rough estimate (hz=1000 its 1ms). A follow-on set of work will be to change all three of these values into something with a much finer resolution (either microseconds or nanoseconds), though we may want to make the resolution configurable so that on lower powered machines we could still use the much cheaper ticks variable. Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D24902 Notes: svn path=/head/; revision=361926
* RISC-V: Check that the DTB doesn't overlap with kernelAlex Richardson2020-06-084-0/+14
| | | | | | | | | | | | | | | | | | This can happen with very large kernels (e.g. ones embedding a root filesystem). The DTB written by OpenSBI/BBL is quite small so this is unlikely to hit important data, but if it does this can result in very confusing and hard-to-debug crashes. Add a KASSERT() and a verbose print to catch this problem with debug kernels. While this will not print any output by default if it fails (that would depend on EARLY_PRINTF), at least the kernel now halts reliably instead of randomly crashing. Reviewed By: mhorne Differential Revision: https://reviews.freebsd.org/D25153 Notes: svn path=/head/; revision=361905
* sys/riscv: Remove debug printfsAlex Richardson2020-06-081-2/+0
| | | | | | | | | | They are only visible with EARLY_PRINTF so don't show up by default. Reviewed By: mhorne Differential Revision: https://reviews.freebsd.org/D25152 Notes: svn path=/head/; revision=361904
* RISC-V: handle DTB aligned to less than 2MBAlex Richardson2020-06-081-0/+6
| | | | | | | | | | | | | | | | | | | | | | | By default OpenSBI and BBL will pass the DTB at a 2MB-aligned address. However, by default there are no 2MB aligned regions between the SBI and the kernel, so we have to choose a 2MB aligned region after the kernel. OpenSBI defaults to placing the DTB 32MB after the start of the kernel but this is not sufficient for a kernel with a large MFS embedded. We could increase this offset to a larger number (e.g. 64/128/256) but that imposes restrictions on the minimum RAM size. Another solution would be to place the DTB between OpenSBI and the kernel at 1MB alignment, but current locore.S code assumes 2MB alignment. With this change I can now boot on QEMU with an OpenSBI configured to store the DTB at an offset of 1MB. See also https://github.com/riscv/opensbi/issues/169 Reviewed By: mhorne Differential Revision: https://reviews.freebsd.org/D25151 Notes: svn path=/head/; revision=361903
* powerpc/powernv: Don't configure disabled CPUsJustin Hibbits2020-06-081-0/+4
| | | | | | | | | | If the POWER firmware detects a bad CPU core, it will "GUARD" it out, marking it disabled. Any attempt to spin up a bad CPU will trigger a panic later on when waiting for threads on said core to wake up. Support limping along on fewer cores instead. Notes: svn path=/head/; revision=361901
* Retire SCTP_SO_LOCK_TESTING.Michael Tuexen2020-06-0712-666/+2
| | | | | | | | | | | | This was intended to test the locking used in the MacOS X kernel on a FreeBSD system, to make use of WITNESS and other debugging infrastructure. This hasn't been used for ages, to take it out to reduce the #ifdef complexity. MFC after: 1 week Notes: svn path=/head/; revision=361895
* [if_ath] Don't update the beacon bits from beacon frames in hostapd mode.Adrian Chadd2020-06-071-4/+8
| | | | | | | | | | | | | | | | | | | | | | | This logic is running the beacon receive bits in STA+AP mode on both the STA and AP side. The STA side sees its beacons from the BSS fine; the AP side is seeing other beacons on the same channel but with the BSS node for some odd reason. (I think it's a valid reason, but I currently forget what that valid reason is.) So, just to be cleaner about things, don't run the nexttbtt/etc bits at all if we're in hostap mode. If I ever get mesh working then maybe I'll make sure it works right on mesh+ap and mesh+sta modes. Whilst here, log the VAP i'm being called on to make it clearer what is going on. I may end up adding a VAP dprintf version of this at some point. Tested: * AR9380, STA (DWDS client) + hostap on the same NIC Notes: svn path=/head/; revision=361886
* [net80211] Add a method to return the vap's ifname.Adrian Chadd2020-06-072-0/+15
| | | | | | | | | | This removes the requirement to know what's in the ifp. (If someone wants a quick clean-up task, it'd be nice to convert instances of ifp dereferencing for if_xname over to this method.) Notes: svn path=/head/; revision=361885
* [net80211] Flip on A-MPDU, A-MSDU, A-MPDU+A-MSDU and Fast frames options.Adrian Chadd2020-06-061-12/+49
| | | | | | | | | | | | | | | | | | | | | | This updates the logic to allow: * A-MPDU if available; * A-MSDU if available and A-MPDU is off/NACKed; * A-MPDU+A-MSDU if it's available and negotiated; * Fast frames if the node is 11abg (and not HT/VHT.) This allows for things to fail back to A-MSDU or fast frames if A-MPDU isn't available rather than needing to be non-HT/non-VHT. It also allows A-MPDU+A-MSDU to work if it's negotiated. Tested: * AR9380, STA + AP mode (A-MPDU, A-MSDU, FF, A-MPDU+A-MSDU) * RT5350, STA mode (A-MSDU, FF) * AR9170, STA mode (A-MSDU, FF) Notes: svn path=/head/; revision=361878
* Fix typo in comment.Michael Tuexen2020-06-061-1/+1
| | | | | | | | Submitted by Orgad Shaneh for the userland stack. MFC after: 1 week Notes: svn path=/head/; revision=361877
* Clear the IN_SIZEMOD and IN_IBLKDATA flags only when doing aKirk McKusick2020-06-061-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | synchronous inode update. The IN_SIZEMOD and IN_IBLKDATA flags indicate changes to the file size and block pointer fields in the inode. When these fields have been changed, the fsync() and fsyncdata() system calls must write the inode to ensure their semantics that the file is on stable store. The IN_SIZEMOD and IN_IBLKDATA flags cannot be cleared until a synchronous write of the inode is done. If they are cleared on an asynchronous write, then the inode may not yet have been written to the disk when an fsync() or fsyncdata() call is done. Absent these flags, these calls would not know that they needed to write the inode. Thus, these flags only can be cleared on synchronous writes of the inode. Since the inode will be locked for the duration of the I/O that writes it to disk, no fsync() or fsyncdata() will be able to run before the on-disk inode is complete. Reviewed by: kib MFC with: -r361785 Differential revision: https://reviews.freebsd.org/D25072 Notes: svn path=/head/; revision=361875
* powerpc: Fix nits in copyinout comments from r361861Justin Hibbits2020-06-061-10/+6
| | | | | | | | | Also, remove useless nested #ifdefs in the IFUNC block. Reported by: bdragon@ Notes: svn path=/head/; revision=361874
* Non-functional changes due to cleanup (upstream removing of Panda support)Michael Tuexen2020-06-066-26/+8
| | | | | | | | | of the code MFC after: 1 week Notes: svn path=/head/; revision=361872
* Revert r361838Conrad Meyer2020-06-062-55/+8
| | | | | | | Reported by: delphij Notes: svn path=/head/; revision=361870
* Add a tunable for the nvd symlink creation.Warner Losh2020-06-061-2/+6
| | | | | | | | | | Some automation tries to detect if nvd or nda is in used, and the presence of both confuses it. Provide a knob to turn off nvd alias creation (kern.cam.nda.nvd_compat=0) for these situations. The default is the same: create the nvd compat link. Notes: svn path=/head/; revision=361866
* Ensure that we send at least LBA range per TRIM.Warner Losh2020-06-061-0/+1
| | | | Notes: svn path=/head/; revision=361865
* [net80211] Fix this typo!Adrian Chadd2020-06-061-1/+1
| | | | | | | | I've just started using this macro in upcoming amsdu/ampdu/ff rework and yes, too many parens. Oops! Notes: svn path=/head/; revision=361864
* [net80211] Fix typo.Adrian Chadd2020-06-061-1/+1
| | | | | | | Oops! Notes: svn path=/head/; revision=361863
* powerpc: Use IFUNCs for copyin/copyout/etcJustin Hibbits2020-06-0610-76/+709
| | | | | | | | | | | | | | | | Summary: Radix on AIM, and all of Book-E (currently), can do direct addressing of user space, instead of needing to map user addresses into kernel space. Take advantage of this to optimize the copy(9) functions for this behavior, and avoid effectively NOP translations. Test Plan: Tested on powerpcspe, powerpc64/booke, powerpc64/AIM Reviewed by: bdragon Differential Revision: https://reviews.freebsd.org/D25129 Notes: svn path=/head/; revision=361861
* powerpc: Add a (CPU/runtime features) flags set to pcpu structJustin Hibbits2020-06-066-0/+16
| | | | | | | | | | | | | | | | | | Summary: The point of this addition is to cache CPU behavior 'features', to avoid having to recompute based on CPU, etc. The first such use case is to avoid the unnecessary manipulation of the SLBs (Segment Lookaside Buffers) when using the Radix pmap on POWER9. Since we already get the PCPU pointer wherever we swap the SLB entries, we can use a cached flag to check if it's necessary to perform the operation anyway, and skip it when not. Reviewed by: bdragon Differential Revision: https://reviews.freebsd.org/D24908 Notes: svn path=/head/; revision=361859
* Don't mark pages as valid if reading the contents from disk fails.Chuck Silvers2020-06-061-22/+24
| | | | | | | | | | | | | Instead, just skip marking pages valid if the read fails. Future attempts to access such pages will notice that they are not marked valid and try to read them from disk again. Reviewed by: kib, markj Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D25138 Notes: svn path=/head/; revision=361855
* Rename skein_block_asm.s to .S and assemble using Clang IASEd Maste2020-06-062-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Comparing the object files produced by GNU as 2.17.50 and Clang IAS shows many immaterial changes in strtab etc., and one material change in .text: 1bac: 4c 8b 4f 18 mov 0x18(%rdi),%r9 1bb0: eb 0e jmp 1bc0 <Skein1024_block_loop> - 1bb2: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1) - 1bb9: 00 00 00 00 - 1bbd: 0f 1f 00 nopl (%rax) + 1bb2: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) + 1bb9: 00 00 00 + 1bbc: 0f 1f 40 00 nopl 0x0(%rax) 0000000000001bc0 <Skein1024_block_loop>: Skein1024_block_loop(): 1bc0: 4c 8b 47 10 mov 0x10(%rdi),%r8 1bc4: 4c 03 85 c0 00 00 00 add 0xc0(%rbp),%r8 That is, GNU as and Clang's integrated assembler use different multi- byte NOPs for alignment (GNU as emits an 11 byte NOP + a 3 byte NOP, while Clang IAS emits a 10 byte NOP + a 4 byte NOP). Dependency cleanup hacks are not required, because we do not create .depend files from GNU as. Reviewed by: allanjude, arichardson, cem, tsoome Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D8434 Notes: svn path=/head/; revision=361853
* Fix hang due to missing unbusy in sendfile when an async data I/O fails.Chuck Silvers2020-06-061-42/+26
| | | | | | | | | | | | | | | | | | | | | r359473 removed the page unbusy logic from sendfile_iodone() because when vm_pager_get_pages_async() would return an error after failing to start the async I/O (eg. because VOP_BMAP failed), sendfile_swapin() would also unbusy the pages, and it was wrong to unbusy twice. However this breaks the case where vm_pager_get_pages_async() succeeds in starting an async I/O and the async I/O is what fails. In this case, sendfile_iodone() must unbusy the pages, and because sendfile_iodone() doesn't know which case it is in, sendfile_iodone() must always unbusy pages and relookup pages which have been substituted with bogus_page, which in turn means that sendfile_swapin() must never do unbusy or relookup for pages which have been given to vm_pager_get_pages_async(), even if there is an error. Reviewed by: kib, markj Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D25136 Notes: svn path=/head/; revision=361852
* dts: patch the am33xx dts for upcoming clock supportEmmanuel Vadot2020-06-052-2/+12
| | | | | | | | | | | Some ranges are too small compared to what they really are. Add functional clocks for the timers. Submitted by: Oskar Holmlund (oskar.holmlund@ohdata.se) X-Differential Revision: https://reviews.freebsd.org/D25118 Notes: svn path=/head/; revision=361849
* dts: Update our copy to be in sync with Linux 5.7Emmanuel Vadot2020-06-05514-2850/+20131
| | | | | | | MFC after: 2 months Notes: svn path=/head/; revision=361848
* Also pass SKEIN_USE_ASM to the assembler, via AFLAGSEd Maste2020-06-051-1/+1
| | | | Notes: svn path=/head/; revision=361845
* skein_block_asm.S: use #ifdef not .ifdef, for Clang IASEd Maste2020-06-051-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Clang IAS does not support the --defsym argument, and .ifndef SKEIN_USE_ASM gets turned into .ifndef 1792 by the preprocessor, which results in error: expected identifier after '.ifdef' .ifndef 1792 ^ Use #ifdef instead, which still works with GNU as. Reviewed by: cem Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25154 Notes: svn path=/head/; revision=361843
* Apply C SKEIN_LOOP setting only to skein_block.cEd Maste2020-06-051-1/+1
| | | | | | | | Otherwise if assembling skein_block_asm.s with Clang's integrated assembler we can pass conflicting SKEIN_LOOP settings (via CFLAGS and ACFLAGS). Notes: svn path=/head/; revision=361840
* geom_label: Use provider aliasing to alias upstream geomsConrad Meyer2020-06-052-8/+55
| | | | | | | | | | | | | | | | | | | | | | For synthetic aliases (just pseudonyms inferred from metadata like GPT or UFS labels, GPT UUIDs, etc), use the GEOM provider aliasing system to create a symlink to the real device instead of creating an independent device. This makes it more clear which labels and devices correspond, and we can safely have multiple labels to a single device accessed at once. The confusingly named geom_label on-disk construct continues to behave identically to how it did before. This requires teaching GEOM's provider aliasing about the possibility that aliases might be added later in time, and GEOM's devfs interaction layer not to worry about existing aliases during retaste. Discussed with: imp Relnotes: sure, if we don't end up reverting it Differential Revision: https://reviews.freebsd.org/D24968 Notes: svn path=/head/; revision=361838