aboutsummaryrefslogtreecommitdiff
path: root/sys/mips
Commit message (Collapse)AuthorAgeFilesLines
...
* Repeat the spinlock_enter/exit pattern from amd64 on other architectures toJeff Roberson2019-12-161-3/+4
| | | | | | | | | | | | | | | | fix an assert violation introduced in r355784. Without this spinlock_exit() may see owepreempt and switch before reducing the spinlock count. amd64 had been optimized to do a single critical enter/exit regardless of the number of spinlocks which avoided the problem and this optimization had not been applied elsewhere. Reported by: emaste Suggested by: rlibby Discussed with: jhb, rlibby Tested by: manu (arm64) Notes: svn path=/head/; revision=355819
* schedlock 4/4Jeff Roberson2019-12-151-2/+1
| | | | | | | | | | | | | | | | | | | | | Don't hold the scheduler lock while doing context switches. Instead we unlock after selecting the new thread and switch within a spinlock section leaving interrupts and preemption disabled to prevent local concurrency. This means that mi_switch() is entered with the thread locked but returns without. This dramatically simplifies scheduler locking because we will not hold the schedlock while spinning on blocked lock in switch. This change has not been made to 4BSD but in principle it would be more straightforward. Discussed with: markj Reviewed by: kib Tested by: pho Differential Revision: https://reviews.freebsd.org/D22778 Notes: svn path=/head/; revision=355784
* schedlock 1/4Jeff Roberson2019-12-151-3/+3
| | | | | | | | | | | | | | | Eliminate recursion from most thread_lock consumers. Return from sched_add() without the thread_lock held. This eliminates unnecessary atomics and lock word loads as well as reducing the hold time for scheduler locks. This will eventually allow for lockless remote adds. Discussed with: kib Reviewed by: jhb Tested by: pho Differential Revision: https://reviews.freebsd.org/D22626 Notes: svn path=/head/; revision=355779
* Introduce vm_page_astate.Mark Johnston2019-12-102-3/+3
| | | | | | | | | | | | | | | | | This is a 32-bit structure embedded in each vm_page, consisting mostly of page queue state. The use of a structure makes it easy to store a snapshot of a page's queue state in a stack variable and use cmpset loops to update that state without requiring the page lock. This change merely adds the structure and updates references to atomic state fields. No functional change intended. Reviewed by: alc, jeff, kib Sponsored by: Netflix, Intel Differential Revision: https://reviews.freebsd.org/D22650 Notes: svn path=/head/; revision=355586
* Regularize my copyright noticeWarner Losh2019-12-044-7/+4
| | | | | | | | | | | | o Remove All Rights Reserved from my notices o imp@FreeBSD.org everywhere o regularize punctiation, eliminate date ranges o Make sure that it's clear that I don't claim All Rights reserved by listing All Rights Reserved on same line as other copyright holders (but not me). Other such holders are also listed last where it's clear. Notes: svn path=/head/; revision=355394
* Use uintptr_t instead of register_t * for the stack base.John Baldwin2019-12-032-3/+5
| | | | | | | | | | | | | | | | | | | - Use ustringp for the location of the argv and environment strings and allow destp to travel further down the stack for the stackgap and auxv regions. - Update the Linux copyout_strings variants to move destp down the stack as was done for the native ABIs in r263349. - Stop allocating a space for a stack gap in the Linux ABIs. This used to hold translated system call arguments, but hasn't been used since r159992. Reviewed by: kib Tested on: md64 (amd64, i386, linux64), i386 (i386, linux) Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D22501 Notes: svn path=/head/; revision=355373
* Remove "all rights reserved" from copyright for the file that Jared McNeillEmmanuel Vadot2019-12-034-4/+0
| | | | | | | own. He gave me permission to do this. Notes: svn path=/head/; revision=355358
* mips busdma: bzero map on allocRyan Libby2019-12-031-6/+1
| | | | | | | | | | | | | | | | Maps from the mips busdma dmamap_zone were not completely initialized. In particular, pagesneeded and pagesreserved were not initialized. This could cause a crash. Remove some dead fields from mips struct bus_dmamap while here. Reported by: brooks Reviewed by: ian Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D22638 Notes: svn path=/head/; revision=355343
* Remove two obsolete comments that reference splhigh/splx.Warner Losh2019-11-211-7/+0
| | | | Notes: svn path=/head/; revision=354972
* Combine ELF sysvecs for MIPS to reduce code duplication.John Baldwin2019-11-151-62/+13
| | | | | | | | | | Reviewed by: brooks, kevans Tested on: mips, mips64 Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D22357 Notes: svn path=/head/; revision=354744
* Add a sv_copyout_auxargs() hook in sysentvec.John Baldwin2019-11-152-0/+3
| | | | | | | | | | | | | | | | | | Change the FreeBSD ELF ABIs to use this new hook to copyout ELF auxv instead of doing it in the sv_fixup hook. In particular, this new hook allows the stack space to be allocated at the same time the auxv values are copied out to userland. This allows us to avoid wasting space for unused auxv entries as well as not having to recalculate where the auxv vector is by walking back up over the argv and environment vectors. Reviewed by: brooks, emaste Tested on: amd64 (amd64 and i386 binaries), i386, mips, mips64 Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D22355 Notes: svn path=/head/; revision=354741
* Fix a typo in the PMAP_PTE_SET_CACHE_BITS macro.Brooks Davis2019-11-131-1/+1
| | | | | | | | | | | | | | | | The second argument should have been "pa" not "ps". It worked by accident because the argument was always "pa" which was an in-scope local variable. Submitted by: sson Reviewed by: jhb, kevans Obtained from: CheriBSD MFC after: 3 days Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D22338 Notes: svn path=/head/; revision=354688
* Remove an outdated assertion.Brooks Davis2019-11-041-1/+0
| | | | | | | | | | | The exclusive lock assertion became incorrect due to changes in lock scope in r354155. Discussed with: jeffr Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=354340
* Remove page locking from pmap_mincore().Mark Johnston2019-10-161-11/+8
| | | | | | | | | | | | | | | | | | After r352110 the page lock no longer protects a page's identity, so there is no purpose in locking the page in pmap_mincore(). Instead, if vm.mincore_mapped is set to the non-default value of 0, re-lookup the page after acquiring its object lock, which holds the page's identity stable. The change removes the last callers of vm_page_pa_tryrelock(), so remove it. Reviewed by: kib Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D21823 Notes: svn path=/head/; revision=353670
* Use -march=octeon+ for OCTEON1.John Baldwin2019-10-151-1/+1
| | | | | | | | | | External binutils requires octeon+ for saa. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D22033 Notes: svn path=/head/; revision=353576
* Fix a write-only variable warning from external GCC.John Baldwin2019-10-151-2/+1
| | | | | | | | Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D22032 Notes: svn path=/head/; revision=353574
* Don't set the OUTPUT_FORMAT explicitly but let ld derive it.John Baldwin2019-10-151-1/+1
| | | | | | | | | | | This fixes an error with modern ld.bfd and is inline with the changes in r215251 and r217612. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D22031 Notes: svn path=/head/; revision=353573
* Update MIPS kernel builds to work with mips-gcc.John Baldwin2019-10-159-11/+5
| | | | | | | | | | | | | | | | | - Use a default -march of mips64 on N64 and N32 kernels. - Set the endianness (via MIPS_ENDIAN) and ABI (via MIPS_ABI) in CFLAGS from MACHINE_ARCH. ARCH_FLAGS now only sets a different -march value if needed. - TRAMP_ARCH_FLAGS inherits MIPS_ENDIAN from MACHINE_ARCH but does not set the ABI since XLPN32 needs an N64 ABI for the trampoline loader. When TRAMP_ARCH_FLAGS is used it must set both -march and -mabi. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D22030 Notes: svn path=/head/; revision=353572
* (6/6) Convert pmap to expect busy in write related operations now that allJeff Roberson2019-10-151-20/+7
| | | | | | | | | | | | | | callers hold it. This simplifies pmap code and removes a dependency on the object lock. Reviewed by: kib, markj Tested by: pho Sponsored by: Netflix, Intel Differential Revision: https://reviews.freebsd.org/D21596 Notes: svn path=/head/; revision=353541
* (3/6) Add a shared object busy synchronization mechanism that blocks new pageJeff Roberson2019-10-151-2/+2
| | | | | | | | | | | | | | | | | busy acquires while held. This allows code that would need to acquire and release a very large number of page busy locks to use the old mechanism where busy is only checked and not held. This comes at the cost of false positives but never false negatives which the single consumer, vm_fault_soft_fast(), handles. Reviewed by: kib Tested by: pho Sponsored by: Netflix, Intel Differential Revision: https://reviews.freebsd.org/D21592 Notes: svn path=/head/; revision=353538
* add atomic_load_64 for mipsn32Andriy Gapon2019-10-071-0/+4
| | | | | | | | | It's just an alias for atomic_load_acq_64 (same as on i386). MFC after: 1 week Notes: svn path=/head/; revision=353166
* mips: use generic sub-word atomic *cmpsetKyle Evans2019-10-021-68/+74
| | | | | | | | | | Most of this diff is refactoring to reduce duplication between the different acq_ and rel_ variants. Differential Revision: https://reviews.freebsd.org/D21822 Notes: svn path=/head/; revision=353016
* mips: fcmpset: do not spin on sc failureKyle Evans2019-10-021-12/+18
| | | | | | | | | | | | | | For ll/sc architectures, atomic(9) allows failure modes where *old == val due to write failure and callers should compensate for this. Do not retry on failure, just leave 0 in ret and fail the operation if we couldn't sc it. This lets the caller determine if it should retry or not. Reviewed by: kib Looks ok: imp Differential Revision: https://reviews.freebsd.org/D21836 Notes: svn path=/head/; revision=353008
* Improve MD page fault handlers.Konstantin Belousov2019-09-271-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Centralize calculation of signal and ucode delivered on unhandled page fault in new function vm_fault_trap(). MD trap_pfault() now almost always uses the signal numbers and error codes calculated in consistent MI way. This introduces the protection fault compatibility sysctls to all non-x86 architectures which did not have that bug, but apparently they were already much more wrong in selecting delivered signals on protection violations. Change the delivered signal for accesses to mapped area after the backing object was truncated. According to POSIX description for mmap(2): The system shall always zero-fill any partial page at the end of an object. Further, the system shall never write out any modified portions of the last page of an object which are beyond its end. References within the address range starting at pa and continuing for len bytes to whole pages following the end of an object shall result in delivery of a SIGBUS signal. An implementation may generate SIGBUS signals when a reference would cause an error in the mapped object, such as out-of-space condition. Adjust according to the description, keeping the existing compatibility code for SIGSEGV/SIGBUS on protection failures. For situations where kernel cannot handle page fault due to resource limit enforcement, SIGBUS with a new error code BUS_OBJERR is delivered. Also, provide a new error code SEGV_PKUERR for SIGSEGV on amd64 due to protection key access violation. vm_fault_hold() is renamed to vm_fault(). Fixed some nits in trap_pfault()s like mis-interpreting Mach errors as errnos. Removed unneeded truncations of the fault addresses reported by hardware. PR: 211924 Reviewed by: alc Discussed with: jilles, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D21566 Notes: svn path=/head/; revision=352807
* Complete the removal of the "wire_count" field from struct vm_page.Mark Johnston2019-09-251-13/+13
| | | | | | | | | | | | Convert all remaining references to that field to "ref_count" and update comments accordingly. No functional change intended. Reviewed by: alc, kib Sponsored by: Intel, Netflix Differential Revision: https://reviews.freebsd.org/D21768 Notes: svn path=/head/; revision=352688
* mips: fix XLPN32 after r352434Kyle Evans2019-09-231-0/+1
| | | | | | | | | | | SYSINIT usage was added, but the <sys/kernel.h> dependency was not added. This worked by coincidence, as most of the mips configs have DDB enabled and pmap.c gets <sys/kernel.h> via ddb.h pollution. Reported by: dim Notes: svn path=/head/; revision=352619
* octeon1: suppress a couple of warnings under clangKyle Evans2019-09-221-0/+1
| | | | | | | | | | | These appear in octeon-sdk -- there are new releases, but they don't seem to address the running issues in octeon-sdk. GCC4.2 is more than happy, but clang is much less-so and most of them are fairly innocuous and perhaps a by-product of their style guide, which may make some of the changes harder to upstream (if this is even possible anymore). Notes: svn path=/head/; revision=352604
* mips: move support for temporary mappings above KSEG0 to per-CPU dataJason A. Harmening2019-09-172-120/+91
| | | | | | | | | | | | This is derived from similar work done in r310481 for i386 and r312610 for armv6/armv7. Additionally, use a critical section to keep the thread pinned for per-CPU operations instead of completely disabling local interrupts. No objections from: adrian, jmallett, imp Differential Revision: https://reviews.freebsd.org/D18593 Notes: svn path=/head/; revision=352434
* Revert r352406, which contained changes I didn't intend to commit.Mark Johnston2019-09-161-5/+5
| | | | Notes: svn path=/head/; revision=352407
* Fix a couple of nits in r352110.Mark Johnston2019-09-161-5/+5
| | | | | | | | | | | | | - Remove a dead variable from the amd64 pmap_extract_and_hold(). - Fix grammar in the vm_page_wire man page. Reported by: alc Reviewed by: alc, kib Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D21639 Notes: svn path=/head/; revision=352406
* Change synchonization rules for vm_page reference counting.Mark Johnston2019-09-091-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are several mechanisms by which a vm_page reference is held, preventing the page from being freed back to the page allocator. In particular, holding the page's object lock is sufficient to prevent the page from being freed; holding the busy lock or a wiring is sufficent as well. These references are protected by the page lock, which must therefore be acquired for many per-page operations. This results in false sharing since the page locks are external to the vm_page structures themselves and each lock protects multiple structures. Transition to using an atomically updated per-page reference counter. The object's reference is counted using a flag bit in the counter. A second flag bit is used to atomically block new references via pmap_extract_and_hold() while removing managed mappings of a page. Thus, the reference count of a page is guaranteed not to increase if the page is unbusied, unmapped, and the object's write lock is held. As a consequence of this, the page lock no longer protects a page's identity; operations which move pages between objects are now synchronized solely by the objects' locks. The vm_page_wire() and vm_page_unwire() KPIs are changed. The former requires that either the object lock or the busy lock is held. The latter no longer has a return value and may free the page if it releases the last reference to that page. vm_page_unwire_noq() behaves the same as before; the caller is responsible for checking its return value and freeing or enqueuing the page as appropriate. vm_page_wire_mapped() is introduced for use in pmap_extract_and_hold(). It fails if the page is concurrently being unmapped, typically triggering a fallback to the fault handler. vm_page_wire() no longer requires the page lock and vm_page_unwire() now internally acquires the page lock when releasing the last wiring of a page (since the page lock still protects a page's queue state). In particular, synchronization details are no longer leaked into the caller. The change excises the page lock from several frequently executed code paths. In particular, vm_object_terminate() no longer bounces between page locks as it releases an object's pages, and direct I/O and sendfile(SF_NOCACHE) completions no longer require the page lock. In these latter cases we now get linear scalability in the common scenario where different threads are operating on different files. __FreeBSD_version is bumped. The DRM ports have been updated to accomodate the KPI changes. Reviewed by: jeff (earlier version) Tested by: gallatin (earlier version), pho Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D20486 Notes: svn path=/head/; revision=352110
* mips: fix some mcount nitsKyle Evans2019-09-021-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The symbol version for _mcount was removed 12 years ago in r169525 from gmon/Symbol.map, to be added to the per-arch Symbol.map. mips was overlooked in this, so _mcount has no symver. Add it back to where it should have been, rather than where it would go if it were added today, since we're correcting a historical mistake. Additionally, _mcount is getting thrown into .mdebug.abi32 in the llvm80/90 world as it's not getting explicitly thrown into .text, so do this now. This fixes the libc build that was previously failing due to relocations in .mdebug.abi32. This is specifically due to the way clang's integrated AS works and that they emit the .mdebug.abiNN section early in the process. An LLVM bug has been submitted[0] and an agreement has been made that the mips backend should switch to .text following .mdebug.abiNN for compatibility. [0] https://bugs.llvm.org/show_bug.cgi?id=43119 Reviewed by: imp, arichardson MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D21435 Notes: svn path=/head/; revision=351681
* Centralize __pcpu definitions.Konstantin Belousov2019-08-291-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | Many extern struct pcpu <something>__pcpu declarations were copied/pasted in sources. The issue is that the definition is MD, but it cannot be provided by machine/pcpu.h due to actual struct pcpu defined in sys/pcpu.h later than the inclusion of machine/pcpu.h. This forced the copying when other code needed direct access to __pcpu. There is no way around it, due to machine/pcpu.h supplying part of struct pcpu fields. To work around the problem, add a new machine/pcpu_aux.h header, which should fill any needed MD definitions after struct pcpu definition is completed. This allows to remove copies of __pcpu spread around the source. Also on x86 it makes it possible to remove work arounds like OFFSETOF_CURTHREAD or clang specific warnings supressions. Reported and tested by: lwhsu, bcran Reviewed by: imp, markj (previous version) Discussed with: jhb Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D21418 Notes: svn path=/head/; revision=351594
* mips: hide regnum definitions behind _KERNEL/_WANT_MIPS_REGNUMKyle Evans2019-08-221-5/+6
| | | | | | | | | | | | | | | | | | | machine/regnum.h ends up being included by sys/procfs.h and sys/ptrace.h via machine/reg.h. Many of the regnum definitions are too short and too generic to be exposing to any userland application including one of these two headers. Moreover, these actively cause build failures in googletest (template <typename T1 ...> expanding to template <typename 9 ...>). Hide the definitions behind _KERNEL or _WANT_MIPS_REGNUM, and patch all of the userland consumers to define as needed. Discussed with: imp, jhb Reviewed by: imp, jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D21330 Notes: svn path=/head/; revision=351409
* mips: avoid empty mdproc structKyle Evans2019-08-191-1/+2
| | | | | | | | Compiling with a more modern toolchain than GCC 4.2 in base warns about the empty struct. Take a hint and comment from r350902+r350953 by luporl@. Notes: svn path=/head/; revision=351227
* Move phys_avail definition into MI code. It is consumed in the MI layer andJeff Roberson2019-08-1613-15/+24
| | | | | | | | | | | doing so adds more flexibility with less redundant code. Reviewed by: jhb, markj, kib Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D21250 Notes: svn path=/head/; revision=351108
* Avoid relying on header pollution from sys/refcount.h.Mark Johnston2019-07-291-0/+1
| | | | | | | | MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=350421
* o Add support for BERI IOMMU deviceRuslan Bukin2019-07-222-0/+238
| | | | | | | | | | | | | | | | o Add an experimental IOMMU support to xDMA framework The BERI IOMMU device is the part of CHERI device-model project [1]. It translates memory addresses for various BERI peripherals modelled in software. It accepts FreeBSD/mips64 page directories format and manages BERI TLB. 1. https://github.com/CTSRD-CHERI/device-model Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=350212
* Don't pass error from syscallenter() to syscallret().John Baldwin2019-07-151-4/+2
| | | | | | | | | | | | | | | syscallret() doesn't use error anymore. Fix a few other places to permit removing the return value from syscallenter() entirely. - Remove a duplicated assertion from arm's syscall(). - Use td_errno for amd64_syscall_ret_flush_l1d. Reviewed by: kib MFC after: 1 month Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D2090 Notes: svn path=/head/; revision=350013
* Provide protection against starvation of the ll/sc loops when accessing ↵Konstantin Belousov2019-07-121-18/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | userpace. Casueword(9) on ll/sc architectures must be prepared for userspace constantly modifying the same cache line as containing the CAS word, and not loop infinitely. Otherwise, rogue userspace livelocks the kernel. To fix the issue, change casueword(9) interface to return new value 1 indicating that either comparision or store failed, instead of relying on the oldval == *oldvalp comparison. The primitive no longer retries the operation if it failed spuriously. Modify callers of casueword(9), all in kern_umtx.c, to handle retries, and react to stops and requests to terminate between retries. On x86, despite cmpxchg should not return spurious failures, we can take advantage of the new interface and just return PSL.ZF. Reviewed by: andrew (arm64, previous version), markj Tested by: pho Reported by: https://xenbits.xen.org/xsa/advisory-295.txt Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D20772 Notes: svn path=/head/; revision=349951
* Fix compile errors with the CI20Warner Losh2019-07-103-1/+4
| | | | | | | | | | | Fix mutex includes and fix a typo. The CI20 kernel is not built as part of universe. PR: 239115 Submitted by: Kai Nacke Notes: svn path=/head/; revision=349889
* Merge the vm_page hold and wire mechanisms.Mark Johnston2019-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The hold_count and wire_count fields of struct vm_page are separate reference counters with similar semantics. The remaining essential differences are that holds are not counted as a reference with respect to LRU, and holds have an implicit free-on-last unhold semantic whereas vm_page_unwire() callers must explicitly determine whether to free the page once the last reference to the page is released. This change removes the KPIs which directly manipulate hold_count. Functions such as vm_fault_quick_hold_pages() now return wired pages instead. Since r328977 the overhead of maintaining LRU for wired pages is lower, and in many cases vm_fault_quick_hold_pages() callers would swap holds for wirings on the returned pages anyway, so with this change we remove a number of page lock acquisitions. No functional change is intended. __FreeBSD_version is bumped. Reviewed by: alc, kib Discussed with: jeff Discussed with: jhb, np (cxgbe) Tested by: pho (previous version) Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D19247 Notes: svn path=/head/; revision=349846
* Implement missing MMCBR ivarsWarner Losh2019-07-041-2/+14
| | | | | | | | | | All MMCBR bridges have to implement all the MMCBR variables. This implements them for everybody that currently doesn't. A common routine for this should be written. Notes: svn path=/head/; revision=349728
* Display the approximate space needed when a minidump fails due to lackNavdeep Parhar2019-06-301-3/+4
| | | | | | | | | | | | of space. Reviewed by: kib@ MFC after: 2 weeks Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D20801 Notes: svn path=/head/; revision=349552
* Add support for extended descriptor format to Altera mSGDMA driver.Ruslan Bukin2019-06-271-0/+1
| | | | | | | | | | | | The format to use depends on hardware configuration (synthesis-time), so make it compile-time kernel option. Extended format allows DMA engine to operate with 64-bit memory addresses. Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=349466
* sys: Remove DEV_RANDOM device optionConrad Meyer2019-06-2118-26/+2
| | | | | | | | | | | | | | Remove 'device random' from kernel configurations that reference it (most). Replace perhaps mistaken 'nodevice random' in two MIPS configs with 'options RANDOM_LOADABLE' instead. Document removal in UPDATING; update NOTES and random.4. Reviewed by: delphij, markm (previous version) Approved by: secteam(delphij) Differential Revision: https://reviews.freebsd.org/D19918 Notes: svn path=/head/; revision=349253
* Replace uses of vm_page_unwire(m, PQ_NONE) with vm_page_unwire_noq(m).Mark Johnston2019-06-071-1/+1
| | | | | | | | | | | | | | | These calls are not the same in general: the former will dequeue the page if it is enqueued, while the latter will just leave it alone. But, all existing uses of the former apply to unmanaged pages, which are never enqueued in the first place. No functional change intended. Reviewed by: kib MFC after: 1 week Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D20470 Notes: svn path=/head/; revision=348785
* octusb: fix detach loop over USB portsEd Maste2019-06-011-2/+2
| | | | | | | | MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=348497
* Display CPU model in dmesg on mips targetsWarner Losh2019-05-242-0/+6
| | | | | | | | | | Also, save the CPU model for atheros ar531x boards. Submitted by: Hiroki Mori Differential Revision: https://reviews.freebsd.org/D20371 Notes: svn path=/head/; revision=348217
* Delete unneeded #include <sys/inflate.h> from sys/mips.Xin LI2019-05-231-1/+0
| | | | | | | | | | PR: 229763 Submitted by: Yoshihiro Ota <ota at j.email.ne.jp> Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D20190 Notes: svn path=/head/; revision=348148