summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Create an /etc/nanobsd.conf in the built image and put the disk drive namephk2005-09-201-28/+124
| | | | | | | | | | | | | | | | | | | | | | | | | there for scripts to use. Create a noauto fstab entry for the configuration partition (/cfg). Add NANO_TOOLS env-var to point to the nanobsd sources relative to NANO_SRC. Add -h argument which prints a usage. Add -b argument which skips build steps and goes directly to install steps. Complain about extraneous arguments, it's usually a forgotten '-c' Add convenience function to register customization function. Add some sample customization functions: cust_comconsole cust_allow_ssh_root Rename setup_diskless() to setup_nanobsd(), it makes more sense. Add various comments etc.
* Mention the default location of alternative super block on adelphij2005-09-201-2/+2
| | | | | | | | UFS2 file system, in fsck_ffs(8). Submitted by: KOMATSU Shinichiro <koma2 at lovepeers ! org> PR: docs/86362 MFC After: 3 days
* Add pccard_device.cimp2005-09-202-1/+2
|
* Implement /dev/pccardN.cis. This mirrors the CIS for the card to userland.imp2005-09-204-164/+368
| | | | | | pccardc dumpcis /dev/pccardN.cis will work now, but I may rewrite pccardc. Also, move more of the private data to a new file called pccardvarp.h.
* Call the passed function on cis scanning for all nodes in the CISimp2005-09-201-0/+17
| | | | chains, not just the 'real' ones.
* Sprinkle a few stars where they belong.imp2005-09-201-4/+4
|
* Protect includes for kernel specific use from userland.ticso2005-09-191-0/+2
|
* Use monotonic 'time_uptime' instead of 'time_second' as timebaseandre2005-09-195-18/+18
| | | | for rt->rt_rmx.rmx_expire.
* Use monotonic 'time_uptime' instead of 'time_second' as timebaseandre2005-09-194-31/+31
| | | | for timeouts.
* Use monotonic time_uptime instead of 'time_second' as timebaseandre2005-09-193-14/+14
| | | | for timeouts.
* Start time_uptime with 1 instead of 0.andre2005-09-191-1/+1
| | | | Discussed with: phk
* Replace m_extadd() with macro version MEXTADD().andre2005-09-192-4/+4
|
* Replace custom mbuf writeability test with genericandre2005-09-191-2/+2
| | | | M_WRITEABLE() test covering all edge cases too.
* Dump the environment for reference.phk2005-09-191-2/+8
| | | | Add a function to add customization commands.
* Rewamp DEVFS internals pretty severely [1].phk2005-09-198-487/+465
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Give DEVFS a proper inode called struct cdev_priv. It is important to keep in mind that this "inode" is shared between all DEVFS mountpoints, therefore it is protected by the global device mutex. Link the cdev_priv's into a list, protected by the global device mutex. Keep track of each cdev_priv's state with a flag bit and of references from mountpoints with a dedicated usecount. Reap the benefits of much improved kernel memory allocator and the generally better defined device driver APIs to get rid of the tables of pointers + serial numbers, their overflow tables, the atomics to muck about in them and all the trouble that resulted in. This makes RAM the only limit on how many devices we can have. The cdev_priv is actually a super struct containing the normal cdev as the "public" part, and therefore allocation and freeing has moved to devfs_devs.c from kern_conf.c. The overall responsibility is (to be) split such that kern/kern_conf.c is the stuff that deals with drivers and struct cdev and fs/devfs handles filesystems and struct cdev_priv and their private liason exposed only in devfs_int.h. Move the inode number from cdev to cdev_priv and allocate inode numbers properly with unr. Local dirents in the mountpoints (directories, symlinks) allocate inodes from the same pool to guarantee against overlaps. Various other fields are going to migrate from cdev to cdev_priv in the future in order to hide them. A few fields may migrate from devfs_dirent to cdev_priv as well. Protect the DEVFS mountpoint with an sx lock instead of lockmgr, this lock also protects the directory tree of the mountpoint. Give each mountpoint a unique integer index, allocated with unr. Use it into an array of devfs_dirent pointers in each cdev_priv. Initially the array points to a single element also inside cdev_priv, but as more devfs instances are mounted, the array is extended with malloc(9) as necessary when the filesystem populates its directory tree. Retire the cdev alias lists, the cdev_priv now know about all the relevant devfs_dirents (and their vnodes) and devfs_revoke() will pick them up from there. We still spelunk into other mountpoints and fondle their data without 100% good locking. It may make better sense to vector the revoke event into the tty code and there do a destroy_dev/make_dev on the tty's devices, but that's for further study. Lots of shuffling of stuff and churn of bits for no good reason[2]. XXX: There is still nothing preventing the dev_clone EVENTHANDLER from being invoked at the same time in two devfs mountpoints. It is not obvious what the best course of action is here. XXX: comment out an if statement that lost its body, until I can find out what should go there so it doesn't do damage in the meantime. XXX: Leave in a few extra malloc types and KASSERTS to help track down any remaining issues. Much testing provided by: Kris Much confusion caused by (races in): md(4) [1] You are not supposed to understand anything past this point. [2] This line should simplify life for the peanut gallery.
* Use phk's kernel unit number allocator to associate unique ids to neighborsdamien2005-09-193-45/+76
| | | | | | | | in an IBSS. Store ids directly into ieee80211_node's instead of managing our own private association table. Idea and code by Sam Leffler. Submitted by: sam MFC after: 5 days
* Add #include <sys/sx.h>, devfs is going to require this shortly.phk2005-09-197-0/+7
|
* When (re)allocating space for an array of pointers to char, usecperciva2005-09-191-1/+1
| | | | | | | | | | | | sizeof(*list), not sizeof(**list). (i.e., sizeof(pointer) rather than sizeof(char)). It is possible that this buffer overflow is exploitable, but it was added after RELENG_5 forked and hasn't been MFCed, so this will not receive an advisory. Submitted by: Vitezslav Novy MFC after: 1 day
* The "SMC EZ Connect SMC2862W-G" product is not based on the Ralink RT2500USBdamien2005-09-191-1/+0
| | | | | | chipset. MFC after: 5 days
* Update the list of supported hardware.damien2005-09-191-3/+13
| | | | 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
* A single `*' character doesn't disable *ANY* form of authentication.keramida2005-09-191-1/+5
| | | | | | Make sure that this is clearly stated. Prodded by: simon, Gavin Atkinson <gavin.atkinson@ury.york.ac.uk>
* Small regression test tool to generate two forms of ENOSPC on a filerwatson2005-09-192-0/+195
| | | | | system: out of blocks, and out of inodes. Useful for exercising the uprintf(9) calls in UFS/ext2fs in order to detect races.
* 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
* Create fstab before linking stuff into /confphk2005-09-191-1/+2
|
* 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-193-13/+16
| | | | | | recent changes in a manpage. Reviewed by: cognet
* Missing ')'phk2005-09-191-1/+1
|
* 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>
* Fixed aliasing bugs in TRUNC() by using the fdlibm macros for accessbde2005-09-193-12/+26
| | | | | | | | | | | | | | | | | | | | to doubles as bits. fdlibm-1.1 had similar aliasing bugs, but these were fixed by NetBSD or Cygnus before a modified version of fdlibm was imported in 1994. TRUNC() is only used by tgamma() and some implementation-detail functions. The aliasing bugs were detected by compiling with gcc -O2 but don't seem to have broken tgamma() on i386's or amd64's. They broke my modified version of tgamma(). Moved the definition of TRUNC() to mathimpl.h so that it can be fixed in one place, although the general version is even slower than necessary because it has to operate on pointers to volatiles to handle its arg sometimes being volatile. Inefficiency of the fdlibm macros slows down libm generally, and tgamma() is a relatively unimportant part of libm. The macros act as if on 32-bit words in memory, so they are hard to optimize to direct actions on 64-bit double registers for (non-i386) machines where this is possible. The optimization is too hard for gcc on amd64's, and declaring variables as volatile makes it impossible.
* Fix the module build for snp(4).mux2005-09-191-1/+1
| | | | | Submitted by: cognet Pointy hat to: cognet
* Setting .nofinger will not hide you from root.dds2005-09-194-1/+6
|
* Fix a small typo.philip2005-09-191-1/+1
| | | | Spotted by: ceri
* Connect smbfs build on powerpc.imura2005-09-194-0/+13
|
* Fix get{w,d}{l,b}e, set{w,d}{l,b}e macros on big endian systems.imura2005-09-191-14/+11
| | | | Obtained from: NetBSD
* Remove macrosimura2005-09-195-68/+26
| | | | | 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".
* Add an option to stop 'mouse drift' in some defective/cheap mice. This stopsphilip2005-09-192-4/+89
| | | | | | | | | the pointer slowly wandering away on its own in an annoying way when the mouse isn't physically moved. PR: bin/83970 Submitted by: Lena -at- lena.kiev.ua X-MFC after: 6.0-RELEASE
* 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.
* o Extend the suite to run more than just the driver. We need to runmarcel2005-09-192-72/+75
| | | | | | mdconfig(8), because we need a disk to work on. o Extend the number of tests now that we have a disk. o Simplify the driver. All parameters are ASCII strings now.
* 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.
* Add the beginnings of a testsuite for testing GPT control requests.marcel2005-09-192-0/+223
| | | | | | | | | | | | The testsuite is based on a simple driver program that builds a request from the arguments passed to it and issues the request to Geom. The driver emits FAIL with the error string or PASS depending on whether the request completed with an error or not. A -v option has been added to the driver and causes the request to be dumped. The -v option to prove(1) controls the -v option to the driver. The testsuite itself contains a hash of which the key constitutes the arguments and the value is the expected result.
* 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.
OpenPOWER on IntegriCloud