summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* MFC r261178:pfg2014-01-313-3/+13
| | | | | | | | | | gcc: Add support for -Wmissing-prototypes in C++ Support for warnings about missing prototypes in C++ was added by Apple GCC (Radar 6261539). Most of the code crept into r260311 so it felt natural to make use of it. Obtained from: Apple GCC - 5646
* MFC 261216:jhb2014-01-301-1/+15
| | | | | Explicitly enable I/O and memory decoding in the bridge's command register when activating an I/O or memory window on the CardBus bridge.
* MFC r261084:ae2014-01-301-33/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | malloc() with M_WAITOK doesn't return NULL. MFC r261085: Fix typo in r261084. Add to the gctl_error() an ability to specify error description even if numeric error code is already specified. Also by default set error code to EINVAL. PR: 185852 MFC r261086: In gctl_copyin() remove unused error variable. geom_alloc_copyin() can't return ENOMEM, so describe its fail as bad control request. Add check for NULL pointer in gctl_dump(), since it can be NULL when geom_alloc_copyin() failed. MFC r261089: Remove another unneeded NULL check from geom_alloc_copyin(). Do copyout in case of gctl version mismatch and fix sbuf leak in g_ctl_ioctl_ctl(). MFC r261091: Always free sbuf in gctl_free().
* Update EINVAL description.pluknet2014-01-301-2/+2
|
* MFC r256939brooks2014-01-291-0/+1
| | | | | | | | | | | | | | | MFP4: Change 221767 by rwatson@rwatson_zenith_cl_cam_ac_uk on 2013/02/05 14:18:53 When printing out information on a TLB MOD exception for a user process (e.g., an attempt to write to a read-only page), report it as a "write" in the console message, rather than "unknown". Change 221768 by rwatson@rwatson_zenith_cl_cam_ac_uk on 2013/02/05 14:28:00 Fix post-compile but pre-commit typo in last changeset. Sponsored by: DARPA/AFRL
* MFC r256937:brooks2014-01-293-31/+34
| | | | | | | | | | | | | | MFP4: Change 231031 by brooks@brooks_zenith on 2013/07/11 16:22:08 Turn the unused and uncompilable MIPS_DISABLE_L1_CACHE define in cache.c into an option and when set force I- and D-cache line sizes to 0 (the latter part might be better as a tunable). Fix some casts in an #if 0'd bit of code which attempts to disable L1 cache ops when the cache is coherent. Sponsored by: DARPA/AFRL
* MFC r256945:brooks2014-01-291-1/+1
| | | | | | | | | | | MFP4: Change 221669 by bz@bz_zenith on 2013/02/01 12:26:04 Run the initialization for polling earlier along with INTRs so that we can put network interface into polling mode by default if DEVICE_POLLING is compiled in and no interrupts are available. Sponsored by: DARPA/AFRL
* MFC 259782:jhb2014-01-298-0/+39
| | | | | | Add a resume hook for bhyve that runs a function on all CPUs during resume. For Intel CPUs, invoke vmxon for CPUs that were in VMX mode at the time of suspend.
* MFC r256745:brooks2014-01-291-3/+8
| | | | | | | | | | MFP4: Change 227630 by bz@bz_zenith on 2013/04/12 08:50:27 Implement soft reset setting sr in sr and just in case loop endlessly afterwards. Sponsored by: DARPA/AFRL
* MFC 260206:jhb2014-01-2912-115/+417
| | | | | | Rework the DSDT generation code a bit to generate more accurate info about LPC devices. Among other things, the LPC serial ports now appear as ACPI devices.
* MFC r260267 (by smh), r261042:mav2014-01-291-9/+9
| | | | | | Correct short delete issue in SCSI UNMAP support Correct missing \n's in xpt_print's Correct incorrect count being passed to short delete xpt_print
* MFC 260910:jhb2014-01-282-29/+130
| | | | | | | | | - Allow PCI devices that are attached to a driver to be identified by their device name instead of just the selector. - Accept an optional device argument to -l to restrict the output to only listing details about a single device. This is mostly useful in conjunction with other flags like -e or -c to allow a user to query details about a single device.
* Merge /head:261072: Remove WITHOUT_ATF from src.conf.5skreuzer2014-01-283-10/+4
| | | | Approved by: hrs (mentor)
* MFC: r261146ache2014-01-281-20/+7
| | | | | | | | | Bad timespec_subtract() calculations produce negative tv_nsec on i386 which cause EINVAL returned from nanosleep() which cause loop in cron_sleep() and making all cron jobs to start about 30 seconds earlier (which cause f.e. logfiles rotation by newsyslog delayed by 1 hour). Use simple and proved calculations from kernel's timespecsub() instead.
* MFC r261162:dim2014-01-281-1/+5
| | | | | | | | | | | | | | | | | | | Pull in r195679 from upstream llvm trunk: Don't use nopl in cpus that don't support it. Patch by Mikulas Patocka. I added the test. I checked that for cpu names that gas knows about, it also doesn't generate nopl. The modified cpus: i686 - there are i686-class CPUs that don't have nopl: Via c3, Transmeta Crusoe, Microsoft VirtualBox - see https://bbs.archlinux.org/viewtopic.php?pid=775414 k6, k6-2, k6-3, winchip-c6, winchip2 - these are 586-class CPUs via c3 c3-2 - see https://bugs.archlinux.org/task/19733 as a proof that Via c3 and c3-Nehemiah don't have nopl PR: bin/185777
* MFC r260485,260496:ae2014-01-282-165/+146
| | | | | | | Remove extra nesting from X_ip6_mforward() function. Also remove disabled definitions from ip6_mroute.h. PR: 185148
* Merge 261024: fix PIM input regression.glebius2014-01-271-5/+3
|
* Merged /head:r256510,256512,257376,257469,260052:glebius2014-01-277-469/+314
| | | | Make 'netstat -i' use getifaddrs(3) instead of kvm(3).
* MFC r260311, r260831:pfg2014-01-2667-405/+10012
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc: Add support for Apple's Block extension Block objects [1] are a C-level syntactic and runtime feature. They are similar to standard C functions, but in addition to executable code they may also contain variable bindings to automatic (stack) or managed (heap) memory. A block can therefore maintain a set of state (data) that it can use to impact behavior when executed. This port is based on Apple's GCC 5646 with some bugfixes from Apple GCC 5666.3. It has some small differences with the support in clang, which remains the recommended compiler. Perhaps the most notable difference is that in GCC __block is not actually a keyword, but a macro. There may be workaround for this issue in the future. Other issues can be consulted in the clang documentation [2] For better compatiblity with Apple's GCC and llvm-gcc, some related fixes and features from Apple have been included. Support for the non-standard nested functions in GCC is now off by default. No effort was made to update the ObjC support since FreeBSD doesn't carry ObjC in the base system but some of the code crept in and was more difficult to remove than to adjust. References: [1] https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Blocks/Articles/00_Introduction.html [2] http://clang.llvm.org/compatibility.html#block-variable-initialization Obtained from: Apple GCC 4.2
* MFC r260872:jhibbits2014-01-261-1/+1
| | | | | There's actually no data in the PMU_GET_VERSION command. Don't send any. This change now allows the PMU to be used on PowerBook5,8
* Merge r260987:demon2014-01-251-1/+3
| | | | | | | Do not exit with non-zero return code if sysctl.conf or sysctl.conf.local files are absent. Approved by: delphij
* MFC r260549:mav2014-01-251-6/+2
| | | | | | | | | Move xpt_run_devq() call before request completion callback where it was originally. I am not sure why exactly have I moved it during one of many refactorings during camlock project, but obviously it opens race window that may cause use after free panics during SIM (in reported cases umass(4)) detach.
* Implicit include of sys/queue.h instead of relying on gelf.h/libelf.h to ↵bapt2014-01-251-0/+1
| | | | | | | | bring it Newer version of gelf.h and libelf.h does not include sys/queue.h anymore Submitted by: kaiw
* MFH: r261027bapt2014-01-251-9/+0
| | | | | | Remove pkg_* related info from periodic.conf Reported by Robin Brocks <robin.brocks@brocks.de>
* MFC r257132:hselasky2014-01-241-0/+1
| | | | | Add id for GTM661W. This also fixes kernel build breakage since last revision.
* MFC r260534:hselasky2014-01-241-0/+2
| | | | Move USB ID from u3g driver to uhso driver.
* MFC r258545:hselasky2014-01-241-1/+5
| | | | | Comply to the XHCI specification. Certain input context fields should always be zero.
* MFC r260808 and r260814:hselasky2014-01-242-26/+31
| | | | | | | | | - Close a minor deadlock. - Fix a possible memory use after free and leak situation associated with USB device detach when using character device handles. This also includes LibUSB. It turns out that "usb_close()" cannot always get a reference to clean up its USB transfers and such, if called during the kernel USB device detach.
* MFC r260588 and r260589:hselasky2014-01-248-30/+318
| | | | | | | | | | - Separate I/O errors from reception of STALL PID. - Implement better error recovery for Transaction Translators, TTs, found in High Speed USB HUBs which translate from High Speed USB into FULL or LOW speed USB. In some rare cases SPLIT transactions might get lost, which might leave the TT in an unknown state. Whenever we detect such an error try to issue either a clear TT buffer request, or if that is not possible reset the whole TT.
* MFC r260563:hselasky2014-01-241-3/+26
| | | | | Make sure reserved fields of the EHCI DMA descriptors are not dirty after previous transfers.
* MFC r260559:hselasky2014-01-241-22/+13
| | | | | Don't do synchronous USB requests inside USB transfer callbacks. It is technically OK, but not recommended.
* MFC r260388, r260535 and r260536:hselasky2014-01-241-10/+12
| | | | Fix XHCI interrupt logic for "Intel Lynx Point" found in MBP2013.
* MFC r260521:mav2014-01-241-1/+6
| | | | | | | | | Remove not applicable PI_SDTR_ABLE and PI_WIDE_16 hba_inquiry flags to make CAM to not try negotiate unsupported settings and suppress warnings. While there, enable command queuing on pass-through devices, announced in hba_inquiry, but disabled. Even though queue size is very small, It seems working well enough.
* MFC 259826,259997,259998:jhb2014-01-2310-39/+371
| | | | | | | | | | | | | | | | | Support soft power-off via the ACPI S5 state for bhyve guests and wire up a virtual power button to SIGTERM: - Implement the PM1_EVT and PM1_CTL registers required by ACPI. - Emulate the Reset Control register at I/O port 0xcf9. - Advertise an _S5 package. - Implement an SMI_CMD register with commands to enable and disable ACPI. Currently the only change when ACPI is enabled is to enable the virtual power button via SIGTERM. - Implement a fixed-feature power button when ACPI is enabled by asserting PWRBTN_STS in PM1_EVT when SIGTERM is received. - Add support for EVFILT_SIGNAL events to mevent. - Implement support for the ACPI system command interrupt (SCI) and assert it when needed based on the values in PM1_EVT. Mark the SCI as active-low and level triggered in the MADT and MP Table.
* MFC 257422,257661,258075,258476,258494,258579,258609,258699:jhb2014-01-2328-849/+1653
| | | | | | | | | | Several enhancements to the I/O APIC support in bhyve including: - Move the I/O APIC device model from userspace into vmm.ko and add ioctls to assert and deassert I/O APIC pins. - Add HPET device emulation including a single timer block with 8 timers. - Remove the 'vdev' abstraction. Approved by: neel
* MFC r256959:loos2014-01-237-0/+643
| | | | | | | | | | | | | | | | | | | | | | | Add the Raspberry Pi BSC (I2C compliant) controller driver. Reviewed by: rpaulo MFC r256961: Enable the build of OFW I2C bus for FDT systems. MFC r258045: As all the IIC controllers on system uses the same 'iichb' prefix we cannot rely only on checking the device unit to indentify the BSC unit we are attaching to. Make use of the device base address to identify our BSC unit. MFC r259127: Bring the RPi I2C driver in line with ti_i2c. Make it treat any slave address as a 7-bit address. Approved by: adrian (mentor)
* MFC r257127:loos2014-01-238-21/+0
| | | | | | | Remove all the instances of '#undef DEBUG' from kernel. Suggested by: rpaulo Approved by: adrian (mentor)
* MFC r260229, r260258, r260367, r260390, r260459, r260648:mav2014-01-2210-181/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rework NFS Duplicate Request Cache cleanup logic. - Introduce additional hash to group requests by hash of sockref. This allows to process TCP acknowledgements without looping though all the cache, and as result allows to do it every time. - Indroduce additional callbacks to notify application layer about sockets disconnection. Without this last few requests processed just before socket disconnection never processed their ACKs and stuck in cache for many hours. - Implement transport-specific method for tracking reply acknowledgements. New implementation does not cross multiple stack layers to get the data and does not have race conditions that previously made some requests stuck in cache. This could be done more efficiently at sockbuf layer, but that would broke some KBIs, while I don't know other consumers for it aside NFS. - Instead of traversing all DRC twice per request, run cleaning only once per request, and except in some conditions traverse only single hash slot at a time. Together this limits NFS DRC growth only to situations of real connectivity problems. If network is working well, and so all replies are acknowledged, cache remains almost empty even after hours of heavy load. Without this change on the same test cache was growing to many thousand requests even with perfectly working local network. As another result this reduces CPU time spent on the DRC handling during SPEC NFS benchmark from about 10% to 0.5%. Sponsored by: iXsystems, Inc.
* MFC r260097:mav2014-01-224-129/+130
| | | | | | | Move most of NFS file handle affinity code out of the heavily congested global RPC thread pool lock and protect it with own set of locks. On synthetic benchmarks this improves peak NFS request rate by 40%.
* MFC r260036:mav2014-01-224-11/+25
| | | | | | Introduce xprt_inactive_self() -- variant for use when sure that port is assigned to thread. For example, withing receive handlers. In that case the function reduces to single assignment and can avoid locking.
* MFC r260031:mav2014-01-221-1/+9
| | | | | In addition to r259632 completely block receive upcalls if we have more data than we need. This reduces lock pressure from xprt_active() side.
* MFC r259877:mav2014-01-221-12/+20
| | | | | | | | Slightly simplify expiration logic introduced in r254337. - Do not update the histogram for items we are any way deleting from cache. - Do not update the histogram if nfsrc_tcphighwater is not set. - Remove some extra math operations.
* MFC r259828:mav2014-01-221-4/+7
| | | | Fix a bug introduced at r259632, triggering infinite loop in some cases.
* MFC r259765:mav2014-01-224-15/+40
| | | | | | | | | | | | Fix RPC server threads file handle affinity to work better with ZFS. Instead of taking 8 specific bytes of file handle to identify file during RPC thread affitinity handling, use trivial hash of the full file handle. ZFS's struct zfid_short does not have padding field after the length field, as result, originally picked 8 bytes are loosing lower 16 bits of object ID, causing many false matches and unneeded requests affinity to same thread. This fix substantially improves NFS server latency and scalability in SPEC NFS benchmark by more flexible use of multiple NFS threads.
* MFC r259659, r259662:mav2014-01-223-57/+47
| | | | | | | | | | | | | Remove several linear list traversals per request from RPC server code. Do not insert active ports into pool->sp_active list if they are success- fully assigned to some thread. This makes that list include only ports that really require attention, and so traversal can be reduced to simple taking the first one. Remove idle thread from pool->sp_idlethreads list when assigning some work (port of requests) to it. That again makes possible to replace list traversals with simple taking the first element.
* MFC r259632:mav2014-01-221-128/+115
| | | | | | | | | | | | | | | | | | | | | Rework flow control for connection-oriented (TCP) RPC server. When processing receive buffer, write the amount of data, expected in present request record, into socket's so_rcv.sb_lowat to make stack aware about our needs. When processing following upcalls, ignore them until socket collect enough data to be read and processed in one turn. This change reduces number of context switches and other operations in RPC stack during large NFS writes (especially via non-Jumbo networks) by order of magnitude. After precessing current packet, take another look into the pending buffer to find out whether the next packet had been already received. If not, deactivate this port right there without making RPC code to push this port to another thread just to find that there is nothing. If the next packet is received partially, also deactivate the port, but also update socket's so_rcv.sb_lowat to not be woken up prematurely. This change additionally reduces number of context switches per NFS request about in half.
* MFC r258578, r258580, r258581 (by hrs):mav2014-01-22107-2875/+2697
| | | | | Replace Sun RPC license in TI-RPC library with a 3-clause BSD license with the explicit permissions.
* MFC r258132:mav2014-01-221-21/+27
| | | | | | | | Some minor tuning to rpc/svc.c: - close cosmetic race in svc_exit(); - do not set wait timeout for idle threads if we have no use for wakeups; - create new requested thread sooner, not only after some another thread wakeup, that may happen later under constant load.
* Merge r260377: fix panic on pf_get_translation() failure.glebius2014-01-221-0/+1
| | | | PR: 182557
* Merge r260046: Fix the parse type for NGM_LISTTYPES.glebius2014-01-221-2/+2
|
OpenPOWER on IntegriCloud