summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fixup for r216141, dump_add_page needs to be non-static now.jchandra2010-12-032-4/+6
| | | | | Add it to sys/mips/include/md_var.h, make dump_drop_page non-static too for completeness.
* * Recommend a overwrite of whole geli provider before use.delphij2010-12-031-2/+6
| | | | | | | * Correct a typo while I'm there. Reviewed by: pjd MFC after: 2 weeks
* o Mount the device async when we're doing the copy.imp2010-12-031-3/+3
| | | | | | | | o Create a sparse file instead of a fully zerod one. This trades the possibiltiy of running out of space during the build for the speed gain not having do write all those zeros... Submitted by: n_hibma
* _WITHOUT_SRCCONF has too much baggage. Instead, use the simplerimp2010-12-031-1/+1
| | | | SRCCONF=/dev/null.
* Revert r216134. This checkin broke platforms where bus_space are macros:brucec2010-12-0310-398/+194
| | | | | they need to be a single statement, and do { } while (0) doesn't work in this situation so revert until a solution can be devised.
* Explain some of the reasons that fpsetprec() is unlikely to work asdas2010-12-031-1/+5
| | | | | | | one might expect. (These functions have already been deprecated for many years.) PR: 133583
* To make minidumps work properly on mips for memory that's directimp2010-12-031-4/+5
| | | | | | | | | | | mapped and entered via vm_page_setup, keep track of it like we do for amd64. # A separate commit will be made to move this to a capability-based ifdef # rather than arch-based ifdef. Submitted by: alc@ MFC after: 1 week
* Add ability to decompress different format manual pages.gordon2010-12-031-25/+79
| | | | | | Add support for .so directive in manual pages. Approved by: mentor (wes@)
* Add some basic regression tests for nearbyint().das2010-12-033-1/+111
|
* Changes the meaning of each characters '<' and '>' that it could beweongyo2010-12-031-1/+1
| | | | | | | | confused with USB OUT or USB IN packets though it just represents USB submit or done. To know the USB packet direction, the endpoint address should be referred. Requested by: jkim
* Disable gcc's built-in rint() function when compiling s_nearbyint.c.das2010-12-031-0/+6
| | | | | | | It results in incorrect optimizations that break nearbyint(). PR: 143358 Reviewed by: bde
* Disallow passing in a count of zero bytes to the bus_space(9) functions.brucec2010-12-0210-194/+398
| | | | | | | | | Passing a count of zero on i386 and amd64 for [I386|AMD64]_BUS_SPACE_MEM causes a crash/hang since the 'loop' instruction decrements the counter before checking if it's zero. PR: kern/80980 Discussed with: jhb
* Add a note about the magic number 20. Actually, 22.75 entries fit inivoras2010-12-021-1/+1
| | | | | | a 512 byte sector but when choosing magic numbers, 20 looks nicer. Discussed with: marcel
* Document loader tunable hw.re.prefer_iomap.yongari2010-12-021-1/+6
|
* Decode IPC_CREAT and IPC_EXCL for semget(2).delphij2010-12-021-0/+2
| | | | | | PR: bin/152781 Submitted by: Anton Yuzhaninov <citrin citrin ru> MFC after: 2 weeks
* Replace pointer to "struct uidinfo" with pointer to "struct ucred"trasz2010-12-0210-158/+158
| | | | | | | | | in "struct vm_object". This is required to make it possible to account for per-jail swap usage. Reviewed by: kib@ Tested by: pho@ Sponsored by: FreeBSD Foundation
* Unbreak amd64<->i386 cross builds.nwhitehorn2010-12-021-2/+3
|
* Define bswap macros for constants to allow the compiler to pre-computenwhitehorn2010-12-021-16/+30
| | | | | | | | byte-swapped versions of compile-time constants. This allows use of bswap() and htole*() in initializers, which is required to cross-build btxld. Obtained from: sparc64
* Remove two unused variables, left over from the refactoring in r180104.gavin2010-12-021-6/+0
| | | | | | PR: bin/152551 Submitted by: Henning Petersen <henning.petersen t-online.de> MFC after: 2 weeks
* For non-stopped threads, td_frame pointer is undefined. As akib2010-12-022-0/+8
| | | | | | | | | | | | | | consequence, fill_regs() and fill_fpregs() access random data, usually on the thread kernel stack. Most often the td_frame points to the previous frame saved by last kernel entry sequence, but this is not guaranteed. For /proc/<pid>/{regs,fpregs} read access, require the thread to be in stopped state. Otherwise, return EBUSY as is done for write case. Reported and tested by: pho Approved by: des (procfs maintainer) MFC after: 1 week
* Remove more duplicates.uqs2010-12-021-48/+3
| | | | | | | | | | Just so that I can lookup the command for the next time: for t in `make -V TARGETS universe`; do __MAKE_CONF=/dev/null make -f Makefile.inc1 -m $PWD/share/mk TARGET=$t \ -V OLD_FILES -V OLD_LIBS -V OLD_DIRS delete-old | \ xargs -n1|sort|uniq -c|egrep -v "^ *1 "; done
* Import a clean-room implementation of the experimental H-TCP congestion controllstewart2010-12-023-1/+532
| | | | | | | | | | | | | | | | | | algorithm based on the Internet-Draft "draft-leith-tcp-htcp-06.txt". It is implemented as a kernel module compatible with the recently committed modular congestion control framework. H-TCP was designed to provide increased throughput in fast and long-distance networks. It attempts to maintain fairness when competing with legacy NewReno TCP in lower speed scenarios where NewReno is able to operate adequately. The paper "H-TCP: A framework for congestion control in high-speed and long-distance networks" provides additional detail. In collaboration with: David Hayes <dahayes at swin edu au> and Grenville Armitage <garmitage at swin edu au> Sponsored by: FreeBSD Foundation Reviewed by: rpaulo (older patch from a few weeks ago) MFC after: 3 months
* Import a clean-room implementation of the experimental CUBIC congestion controllstewart2010-12-024-1/+635
| | | | | | | | | | | | | | | | | | algorithm based on the Internet-Draft "draft-rhee-tcpm-cubic-02.txt". It is implemented as a kernel module compatible with the recently committed modular congestion control framework. CUBIC was designed for provide increased throughput in fast and long-distance networks. It attempts to maintain fairness when competing with legacy NewReno TCP in lower speed scenarios where NewReno is able to operate adequately. The paper "CUBIC: A New TCP-Friendly High-Speed TCP Variant" provides additional detail. In collaboration with: David Hayes <dahayes at swin edu au> and Grenville Armitage <garmitage at swin edu au> Sponsored by: FreeBSD Foundation Reviewed by: rpaulo (older patch from a few weeks ago) MFC after: 3 months
* The driver-XXX.c files used for host CPU detection with -march=nativenwhitehorn2010-12-021-1/+2
| | | | | should not be compiled in the cross-tools case (where -march=native makes no sense). This fixes cross-building x86 toolchains on non-x86 systems.
* removed tag is '-', not '+'.imp2010-12-021-2/+1
| | | | remove extra return.
* If RX lockup workaround is enabled, fxp(4) will periodically resetyongari2010-12-021-4/+6
| | | | | | | | | | | | | | | | | | | | the controller to workaround silicon bug of i82557. Each reset will re-establish link which in turn triggers MII status change callback. The callback will try to reconfigure controller if the controller is not i82557 to enable flow-control. This caused endless link UP/DOWN when the workaround was enabled on non-i82557 controller. To fix the issue, apply RX lockup workaround only for i82557. Previously it blindly checked undocumented EEPROM location such that it sometimes enabled the workaround for other controllers. At this time, only i82557 is known to have the silicon bug. This fixes a regression introduced in r215906 which enabled flow control support for all controllers except i82557. Reported by: Karl Denninger (karl <> denninger dot net) Tested by: Karl Denninger (karl <> denninger dot net) MFC after: 3 days
* Add build infrastructure for the forthcoming CC algorithm modules.lstewart2010-12-022-0/+6
| | | | | | Sponsored by: FreeBSD Foundation Submitted by: David Hayes <dahayes at swin edu au> MFC after: 3 months
* General cleanup of the NewReno CC module (no functional changes):lstewart2010-12-021-52/+40
| | | | | | | | | | | | - Remove superfluous includes and unhelpful comments. - Alphabetically order functions. - Make functions static. Sponsored by: FreeBSD Foundation MFC after: 9 weeks X-MFC with: r215166
* Don't error out while searching for empty directories.kevlo2010-12-021-1/+1
| | | | Submitted by: Bakul Shah <bakul at bitblocks dot com>
* - Reinstantiate the after_idle hook call in tcp_output(), which got lostlstewart2010-12-022-36/+20
| | | | | | | | | | | | somewhere along the way due to mismerging r211464 in our development tree. - Capture the essence of r211464 in NewReno's after_idle() hook. We don't use V_ss_fltsz/V_ss_fltsz_local yet which needs to be revisited. Sponsored by: FreeBSD Foundation Submitted by: David Hayes <dahayes at swin edu au> MFC after: 9 weeks X-MFC with: r215166
* Remove useless NULL checks for M_WAITOK mallocs.trasz2010-12-022-19/+0
|
* 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
|
OpenPOWER on IntegriCloud