summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Add #include <sys/sx.h>, devfs is going to require this shortly.phk2005-09-197-0/+7
|
* The "SMC EZ Connect SMC2862W-G" product is not based on the Ralink RT2500USBdamien2005-09-191-1/+0
| | | | | | chipset. MFC after: 5 days
* Add GIANT_REQUIRED and WITNESS sleep warnings to uprintf() and tprintf(),rwatson2005-09-1925-14/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | as they both interact with the tty code (!MPSAFE) and may sleep if the tty buffer is full (per comment). Modify all consumers of uprintf() and tprintf() to hold Giant around calls into these functions. In most cases, this means adding an acquisition of Giant immediately around the function. In some cases (nfs_timer()), it means acquiring Giant higher up in the callout. With these changes, UFS no longer panics on SMP when either blocks are exhausted or inodes are exhausted under load due to races in the tty code when running without Giant. NB: Some reduction in calls to uprintf() in the svr4 code is probably desirable. NB: In the case of nfs_timer(), calling uprintf() while holding a mutex, or even in a callout at all, is a bad idea, and will generate warnings and potential upset. This needs to be fixed, but was a problem before this change. NB: uprintf()/tprintf() sleeping is generally a bad ideas, as is having non-MPSAFE tty code. MFC after: 1 week
* Drop current rtentry lock before calling rt_getifa(). This fixes a LORglebius2005-09-191-3/+3
| | | | | | | and a possible recursive use of rtentry mutex. PR: kern/69356 Reviewed by: sam
* It's safe to wait for command completion in iwi_config().damien2005-09-191-1/+2
| | | | MFC after: 5 days
* Fix genassym.o dependencies.ru2005-09-191-1/+4
|
* Remove duplicate if_free().imp2005-09-191-1/+0
| | | | Submitted by: ru@
* Remove mac_create_root_mount() and mpo_create_root_mount(), whichrwatson2005-09-197-73/+0
| | | | | | | | | | | | | | | | | provided access to the root file system before the start of the init process. This was used briefly by SEBSD before it knew about preloading data in the loader, and using that method to gain access to data earlier results in fewer inconsistencies in the approach. Policy modules still have access to the root file system creation event through the mac_create_mount() entry point. Removed now, and will be removed from RELENG_6, in order to gain third party policy dependencies on the entry point for the lifetime of the 6.x branch. MFC after: 3 days Submitted by: Chris Vance <Christopher dot Vance at SPARTA dot com> Sponsored by: SPARTA
* Relocate direct map specs into struct alpha_chipset.ticso2005-09-1911-33/+76
| | | | | Prepare for PCI Scatter-Gather map. Panic if driver tries alpha_XXX_dmamap() out of range.
* Restore the ability to detach from a tty via SIOCSTTY and documentru2005-09-191-5/+5
| | | | | | recent changes in a manpage. Reviewed by: cognet
* sample.c needs ath magic include pathphk2005-09-191-1/+2
|
* Dej'a vu of revision 1.35glebius2005-09-191-1/+1
| | | | | PR: kern/86258 Submitted by: Hiroshi Oota <ghelp excite.co.jp>
* Fix the module build for snp(4).mux2005-09-191-1/+1
| | | | | Submitted by: cognet Pointy hat to: cognet
* Connect smbfs build on powerpc.imura2005-09-191-0/+1
|
* Remove macrosimura2005-09-191-48/+0
| | | | | htole{s,l,q}, letoh{s,l,q}, htobe{s,l,q}, betoh{s,l,q} and replace it with more standard byteorder macros in our system.
* Dont wait for READY on ATAPI_IDENTIFY.sos2005-09-191-1/+5
| | | | | Fixes the losage of some ATAPI device that reported failed probing with "timeout waiting for read DRQ".
* Fix configuration locking in MD.phk2005-09-191-116/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove md_mtx. Remove GIANT from the mdctl device driver and avoid DROP_GIANT, PICKUP_GIANT and geom events since we can call into GEOM directly now. Pick up Giant around vn_close(). Apply an exclusive sx around mdctls ioctl and preloading to protect lists etc.. Don't initialize our lock (md_mtx or md_sx) from a SYSINIT when there is a perfectly good pair of _fini/_init functions to do it from. Prune any final fractional sector from the mediasize to keep GEOM happy. Cleanups: Unify MDIOVERSION check in (x)mdctlioctl() Add pointer to start() routine to softc to eliminate a switch{} Inline guts of mddetach(). Always pass error pointer to mdnew(), simplify implementation.
* Last change to this file actually removed the oldcard compat code.imp2005-09-191-2/+1
| | | | This change removes one last K&Rism.
* Make sure that we call if_free(ifp) after bus_teardown_intr. Since weimp2005-09-1931-62/+55
| | | | | | | could get an interrupt after we free the ifp, and the interrupt handler depended on the ifp being still alive, this could, in theory, cause a crash. Eliminate this possibility by moving the if_free to after the bus_teardown_intr() call.
* o Don't cause a panic when the control request lacks a verb.marcel2005-09-181-5/+9
| | | | | o Don't set the error twice when the named class does not exist. It causes ioctl(2) to return with error EEXIST.
* Move the UUID generator into its own function, called kern_uuidgen(),marcel2005-09-182-29/+41
| | | | | | so that UUIDs can be generated from within the kernel. The uuidgen(2) syscall now allocates kernel memory, calls the generator, and does a copyout() for the whole UUID store. This change is in support of GPT.
* Add three new read-only socket options, which allow regression testsrwatson2005-09-182-0/+20
| | | | | | | | | | | | | | | and other applications to query the state of the stack regarding the accept queue on a listen socket: SO_LISTENQLIMIT Return the value of so_qlimit (socket backlog) SO_LISTENQLEN Return the value of so_qlen (complete sockets) SO_LISTENINCQLEN Return the value of so_incqlen (incomplete sockets) Minor white space tweaks to existing socket options to make them consistent. Discussed with: andre MFC after: 1 week
* No ED_NO_MIIBUS no more. Not one more or the same number of non positive ↵imp2005-09-181-1/+0
| | | | options
* MFp4:imp2005-09-183-125/+149
| | | | | | | | | | | | | | | | | | o eliminate the ED_NO_MIIBUS option. Now, you need miibus to use ed with pccard. If you have an old ISA or PCI card w/o a miibus, then you'll still be able to use the ed driver w/o miibus in the kernel. If you have pccard you'll need mii now. Most pccards these days have miibus, and many cards have ISSUES if you don't attach miibus. issues I don't want to constantly rediagnose. - Add new media_ioctl, mediachg and tick function pointers. The core driver will call these if they aren't NULL, or return an error if they are. - migrate remaining mii code into if_ed_pccard. o include some notes from my datasheet fishing. this may allow us to get media status from some pccards. o Fix one bug that's common to many drivers. call if_free(ifp) after we tear down the interrupt. ed_intr() depends on ifp being there and freeing it while interrupts can still happen is, ummm, bad.
* Slightly change the API for the SNPSTTY ioctl so that the userland nowcognet2005-09-182-9/+16
| | | | | | | provides a file descriptor instead of a dev_t. Discussed with: phk MFC after: 3 days
* Take a first cut at cleaning up ifnet removal and multicast socketrwatson2005-09-183-8/+20
| | | | | | | | | | | | | | | | | | | | | | | panics, which occur when stale ifnet pointers are left in struct moptions hung off of inpcbs: - Add in_ifdetach(), which matches in6_ifdetach(), and allows the protocol to perform early tear-down on the interface early in if_detach(). - Annotate that if_detach() needs careful consideration. - Remove calls to in_pcbpurgeif0() in the handling of SIOCDIFADDR -- this is not the place to detect interface removal! This also removes what is basically a nasty (and now unnecessary) hack. - Invoke in_pcbpurgeif0() from in_ifdetach(), in both raw and UDP IPv4 sockets. It is now possible to run the msocket_ifnet_remove regression test using HEAD without panicking. MFC after: 3 days
* Add the KLD to the sndstat info.netchild2005-09-181-1/+1
|
* Merge NetBSD fixes (except for 1.97 there should be no functional change):netchild2005-09-181-185/+237
| | | | | | | | | 1.94: ansify and KNF (NetBSD KNF). 1.95: Fix DPRINTF (bug from change in 1.94). 1.96: NetBSD specific. 1.97: Fix memory leak reported by Ted Unangst as bug #3 on tech-kern. Obtained from: NetBSD
* - In gem_ioctl() move the call to ether_ioctl() to the default case ofmarius2005-09-181-47/+29
| | | | | | | | | | | | | | | | | | | | | | | | | the switch statement in order to make this driver more like other Ethernet NIC drivers. - In gem_attach() call gem_stop() in addition to gem_reset() to make sure the chip actually is stopped and not just reset. - In gem_stop() also stop the gem_rint_timeout() callout in case the driver is compiled with GEM_RINT_TIMEOUT defined. Merge some locking improvements from hme(4): - Use callout_init_mtx() to close races between gem_stop() and gem_tick() as weel as gem_stop() and gem_rint() in case the driver is compiled with GEM_RINT_TIMEOUT defined. - Use the driver lock instead of Giant in a bus dma callback. - Lock the driver lock around mii operations. - Cleanup locking in gem_ioctl(). - Remove redundant assertions that the driver lock is not held in gem_attach() and gem_detach() since mtx_lock() will assert that already since the driver lock is not recursive. - Add callout_drain()'s to gem_detach() after calling gem_stop() to make sure that if softclock is running on another CPU and is blocked on our driver lock, we will wait until it has acquired the lock, seen that it was cancelled, dropped the lock, and awakened us so that we can safely destroy the mutex.
* ehcivar.h:netchild2005-09-184-12/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | Synchronise with NetBSD upto rev 1.19: - Allow 32 chars in the saved vendor string. - Some NetBSD-only changes. - Some missing parts (define, variable). ehci_pci.c: Add vendor ids for ATI and Philips. Add identification strings for the following: o ALi's M5239 o AMD 8111 o ATI SB200, SB400 o Intel 6300ESB, ICH4, ICH5, ICH7 o NVIDIA nForce 2, nForce 3, nForce 4 o Philips ISP156x ehcireg.h: We're at the same level as rev 1.18 from NetBSD. usb_port.h: NetBSD/OpenBSD specific things Obtained from: NetBSD via DragonFly No comment from: usb@
* Fix spelling in a comment.rwatson2005-09-181-1/+1
| | | | MFC after: 3 days
* Assert that (vp) is locked in fifo_close(), since we rely on therwatson2005-09-181-0/+1
| | | | | | | exclusive vnode lock to synchronize the reference counts on struct fifoinfo. MFC after: 3 days
* Re-comment sbcompress() to explain what it is it does; it took merwatson2005-09-182-14/+40
| | | | | | | | | | quite a bit of reading to figure it out, and I want to avoid figuring it out again. Convert an if (foo) else printf("this is almost a panic") into a KASSERT. MFC after: 3 days
* Introduce a kernel config for the Mandatory Access Control framework.csjp2005-09-187-0/+196
| | | | | | | | This kernel config briefly describes some of the major MAC policies available on FreeBSD. The hope is that this will raise the awareness about MAC and get more people interested. Discussed with: scottl
* MFi386: pci attribute allocation fixes.imp2005-09-183-2/+6
|
* MFp4: Expose device_probe_child()imp2005-09-182-1/+2
|
* Expose legacy_pcib_alloc_resource, and use it in the mptable pci busimp2005-09-173-2/+4
| | | | | | | implementation, like other routines in the legacy bus. This should fix problems with resource allocation on MP systems without ACPI enabled.
* Implement new world order in VFS locking for ACLs. This will remove thecsjp2005-09-173-132/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unconditional acquisition of Giant for ACL related operations. If the file system is set as being MP safe and debug.mpsafevfs is 1, do not pickup giant. For any operations which require namei(9) lookups: __acl_get_file __acl_get_link __acl_set_file __acl_set_link __acl_delete_file __acl_delete_link __acl_aclcheck_file __acl_aclcheck_link -Set the MPSAFE flag in NDINIT -Initialize vfslocked variable using the NDHASGIANT macro For functions which operate on fds, make sure the operations are locked: __acl_get_fd __acl_set_fd __acl_delete_fd __acl_aclcheck_fd -Initialize vfslocked using VFS_LOCK_GIANT before we manipulate the vnode Discussed with: jeff
* o Add initial bits for IBSS support.damien2005-09-173-25/+110
| | | | | | | | | | o Allow association with APs that do not broadcast SSID (with hints from Nick Hudson and Hajimu Umemoto). o IFQ_DRV_PREPEND mbuf when h/w ring is full so it can be sent later. o Increment if_oerrors when appropriate. o Did some cleanup while I'm here. MFC after: 1 day
* Complete rewrite in preparation of adding support for controlmarcel2005-09-171-154/+726
| | | | | | | | | | | | | | | | | requests. The following features have been added: 1. Extensive checking and validation of both the primary and secondary headers to protect against corrupted data and to take advantage of the redundancy to allow the GPT to be used in the face of recoverable corruption. 2. Dynamic data-structures to avoid hardcoding gratuitous table limits so as to support the creation of GPT tables of (as of yet) unspecified size. 3. Only allow kernel dumps to swap partitions to provide the necessary anti-footshooting measures. Linux swap partitions are allowed. 4. Complete dump of the GPT configuration, including labels. 5. Supports Byte Order Mark (U+FEFF) handling for big-endian, little-endian and mixed-endian partition names.
* o Change the type of the ent_name field from short to uint16_t.marcel2005-09-171-1/+1
| | | | | | UTF-16 characters are not negative. o Change the corresponding comment from UNICODE-16 to UTF-16. There's no such thing as UNICODE-16.
* Add a new AGP driver for ATI IGP chipsets. The driver is based on reading ofanholt2005-09-176-1/+798
| | | | | | | | | the Linux driver, since specs are unavailable. Many thanks to Adam Kirchhoff for multiple useful testing cycles, and Ralf Wostrack for the final fix to get it working. PR: i386/75251 Submitted by: anholt
* Fix agp_nvidia.c to behave more like the linux driver, fixing DRI on Radeonanholt2005-09-162-22/+40
| | | | | | | | | | | | 9200 according to one responder. The primary issue was not setting some bits to say that the entries were active, but also fix one place where some memory wasn't being used as volatile as it should. While here, change some use of ffs to a relatively short case statement, to make it more obvious what's going on. PR: kern/71638, kern/72372, kern/71547? Submitted by: Andrew J. Caines <A.J.Caines@halplant.com>, Robin Schoonover <end@endif.cjb.net>, Jason Henson <jason@ec.rr.com>
* The arguments to printf() were swapped.ru2005-09-161-2/+2
|
* Break out of loop if next buffer pointer has become invalid while flushingtegge2005-09-161-0/+15
| | | | | | current buffer. Reviewed by: kan
* Fix "struct ifnet" leak if attach() fails in the middle.ru2005-09-165-3/+12
|
* Do assorted nitpicking in diagnostics while I'm here:yar2005-09-161-9/+9
| | | | | | - Use __func__ consistently instead of copying function name to message strings. Code tends to migrate around source files. - DIAGNOSTIC is for information, INVARIANTS is for panics.
* Avoid deferencing NULL in if_free().ru2005-09-161-3/+2
|
* It's nice to have relevant comments both in if {} and else {},yar2005-09-161-1/+4
| | | | not in just one of them.
* Test the new M_VLANTAG packet flag before callingyar2005-09-161-2/+5
| | | | | | | | | | m_tag_locate(). This adds little overhead of a simple bitwise operation in case hardware VLAN acceleration is on, yet saves the more expensive function call if the acceleration is off. Reviewed by: ru, glebius X-MFC-after: 6.0
OpenPOWER on IntegriCloud