summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Hook up gjournal bits to the build.pjd2006-10-315-1/+13
| | | | Sponsored by: home.pl
* Add Makefile for geom_journal kernel module.pjd2006-10-311-0/+10
| | | | Sponsored by: home.pl
* Add gjournal specific code to the UFS file system:pjd2006-10-319-4/+250
| | | | | | | | | | | | | | | | - Add FS_GJOURNAL flag which enables gjournal support on a file system. - Add cg_unrefs field to the cylinder group structure which holds number of unreferenced (orphaned) inodes in the given cylinder group. - Add fs_unrefs field to the super block structure which holds total number of unreferenced (orphaned) inodes. - When file or a directory is orphaned (last reference is removed, but object is still open), increase fs_unrefs and cg_unrefs fields, which is a hint for fsck in which cylinder groups looks for such (orphaned) objects. - When file is last closed, decrease {fs,cg}_unrefs fields. - Add VV_DELETED vnode flag which points at orphaned objects. Sponsored by: home.pl
* Add MNT_GJOURNAL flag which indicates, that file system has gjournalpjd2006-10-311-3/+4
| | | | | | | | | | support enabled. Add mnt_gjprovider field which keeps gjournal provider's name on which file system is placed on. This allows to not place file system on gjournal directly and allows gjournal class to pair gjournal provider with file system. Sponsored by: home.pl
* Add gjournal GEOM class (kernel side), which implements block levelpjd2006-10-313-0/+3555
| | | | | | | | journaling and can be tought about marking file system as clean before doing journal switch, which easly allows to add journaling to file systems that don't have this feature. Sponsored by: home.pl
* Implement BIO_FLUSH handling by simply passing it down to the components.pjd2006-10-316-3/+174
| | | | Sponsored by: home.pl
* Implement BIO_FLUSH handling for da(4), amr(4), ata(4) and ataraid(4).pjd2006-10-315-25/+135
| | | | Sponsored by: home.pl
* Add a new disk flag - DISKFLAG_CANFLUSHCACHE, which indicates that the diskpjd2006-10-312-1/+22
| | | | | | can handle BIO_FLUSH requests. Sponsored by: home.pl
* Add a new I/O request - BIO_FLUSH, which basically tells providers below topjd2006-10-314-1/+32
| | | | | | | flush their caches. For now will mostly be used by disks to flush their write cache. Sponsored by: home.pl
* Make EWOULDBLOCK a recoverable error so that the request is retransmitted.mohans2006-10-311-2/+2
| | | | | | | This bug results in data corruption with NFS/TCP. Writes are silently dropped on EWOULDBLOCK (because socket send buffer is full and sockbuf timer fires). Reviewed by: ups@
* Fix a typo resulting in truncated linux32 signal trampoline code copiedkib2006-10-311-1/+1
| | | | | | | to the usermode. Usually, signal handler segfaulted on return. Reviewed by: jhb MFC after: 3 days
* Allocate receive and transmit data structures during attach() and free themjhb2006-10-311-47/+82
| | | | | | | | | | | | | during detach() similar to other NIC drivers rather than allocating them during init() and freeing them during stop(): - Move creation of tx bus_dma tag amd maps and tx_buffer_area from em_setup_transmit_structures() to em_allocate_transmit_structures(). - Call em_allocate_xxx_structures() in em_attach(). - Only call em_free_xxx_structures() in em_detach(). - Change em_setup_xxx_structures() to free any existing tx or rx buffers and in the case of rx repopulate the ring with newer buffers. Reviewed by: jfv
* - Use callout_init_mtx() to close various callout-related races.jhb2006-10-311-18/+13
| | | | | | | | - Drain the two timers in detach. - Check IFF_DRV_RUNNING in the link task and bail w/o doing anything if it is clear. Reviewed by: jfv, scottl
* Rework the transmit register handling. In em_encap() store index ofglebius2006-10-312-33/+79
| | | | | | | | | | | the EOP descriptor in the first descriptor of the packet. And then in em_txeof() search for DD bits set only in the EOP descriptors, embedding the cleanup of all packet's descriptors into inner loop. This change is important for future chips, where DD bit is going to be set only on the EOP descriptors. Submitted by: jfv
* Remove unused softc pointer variable from the probe routine.jhb2006-10-311-3/+0
| | | | | CID: 1560 Found by: Coverity Prevent (tm)
* Merge new vendor release - 6.2.9.glebius2006-10-315-736/+755
| | | | | | | | | | | | | | | | | | Details: o if_em.c changes: - Added several new PCI ids. - Check em_check_phy_reset_block() before doing SIOCSIFMEDIA ioctl. - Don't touch TARC registers, they are now handled in shared code in if_em_hw.c. - Move RDH and RDT setting to the end of em_initialize_receive_unit(). - Declare em_read_pcie_cap_reg(), now empty. o if_em_hw.c dropped in from vendor, then restored rev. 1.15. o if_em_hw.h dropped in from vendor, then modified: - Added RX overrun interrupt flag to interrupt enable mask. - Remove declarations of em_io_read(), em_io_write(). Approved by: jfv
* Fix Typo.takawata2006-10-311-1/+1
| | | | Pointed out by: ru
* The first of 3 major steps to move the CAM layer forward to usingmjacob2006-10-3125-96/+1616
| | | | | | | | | | | | | | | | | | | | | the CAM_NEW_TRAN_CODE that has been in the tree for some years now. This first step consists solely of adding to or correcting CAM_NEW_TRAN_CODE pieces in the kernel source tree such that a both a GENERIC (at least on i386) and a LINT build with CAM_NEW_TRAN_CODE as an option will compile correctly and run (at least with some the h/w I have). After a short settle time, the other pieces (making CAM_NEW_TRAN_CODE the default and updating libcam and camcontrol) will be brought in. This will be an incompatible change in that the size of structures related to XPT_PATH_INQ and XPT_{GET,SET}_TRAN_SETTINGS change in both size and content. However, basic system operation and basic system utilities work well enough with this change. Reviewed by: freebsd-scsi and specific stakeholders
* Fix a typo in the device ID table that prevented 5708S chips from beingscottl2006-10-311-2/+2
| | | | | | detected. Submitted by: pyun
* Add support for Option GT 3G/3G quad datacard in ubsa.kevlo2006-10-312-5/+11
| | | | Approved by: cognet
* Include <sys/types.h>, to get definition for uint32_t.cognet2006-10-301-0/+1
| | | | Submitted by: David Sharp
* Assign start to the value we were able to allocate and use that toimp2006-10-301-10/+11
| | | | | | write out the BAR. Otherwise, we were trying to shift a 32-bit quantity on 32-bit platforms. Also, 'start' check sanity to where it is known.
* In the replacement text of the __bswapN_const() macros encapsulate themarius2006-10-302-16/+24
| | | | | | | | | | | | argument in parentheses so these macros are safe to use and invocations with an expression as the argument like __bswap32_const(42 << 23 | 13) work as expected. Additionally, mask all the individually shifted bytes as appropriate so the bytes which exceed the width of the respective __bswapN_const() macro in invocations like __bswap16_const(0xdead600d) are ignored like it's the case with the corresponding __bswapN_var() function. MFC after: 3 days
* More fully support 64-bit bars. Prior to this commit, we supportedimp2006-10-303-58/+69
| | | | | | | | | | | | | | | | | | | | | only those bars that had addresses assigned by the BIOS and where the bridges were properly programmed. Now even unprogrammed ones work. This was needed for sun4v. We still only implement up to 2GB memory ranges, even for 64-bit bars. PCI standards at least through 2.2 say that this is the max (or 1GB is, I only know it is < 32bits). o Always define pci_addr_t as uint64_t. A pci address is always 64-bits, but some hosts can't address all of them. o Preserve the upper half of the 64-bit word during resource probing. o Test to make sure that 64-bit values can fit in a u_long (true on some platforms, but not others). Don't use those that can't. o minor pedantry about data sizes. o Better bridge resource reporting in bootverbose case. o Minor formatting changes to cope with different data types on different platforms. Submitted by: jmg, with many changes by me to fully support 64-bit addresses.
* Forward declare struct cdev, since arguments of this type are used inrwatson2006-10-302-0/+2
| | | | | | function prototypes. Obtained from: TrustedBSD Project
* Hook acpi_aiboost module to build.takawata2006-10-301-2/+2
|
* Add conf file entries for acpi_aiboost drivers.takawata2006-10-302-0/+4
|
* Driver for some ASUS desktop motherboard extras.takawata2006-10-302-0/+349
| | | | | | | | | | | Though it is named after overclocking tool for ASUS motherboards, it is not capable to change clock ratio or CPU core voltage. This driver exports Templature, Power output voltage, Fan RPM under dev.acpi_aiboost.0.*. Descriptions for these values are set to sysctl describe, which can be get by sysctl -d.
* Add the padding fields to 'struct proc' for the !KSE case that I missed.jb2006-10-291-0/+4
| | | | Noticed by: pjd
* - Wrap code optimized for architectures without alignment constraintsmarius2006-10-291-16/+22
| | | | | | | | | | | | | | | | | | in #ifdef __NO_STRICT_ALIGNMENT rather than #ifdef __i386__. This means that amd64 now also uses the optimized code. [1] While at it, fix a nearby style(9) bug. - Remove the hw.dc_quick SYSCTL, which allowed to turn off the above mentioned optimization, as like the equivalent and already removed - In dc_setcfg() suppress printing a warning when forcing the receiver and transceiver to idle state times out for chips where the status bits in question just never change (observed in detail with DM9102A) and therefore the warning would be highly likely false positive. [2] - In dc_ifmedia_sts() add a missing DC_UNLOCK(). Tested by: Hans-Joerg Sirtl on amd64 [1] PR: 82681 [2] Obtained from: NetBSD tlp(4) [2] MFC after: 1 week
* Wrap code optimized for architectures without alignment constraintsmarius2006-10-291-6/+5
| | | | | | | in #ifdef __NO_STRICT_ALIGNMENT rather than #if defined(__i386__) || defined(__amd64__). Currently this change is cosmetic only though. While at it, fix a nearby style(9) bug and remove a no longer used header.
* Retire the failed OBSOLETE_IN_6 experiment code.imp2006-10-291-6/+0
|
* Add missing headers.marius2006-10-291-0/+1
|
* Because the BTX mini-kernel now uses flat memory mode and clientsru2006-10-295-10/+10
| | | | | | | | | | | | | | | | are no longer limited to a virtual address space of 16 megabytes, only mask high two bits of a virtual address. This allows to load larger kernels (up to 1 gigabyte). Not masking addresses at all was a bad idea on machines with less than >3G of memory -- kernels are linked at 0xc0xxxxxx, and that would attempt to load a kernel at above 3G. By masking only two highest bits we stay within the safe limits while still allowing to boot larger kernels. (This is a safer reimplmentation of sys/boot/i386/boot2/boot.2.c rev. 1.71.) Prodded by: jhb Tested by: nyan (pc98)
* regen after linux_io_* backoutnetchild2006-10-296-94/+16
|
* Backout the linux aio stuff. Several problems where identified and thenetchild2006-10-2910-1465/+11
| | | | | | | | | | | | | | | dynamic nature (if no native aio code is available, the linux part returns ENOSYS because of missing requisites) should be solved differently than it is. All this will be done in P4. Not included in this commit is a backout of the changes to the native aio code (removing static in some places). Those changes (and some more) will also be needed when the reworked linux aio stuff will reenter the tree. Requested by: rwatson Discussed with: rwatson
* - Use non-recursive mutex. MTX_RECURSE is unnecessary since rev. 1.70oleg2006-10-291-34/+31
| | | | | | | | | | | | - Pay respect to net.isr.direct: use netisr_dispatch() instead of ip_input() Reviewed by: glebius, rwatson - purge_flow_set(): - Do not leak memory while purging queues which are not bound to pipe. - style(9) cleanup MFC after: 2 months
* style(9)netchild2006-10-291-0/+1
| | | | Noticed by: rwatson
* Removed some SMP ifdefs so that using the TSC as a cputime clock isbde2006-10-292-19/+15
| | | | | | | | | | | | | | | not completely decided at config time. Just don't default to using the TSC if there are multiple active CPUs. Also, don't default to using the TSC if it is broken. SMP ifdefs are still used to disallow using perfmon since perfmon is always broken if SMP is just configured. This only helps much for SMP kernels running on 1 CPU. The overheads for using the i8254 cputime clock were a bit too high on 486/33's, and now on multi-GHz CPUs they are usually in the 99-99.9% range. Switching from the old default of an i8254 clock to the TSC works poorly because the overheads are not recalibrated. Use the same condition for declaring perfmon stuff as for using it.
* Refactor vfs_setdirty(), creating vfs_setdirty_locked_object().alc2006-10-291-6/+16
| | | | | | Call vfs_setdirty_locked_object() from vfs_busy_pages() instead of vfs_setdirty(), thereby eliminating a second acquisition and release of the same vm object lock.
* In bufdone_finish() restrict the acquisition and release of the pagealc2006-10-281-2/+8
| | | | | | queues lock to BIO_READ operations. Recent changes to the implementation of the per-page flags have eliminated the need for the page queues lock in the other cases.
* Fix style(9).netchild2006-10-281-29/+29
| | | | Noticed by: rwatson
* In the userland .mcount():bde2006-10-281-7/+5
| | | | | | | | | | | - Don't use a frame pointer. Our callers need a frame pointer, but we could only use one to support things that aren't supported. (These things are: - profiling of profiling - debugging of profiling. The core ENTRY() macro doesn't support forcing a frame pointer for debugging, so don't do more here.) - Ensure that we are in the text section and have normal alignment. - Use the normal syntax for `.type'.
* regen (prctl addition)netchild2006-10-286-10/+18
|
* i386/include/profile.h:bde2006-10-282-10/+2
| | | | | | | | | | | | Fixed a syntax error for the (!__KERNEL && !__GNUCLIKE_ASM) case in rev.1.36. Apparently, this case has never been reached even by lint. Submitted by: stefanf {amd64,i386}/include/profile.h: In case the above case is actually reached, break it properly by providing null support that will fail at link time instead of a stub that gives wrong (null) profiling at runtime.
* MFP4:netchild2006-10-288-5/+123
| | | | | | | Implement prctl(). Submitted by: rdivacky Tested with: LTP
* MFP4:netchild2006-10-282-4/+4
| | | | | | | | | | Rename MAX_SAMPLE_RATES macro to OSS_MAX_SAMPLE_RATES. The old macro clashed with those used in other applications and libaries (ex: RtAudio). 4Front responded by updating their spec, so we will follow suit. Submitted by: ryanb Noticed by: pointyhat/kris
* Backout bogus checkin to HEADjfv2006-10-285-1504/+1708
| | | | Approved by: scottl
* In MCOUNT_OVERHEAD(label), actually use the `label' parameter. We werebde2006-10-282-2/+2
| | | | | still using the global label named "profil", and this worked accidentally because all callers use the same name.
* Cleaned up includes. <machine/profile.h> was unused. <machine/timerreg.h>bde2006-10-282-14/+5
| | | | | | | | was only used in the GUPROF case, so the messes to get its i386 prerequisites included shouldn't have been needed. Fixed some style bugs. Quote #error contents, and don't repeat an #error directive on amd64.
OpenPOWER on IntegriCloud