summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Set ssthresh appropriately on RTO. This change was accidentally not ported fromlstewart2010-12-021-0/+2
| | | | | | | | | the pre modular CC stack. Sponsored by: FreeBSD Foundation Submitted by: David Hayes <dahayes at swin edu au> MFC after: 9 weeks X-MFC with: r215166
* Pass NULL instead of 0 for the th pointer value. NULL != 0 on all platforms.lstewart2010-12-021-1/+1
| | | | | | Submitted by: David Hayes <dahayes at swin edu au> MFC after: 9 weeks X-MFC with: r215166
* sh(1): Document that command's -p option also works with -v/-V.jilles2010-12-011-2/+3
| | | | This was implemented in r201343.
* Journal start looks up .sujournal file by doing lookup on the root dvp.kib2010-12-011-0/+1
| | | | | | | | | | As result, failed softdep_mount() might leave up to two vnodes on the mp mountlist, preventing mnt_ref from going to zero. Call ffs_flushfiles() after failed softdep_mount() to clean mountlist. Initial report by: Garrett Cooper Reproduced and tested by: pho
* - Report an error when a label with invalid name is attempted to bejh2010-12-011-4/+6
| | | | | | | | created with glabel(8). - Fix a typo in an error message. - Fix comment typos. Approved by: pjd
* Closing file descriptors when it's donekevlo2010-12-011-0/+2
|
* phys_avail[] is correctly defined as an array of vm_paddr_t's inalc2010-12-011-1/+1
| | | | machdep.c. Use that same type, and not vm_offset_t, in this include file.
* Add smp_all.c to the cam module build to un-break it.ken2010-12-011-0/+1
| | | | Reported by: jkim
* Add interrupt describing and binding to CIU.jmallett2010-12-011-1/+115
|
* Explicitly UP and DOWN the usbus interfaces (IFT_USB) when it's attachedweongyo2010-12-011-0/+2
| | | | | | | | | | or detached. Normally it should be changed through user land ioctl(2) system calls but it looks there's no apps for USB and no need. With this patch, libpcap would detect the usbus interfaces correctly and tcpdump(1) could dump the USB packets into PCAP format with -w option. However it couldn't print the output to console because there's no printer-routine at tcpdump(1).
* Correct an error in the allocation of the vm_page_dump array inalc2010-12-011-4/+5
| | | | | | | | | | | | | | | | | vm_page_startup(). Specifically, the dump_avail array should be used instead of the phys_avail array to calculate the size of vm_page_dump. For example, the pages for the message buffer are allocated prior to vm_page_startup() by subtracting them from the last entry in the phys_avail array, but the first thing that vm_page_startup() does after creating the vm_page_dump array is to set the bits corresponding to the message buffer pages in that array. However, these bits might not actually exist in the array, because the size of the array is determined by the current value in the last entry of the phys_avail array. In general, the only reason why this doesn't always result in an out-of-bounds array access is that the size of the vm_page_dump array is rounded up to the next page boundary. This change eliminates that dependence on rounding (and luck). MFC after: 6 weeks
* Don't print usbus[0-9] interfaces that it's not the interestingweongyo2010-12-011-0/+2
| | | | interface type for ifconfig(8).
* Add Serial Management Protocol (SMP) passthrough support to CAM.ken2010-11-3022-74/+3623
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes support in the kernel, camcontrol(8), libcam and the mps(4) driver for SMP passthrough. The CAM SCSI probe code has been modified to fetch Inquiry VPD page 0x00 to determine supported pages, and will now fetch page 0x83 in addition to page 0x80 if supported. Add two new CAM CCBs, XPT_SMP_IO, and XPT_GDEV_ADVINFO. The SMP CCB is intended for SMP requests and responses. The ADVINFO is currently used to fetch cached VPD page 0x83 data from the transport layer, but is intended to be extensible to fetch other types of device-specific data. SMP-only devices are not currently represented in the CAM topology, and so the current semantics are that the SIM will route SMP CCBs to either the addressed device, if it contains an SMP target, or its parent, if it contains an SMP target. (This is noted in cam_ccb.h, since it will change later once we have the ability to have SMP-only devices in CAM's topology.) smp_all.c, smp_all.h: New helper routines for SMP. This includes SMP request building routines, response parsing routines, error decoding routines, and structure definitions for a number of SMP commands. libcam/Makefile: Add smp_all.c to libcam, so that SMP functionality is available to userland applications. camcontrol.8, camcontrol.c: Add smp passthrough support to camcontrol. Several new subcommands are now available: 'smpcmd' functions much like 'cmd', except that it allows the user to send generic SMP commands. 'smprg' sends the SMP report general command, and displays the decoded output. It will automatically fetch extended output if it is available. 'smppc' sends the SMP phy control command, with any number of potential options. Among other things, this allows the user to reset a phy on a SAS expander, or disable a phy on an expander. 'smpmaninfo' sends the SMP report manufacturer information and displays the decoded output. 'smpphylist' displays a list of phys on an expander, and the CAM devices attached to those phys, if any. cam.h, cam.c: Add a status value for SMP errors (CAM_SMP_STATUS_ERROR). Add a missing description for CAM_SCSI_IT_NEXUS_LOST. Add support for SMP commands to cam_error_string(). cam_ccb.h: Rename the CAM_DIR_RESV flag to CAM_DIR_BOTH. SMP commands are by nature bi-directional, and we may need to support bi-directional SCSI commands later. Add the XPT_SMP_IO CCB. Since SMP commands are bi-directional, there are pointers for both the request and response. Add a fill routine for SMP CCBs. Add the XPT_GDEV_ADVINFO CCB. This is currently used to fetch cached page 0x83 data from the transport later, but is extensible to fetch many other types of data. cam_periph.c: Add support in cam_periph_mapmem() for XPT_SMP_IO and XPT_GDEV_ADVINFO CCBs. cam_xpt.c: Add support for executing XPT_SMP_IO CCBs. cam_xpt_internal.h: Add fields for VPD pages 0x00 and 0x83 in struct cam_ed. scsi_all.c: Add scsi_get_sas_addr(), a function that parses VPD page 0x83 data and pulls out a SAS address. scsi_all.h: Add VPD page 0x00 and 0x83 structures, and a prototype for scsi_get_sas_addr(). scsi_pass.c: Add support for mapping buffers in XPT_SMP_IO and XPT_GDEV_ADVINFO CCBs. scsi_xpt.c: In the SCSI probe code, first ask the device for VPD page 0x00. If any VPD pages are supported, that page is required to be implemented. Based on the response, we may probe for the serial number (page 0x80) or device id (page 0x83). Add support for the XPT_GDEV_ADVINFO CCB. sys/conf/files: Add smp_all.c. mps.c: Add support for passing in a uio in mps_map_command(), so we can map a S/G list at once. Add support for SMP passthrough commands in mps_data_cb(). SMP is a special case, because the first buffer in the S/G list is outbound and the second buffer is inbound. Add support for warning the user if the busdma code comes back with more buffers than will work for the command. This will, for example, help the user determine why an SMP command failed if busdma comes back with three buffers. mps_pci.c: Add sys/uio.h. mps_sas.c: Add the SAS address and the parent handle to the list of fields we pull from device page 0 and cache in struct mpssas_target. These are needed for SMP passthrough. Add support for the XPT_SMP_IO CCB. For now, this CCB is routed to the addressed device if it supports SMP, or to its parent if it does not and the parent does. This is necessary because CAM does not currently support SMP-only nodes in the topology. Make SMP passthrough support conditional on __FreeBSD_version >= 900026. This will make it easier to MFC this change to the driver without MFCing the CAM changes as well. mps_user.c: Un-staticize mpi_init_sge() so we can use it for the SMP passthrough code. mpsvar.h: Add a uio and iovecs into struct mps_command for SMP passthrough commands. Add a cm_max_segs field to struct mps_command so that we can warn the user if busdma comes back with too many segments. Clear the cm_reply when a command gets freed. If it is not cleared, reply frames will eventually get freed into the pool multiple times and corrupt the pool. (This fix is from scottl.) Add a prototype for mpi_init_sge(). sys/param.h: Bump __FreeBSD_version to 900026 for the for the inclusion of the XPT_GDEV_ADVINFO and XPT_SMP_IO CAM CCBs.
* Update the documentation to reflect changes to the implementation indas2010-11-301-14/+14
| | | | | | | r197752, which is related to handling of null buffer pointers. Also make a few minor wording changes. Reported by: jh@
* - Remove the remaining support for older (in this case pre-7.0-RELEASE)marius2010-11-301-47/+19
| | | | | | | | | | | | versions of FreeBSD. In fact we are already missing a lot of conditional code necessary to support older versions of FreeBSD, including alternatives for vital functionality not yet provided by the respective subsystem back then (see for example r199663). So this change shouldn't actually break this driver on versions of FreeBSD that were supported before. Besides, this driver also isn't maintained as an multi-release version outside of the main repository, so removing the conditional code shouldn't be a problem in that regard either. - Sprinkle some more const on tables.
* Don't panic when we read an empty ACL from ZFS. Apparently this may happentrasz2010-11-301-1/+4
| | | | | | | | | with filesystems created under MacOS X ZFS port. This is kind of filesystem corruption (we don't allow for setting empty ACLs), so make acl_get_file(3) and related syscalls fail with EINVAL in that case. In theory, we could return empty ACL to userland, but I'm afraid this would break some code. MFC after: 3 days
* Several chipset drivers alter parameters relevant for the DMA tag creation,marius2010-11-301-2/+1
| | | | | | | | | | | | | i.e. alignment, max_address, max_iosize and segsize (only max_address is thought to have an negative impact regarding this issue though), after calling ata_dmainit() either directly or indirectly so these values have no effect or at least no effect on the DMA tags and the defaults are used for the latter instead. So change the drivers to set these parameters up-front and ata_dmainit() to honor them. This file was missed in r216013. Submitted by: nwhitehorn
* Rename a variable to match scvidctl.c.jkim2010-11-301-11/+11
|
* Stop hardcoding default font size.jkim2010-11-301-1/+1
|
* Change VM_KMEM_SIZE_MAX to be just (VM_MAX_KERNEL_ADDRESS - ↵fjoe2010-11-301-2/+1
| | | | | | VM_MIN_KERNEL_ADDRESS) Suggested by: marius
* Clean up code a bit to make it more readable.jkim2010-11-301-42/+40
|
* Do not hardcode (20*60), but use current ARP timeout value configuredglebius2010-11-301-1/+7
| | | | in kernel.
* Teach crashinfo(8) to look at the currently running kernel (based on thecperciva2010-11-301-1/+1
| | | | | | | | | kern.bootfile sysctl). Prior to this commit, crashinfo(8) only looks at /boot/*/kernel; this includes the usual places where kernels reside, so for most systems this will have no effect. Approved by: jhb MFC after: 3 days
* That should belong to r216075. Pointy hat on me.glebius2010-11-301-3/+3
|
* Use time_uptime instead of non-monotonic time_second to drive ARPglebius2010-11-303-10/+10
| | | | | | timeouts. Suggested by: bde
* Fix two errors in the man pagen_hibma2010-11-301-2/+1
| | | | | Submitted by: ruslan MFC after: 1 day
* We need to define a cdev variable associated with each USB device,hselasky2010-11-301-0/+4
| | | | | | | | | | | hence existing applications like webcamd are expecting that. This problem was introduced by SVN change 214221 where cdev= was replaced by ugen= by accident. Solve this problem by redefining cdev= in devd notifications. MFC after 3 days. Approved by: thompsa (mentor)
* Run all poll requests through a single function that can either do the genericjmallett2010-11-307-63/+43
| | | | | | link state polling or media-specific ones, while avoidiing changing link state on interfaces that use miibus; this substantially speeds up link time on interface (re)initialization.
* Remove redundant (and bogus) insertion of pnp info when announcing newimp2010-11-301-37/+2
| | | | | | | and retiring devices. That's already inserted elsewhere. Submitted by: n_hibma MFC after: 3 days
* Display some Octeon 2 features and a feature for distinguishing between PCIejmallett2010-11-301-0/+3
| | | | implementations.
* Clean up code a bit to make it more readable.jkim2010-11-291-18/+9
|
* Honor font size for the video mode when default fonts are compiled in kerneljkim2010-11-291-9/+35
| | | | and VESA mode is enabled from loader.
* Fix uninitialized variable warning that shows on Tinderbox but not mymdf2010-11-291-1/+1
| | | | | | setup. (??) Submitted by: Michael Butler <imb at protected-networks dot net>
* Update the description of green_saver.kodougb2010-11-291-2/+5
| | | | Improvements to my suggested text from: jhb
* Don't free the work queue entry that we're using to hold the scatter-gatherjmallett2010-11-291-4/+8
| | | | | | | | | | | | | | list on exit from the transmit path. The scatter-gather list itself can be asynchronously DMAed to the transmit hardware, and we could actually lock up the transmitter if any of a number of races around this were lost. Instead, let the PKO free the scatter-gather list when it is done with it, and use the "i" bit in each segment of the packet to avoid having them go into the FPA. This fixes an unrecoverable transmit stall under transmit load. MFC after: 3 days
* Do not hold the sysctl lock across a call to the handler. This fixes amdf2010-11-292-28/+70
| | | | | | | | | | general LOR issue where the sysctl lock had no good place in the hierarchy. One specific instance is #284 on http://sources.zabbadoz.net/freebsd/lor.html . Reviewed by: jhb MFC after: 1 month X-MFC-note: split oid_refcnt field for oid_running to preserve KBI
* Slightly modify the logic in sysctl_find_oid to reduce the indentation.mdf2010-11-291-19/+22
| | | | | | There should be no functional change. MFC after: 3 days
* Use the SYSCTL_CHILDREN macro in kern_sysctl.c to help de-obfuscate themdf2010-11-291-7/+6
| | | | | | code. MFC after: 3 days
* Add new device ids.sanpei2010-11-293-0/+3
| | | | | | Buffalo (Melco Inc.) WLI-UC-G PR: 141777
* If no floppy drive is installed kldBrowser() can generate an error early on.brucec2010-11-291-2/+2
| | | | | | | | | Initialize menu and count so the cleanup code doesn't try and use their uninitialized values. PR: bin/152270 Submitted by: Remi LAURENT <cloud at madpowah.org> MFC after: 3 days
* Update the serial port device names. They changed in 8.0 because the defaultbrucec2010-11-292-13/+13
| | | | | | | | driver is now uart(4). PR: bin/140887 Submitted by: Joe Barbish <fbsd1 at a1poweruser.com> MFC after: 3 days
* Add a dummy for IoOpenDeviceRegistryKey().bschmidt2010-11-291-0/+10
| | | | | | | | With that change the Atheros 9xxx driver is actually usable and does not panic anymore. Submitted by: Paul B Mahol <onemda at gmail.com> MFC after: 2 weeks
* Some drivers rely on the existence of certain keys. The Atheros 9xxxbschmidt2010-11-291-0/+10
| | | | | | | | driver for example requests the NetCfgInstanceId but doesn't check the returned status code and will happily access random memory instead. Submitted by: Paul B Mahol <onemda at gmail.com> MFC after: 2 weeks
* Fix fd leak in get_fontkevlo2010-11-291-0/+1
|
* Support the Falcom Twist USB GSM/GPRS modem in uftdi(4)gavin2010-11-292-0/+4
| | | | | | PR: usb/151862 Submitted by: Alessandro de Manzano <demanzano dqmicro.it> MFC after: 1 week
* Fix bug introduced by r194784: Under XEN, the page(s) allocated to dpcpucperciva2010-11-291-0/+2
| | | | | | | | | | | | | | | for CPU #0 weren't being properly reserved. Under VM pressure this would cause problems when the dpcpu structures were overwritten by arbitrary data; the most common symptom was a panic when netisr attempted to lock a mutex. For some reason the XEN code keeps track of the start of available memory in the variables 'first', 'physfree', and 'init_first'; as far as I can tell, we always have first == physfree == init_first * PAGE_SIZE. The earlier commit adjusted 'first' (which, on !XEN, is the only variable which tracks this value) but not the other two variables. Exercise for reader: Eliminate two of these three variables.
* Make German formal clause to be consistent with the keymap counterpart.delphij2010-11-291-1/+1
| | | | | Submitted by: arundel MFC after: 1 week
* Plug well observed races on la_hold entries with the callout handler.bz2010-11-293-58/+90
| | | | | | | | | | | | | | | | | | | Call the handler function with the lock held, return unlocked as we might free the entry. Rework functions later in the call graph to be either called with the lock held or, only if needed, unlocked. Place asserts to document and tighten assumptions on various lle locking, which were not always true before. We call nd6_ns_output() unlocked and the assignment of ip6->ip6_src was decentralized to minimize possible complexity introduced with the formerly missing locking there. This also resulted in a push down of local variable scopes into smaller blocks. Reported by: many PR: kern/148857 Submitted by: Dmitrij Tejblum (tejblum yandex-team.ru) (original version) MFC After: 4 days
* document that most of ioctl requests in cd(4) are implemented by acd(4)..jmg2010-11-281-0/+8
|
* sh: Make the test for cd/pwd with long pathnames more useful:jilles2010-11-281-7/+8
| | | | | * Use $(getconf PATH_MAX /) to make sure we actually exercise the hard part * Delete our test area even if the test fails
OpenPOWER on IntegriCloud