summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Opps,missed line in the fix...jfv2008-04-261-2/+2
|
* A change got dropped in the merge, add backjfv2008-04-251-11/+11
|
* This delta has a few important items:jfv2008-04-2526-232/+864
| | | | | | | | | | | | | | | | | | | | | | | | PR 122839 is fixed in both em and in igb Second, the issue on building modules since the static kernel build changes is now resolved. I was not able to get the fancier directory hierarchy working, but this works, both em and igb build as modules now. Third, there is now support in em for two new NICs, Hartwell (or 82574) is a low cost PCIE dual port adapter that has MSIX, for this release it uses 3 vectors only, RX, TX, and LINK. In the next release I will add a second TX and RX queue. Also, there is support here for ICH10, the followon to ICH9. Both of these are early releases, general availability will follow soon. Fourth: On Hartwell and ICH10 we now have IEEE 1588 PTP support, I have implemented this in a provisional way so that early adopters may try and comment on the functionality. The IOCTL structure may change. This feature is off by default, you need to edit the Makefile and add the EM_TIMESYNC define to get the code. Enjoy all!!
* add rules for statically embedding ipw, iwi, ral, and wpi firmware modulessam2008-04-251-0/+154
|
* hookup the parent device's if_input and if_output to stub routinessam2008-04-251-0/+19
| | | | | | | to catch unintended use (one might argue about if_output but it's behaviour is ill-defined without vap context) Noticed by: Paul B. Mahol
* remove scan task on state change so it doesn't unexpectedly firesam2008-04-251-1/+2
| | | | Noticed by: Paul B. Mahol
* Initialize tz_active to a new constant TZ_ACTIVE_UNKNOWN and make norpaulo2008-04-251-1/+20
| | | | | | | | assumptions about the state of the cooling devices. Instead, switch them off on init and, only after that, we are in TZ_ACTIVE_NONE. Submited by: Andriy Gapon <avg at icyb.net.ua> Reviewed by: njl
* Unbreak previous commit. While here, refactor the code a bit.marcel2008-04-251-13/+10
|
* Always use PG_PS_FRAME to extract the physical address of a 2/4MB pagealc2008-04-252-18/+20
| | | | from a PDE.
* Rename debug.ddb.capture.bytes sysctl to debug.ddb.capture.bufoff inrwatson2008-04-251-1/+4
| | | | | | | | | order to match the internal variable name. Add a new sysctl debug.ddb.capture.inprogress to export the inprogress variable. MFC after: 3 days
* o Fixed multi thread access issue reported by Alexander V. Chernikovdaichi2008-04-253-12/+13
| | | | | | | | | | (admin@su29.net) fixed: kern/109950 PR: kern/109950 Submitted by: Alexander V. Chernikov (admin@su29.net) Reviewed by: Masanori OZAWA (ozawa@ongs.co.jp) MFC after: 1 week
* o Improved unix socket connection issuedaichi2008-04-251-13/+28
| | | | | | | | fixed: kern/118346 PR: kern/118346 Submitted by: Masanori OZAWA (ozawa@ongs.co.jp) MFC after: 1 week
* o Fixed rename panic issuedaichi2008-04-251-11/+14
| | | | | Submitted by: Masanori OZAWA (ozawa@ongs.co.jp) MFC after: 1 week
* o Fixed inaccessible issue especially including devfs on unionfs case.daichi2008-04-252-8/+187
| | | | | | | | fixed also: kern/117829 PR: kern/117829 Submitted by: Masanori OZAWA (ozawa@ongs.co.jp) MFC after: 1 week
* o Added system hang-up process when VOP_READDIR of unionfs_nodeget()daichi2008-04-251-1/+7
| | | | | | | | returns not end of the file status on debug mode (DIAGNOSTIC defined) kernel. Submitted by: Masanori OZAWA (ozawa@ongs.co.jp) MFC after: 1 week
* - Add an integer argument to idle to indicate how likely we are to wakejeff2008-04-2515-95/+418
| | | | | | | | | | | | | | | from idle over the next tick. - Add a new MD routine, cpu_wake_idle() to wakeup idle threads who are suspended in cpu specific states. This function can fail and cause the scheduler to fall back to another mechanism (ipi). - Implement support for mwait in cpu_idle() on i386/amd64 machines that support it. mwait is a higher performance way to synchronize cpus as compared to hlt & ipis. - Allow selecting the idle routine by name via sysctl machdep.idle. This replaces machdep.cpu_idle_hlt. Only idle routines supported by the current machine are permitted. Sponsored by: Nokia
* o Disable HMEDEBUG by default.marius2008-04-245-199/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o Add CTASSERTs ensuring that HME_NRXDESC and HME_NTXDESC are set to legal values. o Use appropriate maxsize, nsegments and maxsegsize parameters when creating DMA tags and correct some comments related to them. o The FreeBSD bus_dmamap_sync(9) supports ored together flags for quite some time now so collapse calls accordingly. o Add missing BUS_DMASYNC_PREREAD when syncing the control DMA maps in hme_rint() and hme_start_locked(). o Keep state of the link state and use it to enable or disable the MAC in hme_mii_statchg() accordingly as well as to return early from hme_start_locked() in case the link is down. o Introduce a sc_flags and use it to replace individual members like sc_pci. o Add bus_barrier(9) calls to hme_mac_bitflip(), hme_mii_readreg(), hme_mii_writereg() and hme_stop() to ensure the respective bit has been written before we starting polling on it and for the right bits to change. o Rather just returning in case hme_mac_bitflip() fails and leaving us in an undefined state report the problem and move on; chances are the requested configuration will become active shortly after. o Don't call hme_start_locked() in hme_init_locked() unconditionally but only after calls to hme_init_locked() when it's appropriate, i.e. in hme_watchdog(). o Add a KASSERT which asserts nsegs is valid also to hme_load_txmbuf(). o In hme_load_txmbuf(): - use a maximum of the newly introduced HME_NTXSEGS segments instead of the incorrect HME_NTXQ, which reflects the maximum TX queue length, for loading the mbufs and put the DMA segments back onto the stack instead of the softc as 16 should be ok there. - use the common errno(2) return values instead of homegrown ones, - given that hme_load_txmbuf() is allowed to fail resulting in a packet drop for quite some time now implement the functionality of hme_txcksum() by means of m_pullup(9), which de-obfuscates the code and allows to always retrieve the correct length of the IP header, [1] - also add a KASSERT which asserts nsegs is valid, - take advantage of m_collapse(9) instead of m_defrag(9) for performance reasons. o Don't bother to check whether the interface is running or whether its queue is empty before calling hme_start_locked() in hme_tint(), the former will check these anyway. o In hme_intr() call hme_rint() before hme_tint() as gem_tint() may take quite a while to return when it calls hme_start_locked(). o Get rid of sc_debug and just check if_flags for IFF_DEBUG directly. o Add a shadow sc_ifflags so we don't reset the chip when unnecessary. o Handle IFF_ALLMULTI correctly. [2] o Use PCIR_BAR instead of a homegrown macro. o Replace sc_enaddr[6] with sc_enaddr[ETHER_ADDR_LEN]. o Use the maximum of 256 TX descriptors for better performance as using all of them has no additional static cost rather than using just half of them. Reported by: rwatson [2] Suggested by: yongari [1] Reviewed by: yongari MFC after: 1 month
* - vx_stop() requires the driver lock to be held.marius2008-04-241-3/+5
| | | | | | - Add some missing newlines to messages printed by vx_getlink(). MFC after: 3 days
* - Use bus_{read,write}_*(9) instead of bus_space_{read,write}_*(9)marius2008-04-241-118/+155
| | | | | | | | | | | | | | | in order to get rid of bus space handle and tag in struct sym_hcb. - Remove unused members related to bus addresses in struct sym_hcb. - sym(4) takes care of allocating an instance of struct sym_hcb itself so don't let newbus allocate it as an unused softc also. - Add basic MPSAFE locking. This includes changing the sym(4) CCBs to be allocated up-front instead of on demand as needed. Besides making these allocations more likely to succeed, this also solves the problem of calling bus_dmamap_create(9) with the SIM mutex held. Reviewed by: scottl MFC after: 1 month
* - Use NULL instead of 0 for pointers.marius2008-04-241-587/+579
| | | | | | | | - Remove superfluous returns in functions returning void. - In sym_alloc_lcb_tags() return directly instead of jumping to a label which just returns. - Fix some spelling in comments. - Remove trailing whitespace.
* fdhold can return NULL, so add the one remaining missing check for thiskris2008-04-241-0/+2
| | | | | | | condition. Reviewed by: attilio MFC after: 1 week
* Use logic or, not binary or, when deciding whether or not a system callrwatson2008-04-241-1/+1
| | | | | | | | exit requires entering the audit code. The result is much the same, but they mean different things. MFC afer: 3 days Submitted by: Diego Giagio <dgiagio at gmail dot com>
* Allow the vnode zone to return the unused memory. The vnode referencekib2008-04-241-2/+2
| | | | | | | | count is/shall be properly maintained for the long time, and VFS shall be safe against the vnode memory reclamation. Proposed by: jeff Tested by: pho
* In function rtalloc_mpath(), do not try to release the lock if the ro_rtqingli2008-04-241-1/+3
| | | | | | pointer is NULL. Reported by: (pluknet at gmail dot com)
* - Include <machine/utrap.h> so this header doesn't have an MDmarius2008-04-231-5/+7
| | | | | | | dependency. - Make prototypes style(9) compliant. MFC after: 1 week
* Implement the G_PART_DUMPCONF method for all 6 schemes. Also callmarcel2008-04-237-0/+113
| | | | | | | | | | the method for the (indent == NULL) case (i.e. the kern.geom.conftxt sysctl). The purpose is to extend the conftxt output with scheme- specific fields which can be used by libdisk. In particular, have the schemes dump the xs and xt fields, which contain the backward compatible values for class type and partition type. This allows libdisk to work with the legacy slicers as well as with gpart and helps/promotes migration.
* o Rename ic_eoi to ic_clear to emphasize the functions it pointsmarius2008-04-239-65/+261
| | | | | | | | | | | | | | | | | | | don't send and EOI which works like on amd64/i386 and blocks all interrupts on the relevant interrupt controller. o Replace the post_filter and post_inthread hooks registered when creating the interrupt events with just ic_clear as on sparc64 we don't need to do any disable->EOI->enable dance to unblock all but the relevant interrupt while running the filter or handler; just not clearing the interrupt already has the same effect. o Merge from amd64/i386: - Split the intr_table_lock into an sx lock used for most things, and a spin lock to protect intrcnt_index. - Add support for binding interrupts to CPUs, including for the bus_bind_intr(9) interface, a assign_cpu hook and initially shuffling interrupts arround in a round-robin fashion. Reviewed by: jhb MFC after: 1 month
* Implement linux_truncate64() syscall.rdivacky2008-04-233-2/+18
| | | | | Tested by: Aline de Freitas <aline@riseup.net> Approved by: kib (mentor)
* Now that all platforms use genclock, shuffle things around slightlyphk2008-04-2222-33/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for better structure. Much of this is related to <sys/clock.h>, which should really have been called <sys/calendar.h>, but unless and until we need the name, the repocopy can wait. In general the kernel does not know about minutes, hours, days, timezones, daylight savings time, leap-years and such. All that is theoretically a matter for userland only. Parts of kernel code does however care: badly designed filesystems store timestamps in local time and RTC chips almost universally track time in a YY-MM-DD HH:MM:SS format, and sometimes in local timezone instead of UTC. For this we have <sys/clock.h> <sys/time.h> on the other hand, deals with time_t, timeval, timespec and so on. These know only seconds and fractions thereof. Move inittodr() and resettodr() prototypes to <sys/time.h>. Retain the names as it is one of the few surviving PDP/VAX references. Move startrtclock() to <machine/clock.h> on relevant platforms, it is a MD call between machdep.c/clock.c. Remove references to it elsewhere. Remove a lot of unnecessary <sys/clock.h> includes. Move the machdep.disable_rtc_set sysctl to subr_rtc.c where it belongs. XXX: should be kern.disable_rtc_set really, it's not MD.
* - Use a local variable for i_ino in ufs_lookup. It is only used tojeff2008-04-222-14/+10
| | | | | | | communicate between two parts of this one function. This was causing problems with shared lookups as each would trash the ino value in the inode. - Remove the unused i_ino field from the inode structure.
* Acquire a read lock, rather than a write lock, on a UDPv6 inpcb whenrwatson2008-04-221-9/+9
| | | | | | | delivering to the socket or extracting socket details for monitoring purposes. MFC after: 3 months
* Add FreeBSD IDs to files that originate in FreeBSD.jb2008-04-2214-0/+28
|
* Kill $P4$ id.rpaulo2008-04-211-2/+0
| | | | Noticed by: rwatson
* The vmspace->vm_daddr is constant until freed, there is no needrdivacky2008-04-211-2/+0
| | | | | | to hold lock while accessing it. Approved by: kib (mentor)
* Back-out previous revision. For now I can use _ddb() variants of stack(9) KPI,pjd2008-04-211-6/+3
| | | | | | | as I use it for debugging only. Once someone will need it for more production features, the change should be reconsider. Requested by: rwatson
* In ICMPv6, read lock rather than write lock the inpcb on receive.rwatson2008-04-211-4/+4
| | | | MFC after: 3 months
* With IPv4 raw sockets, read lock rather than write lock the inpcb whenrwatson2008-04-212-20/+20
| | | | | | | | | | receiving or transmitting. With IPv6 raw sockets, read lock rather than write lock the inpcb when receiving. Unfortunately, IPv6 source address selection appears to require a write lock on the inpcb for the time being. MFC after: 3 months
* Read lock, rather than write lock, the inpcb when transmitting with orrwatson2008-04-211-11/+11
| | | | | | delivering to an IP divert socket. MFC after: 3 months
* Add HW level support for the Adaptec 1420SA controller.sos2008-04-213-7/+37
|
* Unload DMA slot on device timeouts.sos2008-04-211-0/+1
|
* Do not enable FIS based PM switching, even if not used some controllers barf.sos2008-04-211-2/+2
|
* Make genclock standard on all platforms.phk2008-04-2125-29/+2
| | | | Thanks to: grehan & marcel for platform support on ia64 and ppc.
* Switch to using genclock. Have nexus double as clock device formarcel2008-04-213-77/+78
| | | | | | now. While here, add a proper attach() method to nexus. Requested by: phk
* On the AT91, we need to write on the EOI register after we handle ancognet2008-04-203-1/+14
| | | | | | | | interrupt. So, add a new function pointer, arm_post_filter, which defaults to NULL, and which will be used as the post_filter arg for intr_event_create(). Set it properly for the AT91, so that it boots again. Reported by: hps
* fix buildsam2008-04-201-1/+1
|
* 802.11 support moves to vapssam2008-04-201-1/+1
|
* Multi-bss (aka vap) support for 802.11 devices.sam2008-04-20133-21596/+26321
| | | | | | | | | | | Note this includes changes to all drivers and moves some device firmware loading to use firmware(9) and a separate module (e.g. ral). Also there no longer are separate wlan_scan* modules; this functionality is now bundled into the wlan module. Supported by: Hobnob and Marvell Reviewed by: many Obtained from: Atheros (some bits)
* move awi to the Attic; it will not make the jump to the new world ordersam2008-04-2015-3778/+1
| | | | Reviewed by: imp
* Revert to rev. 1.161 - switch back to optimized TCP options ordering.bz2008-04-201-5/+2
| | | | | | | | | | | | A lot of testing has shown that the problem people were seeing was due to invalid padding after the end of option list option, which was corrected in tcp_output.c rev. 1.146. Thanks to: anders@, s3raphi, Matt Reimer Thanks to: Doug Hardie and Randy Rose, John Mayer, Susan Guzzardi Special thanks to: dwhite@ and BitGravity Discussed with: silby MFC after: 1 day
* devclass_get_maxunit() returns n+1 with n starting at 0.bz2008-04-201-4/+5
| | | | | | | | | So if we have channel 0..3 devclass_get_maxunit is 4. It's never been a problem as devclass_get_device() has catched a possibly bad input. Discussed with: scottl
OpenPOWER on IntegriCloud