summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Tie in the AR933x support into -HEAD.adrian2013-03-282-3/+19
|
* Bring over the initial, CPU-only UART support for the AR933x SoC.adrian2013-03-284-0/+1081
| | | | | | | | | | | | | | | | | | | This implements the kernel glue needed (getc, putc, rxready). This isn't a 16550 UART, even if the datasheet overview claims so. The Linux ar933x support was used as a reference, however the uart code is a reimplementation. Attentive viewers will note that the uart code is based off of the ns8250 code and the UART bus code is a stubbed-out version of this. I'll be replacing it with non-stubbed versions soon, making this a fully featured driver. Tested: * AP121 reference board (AR933x), booting through the mountroot> prompt; then doing some basic interactive tests in ddb.
* Update hwpmc to support Haswell class processors.sbruno2013-03-289-187/+1809
| | | | | | | | | | | | 0x3C: /* Per Intel document 325462-045US 01/2013. */ Add manpage to document all the goodness that is available in this processor model. Submitted by: hiren panchasara <hiren.panchasara@gmail.com> Reviewed by: jimharris, sbruno Obtained from: Yahoo! Inc. MFC after: 2 weeks
* Add the "-g <gdport>" option to the vmrun.sh script that enables remoteneel2013-03-281-3/+8
| | | | | | | | debugging of the guest via kgdb. See also: https://wiki.freebsd.org/BHyVe/gdb Obtained from: NetApp
* KGDB: Accept KLD symbol files with the ".symbols" extension.will2013-03-281-0/+1
| | | | | | | Submitted by: gibbs Approved by: ken (mentor) Sponsored by: Spectra Logic MFC after: 1 month
* KGDB: Allow modules to be loaded from the specified kernel's directory.will2013-03-281-1/+4
| | | | | | | | | | | | | | | | | | When looking up the absolute path for a kld, call find_kld_path() first. This enables locating the module in a different directory than the one stored in kernel memory. With this change, kgdb can now be run on a kernel & vmcore whose associated modules are located in the same directory as the kernel. This makes independent triaging of problems much easier. This change also does not break the normal kgdb use case where no arguments are specified; in that case kgdb loads the running kernel and its modules. Reviewed by: adrian Approved by: ken (mentor) Sponsored by: Spectra Logic MFC after: 1 month
* Remove obsolete comment. This code has now been tested with the QEMUjimharris2013-03-281-4/+0
| | | | NVMe device emulator.
* Delete extra IO qpairs allocated based on number of MSI-X vectors, butjimharris2013-03-281-6/+14
| | | | | | | | | | later found to not be usable because the controller doesn't support the same number of queues. This is not the normal case, but does occur with the Chatham prototype board. Sponsored by: Intel
* Several fixes and improvements to sendfile()scottl2013-03-281-7/+14
| | | | | | | | | | | | | | | | | | 1. If we wanted to send exactly as many bytes as the socket buffer is sized for, the inner loop of kern_sendfile() would see that the socket is full before seeing that it had no more bytes left to send. This would cause it to return EAGAIN to the caller instead of success. Fix by changing the order that these conditions are tested. 2. Simplify the calculation for the bytes to send in each iteration of the inner loop of kern_sendfile() 3. Fix some calls with bogus arguments to sf_buf_ext(). These would only trigger on mbuf allocation failure, but would be hilariously bad if they did trigger. Submitted by: gibbs(3), andre(2) Reviewed by: emax, andre Obtained from: Netflix MFC after: 1 week
* Add myself as ports committer.tijl2013-03-281-0/+2
| | | | Approved by: crees (mentor)
* Restore DB_COMMAND capabilities of ciss(4) for debugging and diagnosticssbruno2013-03-281-2/+5
| | | | | Obtained from: Yahoo! Inc. MFC after: 2 weeks
* Except one case mps(4) driver does not touch the data and works well withmav2013-03-281-1/+2
| | | | | | unmapped I/O. That one exception is access to INQUIRY VPD request result. Those requests are never unmapped now, but to be safe add respective check there and allow unmapped I/O for the SIM by setting PIM_UNMAPPED flag.
* Fix compile of ciss(4) with CISS_DEBUG definedsbruno2013-03-281-1/+1
| | | | | Obtained from: Yahoo! Inc. MFC after: 2 weeks
* rc.subr: disabling globbing while processing devfs rulesavg2013-03-281-1/+7
| | | | | | | | The rules themselves typically have shell-like patterns and it is incorrect when they get replaced with matching filesystem entries. Shell magic by: jilles MFC after: 2 weeks
* Release the v_writecount reference on the vnode in case of error,kib2013-03-281-0/+4
| | | | | | | | | | | | | before the vnode is vput() in vm_mmap_vnode(). Error return means that there is no use reference on the vnode from the vm object reference, and failing to restore v_writecount breaks the invariant that v_writecount is less or equal to the usecount. The situation observed when nfs client returns ESTALE for VOP_GETATTR() after the open. In collaboration with: pho MFC after: 1 week
* Fix the AR933x platform device start/stop code.adrian2013-03-281-10/+4
| | | | | | | | | | | | This was ported from the AR724x code and I think that also doesn't quite work. I'll investigate that soon. With this in place the system reset path works, so 'reset' from kdb actually resets the SoC. Tested: * AP121 test board
* Make sure that ${SHLIB_NAME}.debug and ${SHLIB_NAME}.symbols are alwaysmarkj2013-03-281-5/+3
| | | | | | | deleted by a "make clean" when DEBUG_FLAGS is set. Reported by: gleb Approved by: emaste (co-mentor)
* Update wiht the times.imp2013-03-281-1/+2
|
* deferal -> deferraljimharris2013-03-271-3/+3
|
* btowc(3), isblank(3): Correct prototypes for _l variants.jilles2013-03-272-3/+3
| | | | MFC after: 1 week
* Similar to r239870 and r239872, teach the other binutils tools about thedim2013-03-272-0/+9
| | | | | | | | DW_FORM_flag_present dwarf attribute, so they do not print errors or warnings on files that contain it. (This attribute can be emitted by newer versions of clang and gcc.) MFC after: 1 week
* On SIM destruction free associated CCBs, preallocated inside xpt_get_ccb().mav2013-03-271-0/+6
| | | | | | | | Before this change they were just leaked. Fortunately USB sticks now use only one CCB, and so leak was only 2KB per detach, while other bigger SIMs with much more allocated CCBs are rarely detached. MFC after: 2 weeks
* Limit the amount of video memory we map for the driver to the maximum value.jkim2013-03-271-5/+6
| | | | | | | | | | This basically restores the spirit of r203535, which was partially reverted in r205557, while we still map fixed amount to work around transient issues we experienced with r203535. Prodded by: avg Tested by: avg MFC after: 1 week
* Properly spell "Class Based Queueing"rene2013-03-271-1/+1
| | | | | | PR: www/177412 Submitted by: Oliver Loch <grimeton@gmx.net> Approved by: cognet
* Fix a typo, 'xdev-build' should be spelled with a 'd' at the end.rene2013-03-271-1/+1
| | | | Approved by: cognet
* Fix a race with the vnode reclamation in the aio_qphysio(). Obtainkib2013-03-271-6/+17
| | | | | | | | | | | | | | the thread reference on the vp->v_rdev and use the returned struct cdev *dev instead of using vp->v_rdev. Call dev_strategy_csw() instead of dev_strategy(), since we now own the reference. Since the csw was already calculated, test d_flags to avoid mapping the buffer if the driver supports unmapped requests [*]. Suggested by: kan [*] Reviewed by: kan (previous version) Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
* Add dev_strategy_csw() function, which is similar to dev_strategy()kib2013-03-273-23/+32
| | | | | | | | | | | | | | | | | but assumes that a thread reference was already obtained on the passed device. Use the function from physio(), to avoid two extra dev_mtx lock and unlock. Note that physio() is always used as the cdevsw method, or is called from a cdevsw method, and the caller already owns the reference. dev_strategy() is left to keep KPI intact, but now it is implemented as a wrapper around dev_strategy_csw(). Do some style cleanup in physio(). Requested and reviewed by: kan (previous version) Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
* On i386, double the default size of the bio transient map. With thekib2013-03-271-6/+13
| | | | | | | | maxbcache size fixed, the auto-tuned transient map is too small for real-world load on i386. Tested by: David Wolfskill Sponsored by: The FreeBSD Foundation
* Fix the VM_BCACHE_SIZE_MAX definition on i386 to match the maximalkib2013-03-271-1/+4
| | | | | | | | | | | | | | | | buffer map size, auto-tuned on the 4GB machine. Having the maxbcache bigger than the buffer map causes the transient bio map sizing logic to assume that there is enough KVA to use approximately 90MB (buffer map is sized to 110MB, and maxbcache is 200MB). The increase in the KVA usage caused other big KVA consumers, like nvidia.ko, to fail the initialization. Change the definition for both PAE and non-PAE cases, since PAE is even more KVA-starved. Reported and tested by: David Wolfskill Discussed with: alc Sponsored by: The FreeBSD Foundation
* Update to 9.8.4-P2erwin2013-03-279-12/+13
| | | | | | | | | | | Removed the check for regex.h in configure in order to disable regex syntax checking, as it exposes BIND to a critical flaw in libregex on some platforms. [RT #32688] Security: CVE-2013-2266 Approved by: delphij (mentor) Sponsored by: DK Hostmaster A/S
* Add Subsystem ID field to the quirk table. Use it to identify Mac Pro 1,1,mav2013-03-271-26/+33
| | | | | | | | which requires OVREF to be set to get proper playback volume, but which has all zeroes in HDA controller subdevice IDs on PCI. MFC after: 1 month Sponsored by:
* Add missing spacebryanv2013-03-271-1/+1
| | | | MFC after: 3 days
* Commit initial (unfinished!) support for the AR933x series of embeddedadrian2013-03-274-0/+468
| | | | | | | | | | | | | | | | | | | | | | | CPUs. The AR933x is a mips24k based SoC with an AR9380 series SoC on board, two gigabit ethernet interfaces and an internal 10/100mbit ethernet switch. There's also the normal interfaces (USB, ethernet, uart, GPIO.) The downside? There's a non-ns8250 UART device. With a very basic UART driver (not in this commit) the SoC is initialised and boots up. I'll commit the UART code soon and then link it into the general setup path. This code is a re-implementation based from the Linux kernel / openwrt AR933x support. TODO: * UART (obviously) * All of the ethernet, USB and wifi SoC glue, including ethernet PLL programming.
* Add the reference clock for each supported chip.adrian2013-03-274-0/+9
| | | | Obtained from: Linux (openwrt)
* Fix printf format issue on i386.jimharris2013-03-271-2/+3
| | | | Reported by: bz
* * Stop processing after HAL_EIO; this is what the reference driver does.adrian2013-03-271-1/+2
| | | | | * If we hit an empty queue condition (which I haven't yet root caused, grr.) .. make sure we release the lock before continuing.
* Panic should the SCI framework ever request a pointer into the ccb'sjimharris2013-03-271-3/+24
| | | | | | | | | | | data buffer for a ccb that is unmapped. This case is currently not possible, since the SCI framework only requests these pointers for doing SCSI/ATA translation of non- READ/WRITE commands. The panic is more to protect against the unlikely future scenario where additional commands could be unmapped. Sponsored by: Intel
* Loosen restrictions for quoted strings. Now we can use more complex stringsjkim2013-03-261-2/+10
| | | | | | and "escaped" quote characters. MFC after: 1 month
* Fix interval-based rotations when the -t flag is used. In this case, findmarkj2013-03-261-58/+134
| | | | | | | | | | | | | the most-recently archived logfile and use its mtime to determine whether or not to rotate, as in the non-timestamped case. Previously we would just try to use the mtime of <logfile>.0, which always results in a rotation since it generally doesn't exist in the -t case. PR: bin/166448 Approved by: emaste (co-mentor) Tested by: Marco Steinbach <coco executive-computing.de> MFC after: 2 weeks
* Report support for unmapped I/O by adding PIM_UNMAPPED flag.jimharris2013-03-262-5/+2
| | | | Submitted by: jhb, scottl
* accept(2): Mention inheritance of O_ASYNC and signal destination.jilles2013-03-261-3/+13
| | | | | | While almost nobody uses O_ASYNC, and rightly so, the inheritance of the related properties across accept() is a portability issue like the inheritance of O_NONBLOCK.
* Clean up debug prints.jimharris2013-03-265-43/+254
| | | | | | | | | 1) Consistently use device_printf. 2) Make dump_completion and dump_command into something more human-readable. Sponsored by: Intel Reviewed by: carl
* Use errno and strerror to print more descriptive messages when operationsjimharris2013-03-261-27/+41
| | | | | | | | | | | fail in nvmecontrol(8). While here, use consistent checks of return values from stat, open and ioctl. Sponsored by: Intel Suggested by: carl Reviewed by: carl
* Move common code from the different nvme_allocate_request functions into ajimharris2013-03-261-18/+21
| | | | | | | | separate function. Sponsored by: Intel Suggested by: carl Reviewed by: carl
* Change a number of malloc(9) calls to use M_WAITOK instead ofjimharris2013-03-265-22/+12
| | | | | | | | M_NOWAIT. Sponsored by: Intel Suggested by: carl Reviewed by: carl
* Replace usages of mtx_pool_find used for admin commands with a pollingjimharris2013-03-264-103/+71
| | | | | | | | | | | | | | | mechanism. Now that all requests are timed, we are guaranteed to get a completion notification, even if it is an abort status due to a timed out admin command. This has the effect of simplifying the controller and namespace setup code, so that it reads straight through rather than broken up into a bunch of different callback functions. Sponsored by: Intel Reviewed by: carl
* Abort and do not retry any outstanding admin commands left over afterjimharris2013-03-261-0/+15
| | | | | | | a controller reset. Sponsored by: Intel Reviewed by: carl
* Add the ability to internally mark a controller as failed, if it is unable tojimharris2013-03-266-22/+213
| | | | | | | | | | | | | | | start or reset. Also add a notifier for NVMe consumers for controller fail conditions and plumb this notifier for nvd(4) to destroy the associated GEOM disks when a failure occurs. This requires a bit of work to cover the races when a consumer is sending I/O requests to a controller that is transitioning to the failed state. To help cover this condition, add a task to defer completion of I/Os submitted to a failed controller, so that the consumer will still always receive its completions in a different context than the submission. Sponsored by: Intel Reviewed by: carl
* Just disable the controller instead of deleting IO queues during detach.jimharris2013-03-262-59/+17
| | | | | | | | This is just as effective, and removes the need for a bunch of admin commands to a controller that's going to be disabled shortly anyways. Sponsored by: Intel Reviewed by: carl
* Have nvd(4) register for controller notifications.jimharris2013-03-261-17/+54
| | | | | | | Also have nvd maintain controller/namespace relationships internally. Sponsored by: Intel Reviewed by: carl
OpenPOWER on IntegriCloud