aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Change the default disposition of debug.mpsafenet from 0 to 1, whichRobert Watson2004-08-283-3/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | will cause the network stack to operate without the Giant lock by default. This change has the potential to improve performance by increasing parallelism and decreasing latency in network processing. Due to the potential exposure of existing or new bugs, the following compatibility functionality is maintained: - It is still possible to disable Giant-free operation by setting debug.mpsafenet to 0 in loader.conf. - Add "options NET_WITH_GIANT", which will restore the default value of debug.mpsafenet to 0, and is intended for use on systems compiled with known unsafe components, or where a more conservative configuration is desired. - Add a new declaration, NET_NEEDS_GIANT("componentname"), which permits kernel components to declare dependence on Giant over the network stack. If the declaration is made by a preloaded module or a compiled in component, the disposition of debug.mpsafenet will be set to 0 and a warning concerning performance degraded operation printed to the console. If it is declared by a loadable kernel module after boot, a warning is displayed but the disposition cannot be changed. This is implemented by defining a new SYSINIT() value, SI_SUB_SETTINGS, which is intended for the processing of configuration choices after tunables are read in and the console is available to generate errors, but before much else gets going. This compatibility behavior will go away when we've finished the last of the locking work and are confident that operation is correct. Notes: svn path=/head/; revision=134443
* Tag a last set of PCI network interfaces as IFF_NEEDSGIANT until theyRobert Watson2004-08-288-8/+16
| | | | | | | are either locked down or demonstrated MPSAFE. Notes: svn path=/head/; revision=134442
* Add a few helper functions for zeroing kernel space and readingIan Dowse2004-08-283-37/+82
| | | | | | | from specified file offsets. Make use of these in load_elf.c. Notes: svn path=/head/; revision=134441
* Also, match the full path to the special nologin shell.Mike Makonnen2004-08-281-1/+2
| | | | | | | | | | | | | Previously, it would recognize it as a valid shell only if the basename (nologin) was specified. Now, it will recognize both the basename and the full path. NOTE: The full path as adduser(8) understands it is /usr/sbin/nologin. There is a symlink, /sbin/nologin, but that's deprecated and only there for backwards compatibility. Notes: svn path=/head/; revision=134440
* Add genericize, a Perl script that converts a kernel config into somethingDag-Erling Smørgrav2004-08-283-0/+115
| | | | | | | more easily diffable against GENERIC. Notes: svn path=/head/; revision=134439
* Symlink missing lt_LT.ISO8859-4 LC_MONETARY, LC_MESSAGES and LC_NUMERICTim J. Robbins2004-08-283-0/+6
| | | | | | | data files to the ISO8859-13 versions. Notes: svn path=/head/; revision=134438
* Add Basque (Spain) locales: eu_ES.ISO8859-1, eu_ES.ISO8859-15, eu_ES.UTF-8.Tim J. Robbins2004-08-2810-10/+161
| | | | | | | | | | | (This differs somewhat from the version originally submitted - any mistakes are my own.) PR: 68524 Submitted by: J. Vicente Carrasco -Bixen- Notes: svn path=/head/; revision=134437
* Re-generate from ru_RU.KOI8-R.src. Due to a bug in either iconv orTim J. Robbins2004-08-281-1/+1
| | | | | | | | | ru_RU.CP866.src, the previous version of this file contained a strange conversion error: nostr had U+255C BOX DRAWINGS UP DOUBLE AND LEFT SINGLE instead of U+0435 CYRILLIC SMALL LETTER IE. Notes: svn path=/head/; revision=134434
* Add support Corega CG-LAPCIGT Gigabit Ethernet(8169S)MIHIRA Sanpei Yoshiro2004-08-283-0/+9
| | | | | | | | | PR: [FreeBSD-users-jp 80667] Submitted by: FUJIMOTO Kou <fujimoto@j.dendai.ac.jp> MFC after: 1 week Notes: svn path=/head/; revision=134433
* Don't be too smart, just try packet mode of INT13 first.Yaroslav Tykhiy2004-08-282-5/+9
| | | | | | | | | | | | | | | | | | This way of operation is more robust than the "AI" used before. Add flags to mbr accessible from make.conf as BOOT_MBR_FLAGS. Only one flag is defined now, "allow using packet mode", which is 0x80 in accord with the rest of i386 boot code. The "packet" flag is on by default. PR: i386/70241 Submitted by: Valentin Nechayev <netch <@> netch.kiev.ua> (inital version) Discussed with: jhb (by Valentin Nechayev) Tested on: bochs (with EDD turned on or off by patching the BIOS), PCs Notes: svn path=/head/; revision=134431
* Try packet mode of INT13 on a hard disk first if not prohibited byYaroslav Tykhiy2004-08-281-19/+21
| | | | | | | | | | | | | | the flag, fall back to the old INT13/AH=02 function if that fails. This way of operation is less likely to fail with modern BIOSes and large disks of strange geometries. PR: i386/70241 Submitted by: Valentin Nechayev <netch <@> netch.kiev.ua> (inital version) Discussed with: jhb (by Valentin Nechayev) Tested on: bochs (with EDD turned on or off by patching the BIOS), PCs Notes: svn path=/head/; revision=134430
* Avoid double appearing of cloned interfaces in the outputYaroslav Tykhiy2004-08-281-3/+4
| | | | | | | | | | | | | | | | | | from list_net_interfaces() when network_interfaces=auto. Rationale: Since the auto case is special, the lesser evil had to be chosen among not adding cloned interfaces to _tmplist or removing duplicates from _tmplist after adding cloned interfaces. Since list_net_interfaces() must not use /usr/bin tools, the former "evil" appeared clearer and much more efficient. (See the PR audit trail for discussion.) PR: conf/63700 Reviewed by: brooks MFC after: 5 days Notes: svn path=/head/; revision=134429
* Make -C and -T work correctly together.Tim Kientzle2004-08-281-4/+5
| | | | | | | | MFC after: 3 days Thanks to: Guy Helmer Notes: svn path=/head/; revision=134427
* 1. try to use existing mailbox address in thread_update_usr_ticks.David Xu2004-08-281-4/+6
| | | | | | | 2. remove '\n' in KASSERT. Notes: svn path=/head/; revision=134426
* Move TDF_CAN_UNBIND to thread private flags td_pflags, this eliminatesDavid Xu2004-08-282-23/+7
| | | | | | | | | | need of sched_lock in some places. Also in thread_userret, remove spare thread allocation code, it is already done in thread_user_enter. Reviewed by: julian Notes: svn path=/head/; revision=134425
* document that m_free returns m_next of the free'd mbufJohn-Mark Gurney2004-08-281-1/+5
| | | | Notes: svn path=/head/; revision=134424
* Recognize and skip 'x' and 'g' pax extension entries. In particular,Tim Kientzle2004-08-281-0/+15
| | | | | | | | | | this avoids the creation of "PaxHeader" dirs when unpacking pax-format tar archives such as those written by bsdtar. MFC after: 3 days Notes: svn path=/head/; revision=134423
* Warn the user if we are not going to use the whole provider's space.Pawel Jakub Dawidek2004-08-281-1/+21
| | | | Notes: svn path=/head/; revision=134422
* Use sc->sc_mediasize instead of sc->sc_provider->mediasize which containsPawel Jakub Dawidek2004-08-281-4/+3
| | | | | | | exactly the same value, but is shorter. Notes: svn path=/head/; revision=134421
* Warn the user if we are not going to use whole provider space.Pawel Jakub Dawidek2004-08-282-9/+21
| | | | | | | Requested by: Michael Handler <handler@grendel.net> Notes: svn path=/head/; revision=134420
* - If error string begins with "warning: ", don't exit, treat it as a warningPawel Jakub Dawidek2004-08-281-4/+6
| | | | | | | | only. - Use getprogname() function when informing about versions problem. Notes: svn path=/head/; revision=134419
* Don't allow to insert providers, which are too small.Pawel Jakub Dawidek2004-08-281-0/+4
| | | | | | | Reported by: Michael Handler <handler@grendel.net> Notes: svn path=/head/; revision=134418
* Backout the previous backout (with scott's ok). sched_ule.c:1.122 isPeter Wemm2004-08-281-0/+2
| | | | | | | believed to fix the problem with ULE that this change triggered. Notes: svn path=/head/; revision=134417
* s/smp_rv_mtx/smp_ipi_mtx/gDavid E. O'Brien2004-08-286-23/+23
| | | | | | | Requested by: jhb Notes: svn path=/head/; revision=134416
* Commit Jeff's suggested changes for avoiding a bug that is exposed byPeter Wemm2004-08-281-4/+2
| | | | | | | | | | preemption and/or the rev 1.79 kern_switch.c change that was backed out. The thread was being assigned to a runq without adding in the load, which would cause the counter to hit -1. Notes: svn path=/head/; revision=134415
* - Auto generate device listings for the following drivers: snd_ad1816,Simon L. B. Nielsen2004-08-273-52/+23
| | | | | | | | | snd_cmi, snd_cs4281, snd_ds1, snd_emu10k1, snd_es137x, and snd_solo. MFC after: 5 days Notes: svn path=/head/; revision=134414
* remove unused prototypeSøren Schmidt2004-08-271-1/+0
| | | | Notes: svn path=/head/; revision=134413
* Make code ready to switch debug.mpsafenet to 1 since I've not able toRoman Kurakin2004-08-272-2/+4
| | | | | | | commit MPSAFE code for now it is just IFF_NEEDSGIANT. Notes: svn path=/head/; revision=134412
* Add manual pages for several sound drivers.Simon L. B. Nielsen2004-08-279-0/+508
| | | | | | | | | Submitted by: Atte Peltomaki <koston@iki.fi> Reviewed by: cg MFC after: 5 days Notes: svn path=/head/; revision=134411
* Catch up with the drive-by renaming of IA32 to COMPAT_IA32. MissedMarcel Moolenaar2004-08-271-2/+2
| | | | | | | | 11 days ago when all the other places were fixed and finally caught by the tinderbox run... Notes: svn path=/head/; revision=134410
* Forced commit to add additional comment.Justin T. Gibbs2004-08-270-0/+0
| | | | | | | | | | | | | | | | | | o Add MOUSE_PS2_TAP into syncmask[0] correctly when we're built with PSM_CONFIG_FORCETAP. The previous code from revision 1.56 attempted to do this but updated the a mask variable that would be clobbered later. o If syncmask[1] hasn't yet been set when ioctl(MOUSE_GETMODE) is called, zero syncmask[0] and syncmask[1] so that sync validation is effectively disabled in userland applications and moused doesn't misbehave. The psm driver performs sync validation so there is no loss in functionality in clearing the sync mask. o If PSM_NEED_SYNCBITS is set, setup syncmask[1], even if it's already correct. This prevents the PSM_NEED_SYNCBITS bit from being left on after a re-initialisation and erroneously causing a subsequent out-of-sync packet to mis-set syncmask[1]. Notes: svn path=/head/; revision=134409
* - Improve handling of trailing punctuation characters for the Xr macro.Simon L. B. Nielsen2004-08-271-3/+7
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=134408
* Move config_new_drive() to the correct place and rename it toLukas Ertl2004-08-273-32/+30
| | | | | | | gv_config_new_drive(). Notes: svn path=/head/; revision=134407
* Fix a comment, IA32 was renamed to COMPAT_IA32Tilman Keskinoz2004-08-271-1/+1
| | | | | | | Approved by: marcel Notes: svn path=/head/; revision=134406
* Improve sync recovery algorithm:Justin T. Gibbs2004-08-272-194/+238
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o Remove PSM_SYNCERR_THRESHOLD1. This value specified how many sync errors were required before the mouse is re-initialised. Re-initialisation is now done after (packetsize * 2) sync errors as things aren't likely to improve after that. o Reset lastinputerror when re-initialisation occurs. We don't want to continue to drop data after re-initialisation. o Count the number of failed packets independently of the syncerrors statistic. syncerrors is useful for recovering sync within a single packet. pkterrors allows us to detect when the mouse changes its packet mode due to some external event (e.g. KVM switch). o Reinitialize the mouse if we see more than psmpkterrthresh errors during the validation period. The validation period begins as soon as a sync error is detected and continues until psmerrsecs/msecs time has elapsed. The defaults for these two values force a reset if we see two packet errors in a 2 second period. This allows rapid detection of packet framing errors caused by the mouse changing packet modes. o Export psmpkterrthresh as a sysctl o Export psmloglevel as a sysctl. o Enable more debugging code to be enabled at runtime via psmloglevel. o Simplify verbose conditioned loging by using a VLOG macro. o Add several comments describing the sync recovery algorithm of this driver. Large Portions by: Brian Somers <brian@Awfulhak.org> Inspired and Frustrated by: Belkin KVMs Reviewed by: njl, philip Notes: svn path=/head/; revision=134405
* Poll() uses the array smallbits that is big enough to hold 32 structAndre Oppermann2004-08-271-3/+3
| | | | | | | | | | | | | | | pollfd's to avoid calling malloc() on small numbers of fd's. Because smalltype's members have type char, its address might be misaligned for a struct pollfd. Change the array of char to an array of struct pollfd. PR: kern/58214 Submitted by: Stefan Farfeleder <stefan@fafoe.narf.at> Reviewed by: bde (a long time ago) MFC after: 3 days Notes: svn path=/head/; revision=134404
* From __FreeBSD_version 600001 on PFIL_HOOKS is permanently in the kernel andAndre Oppermann2004-08-272-2/+3
| | | | | | | doesn't require to include opt_pfil_hooks.h. Notes: svn path=/head/; revision=134402
* - Auto generate device listing for ath(4).Simon L. B. Nielsen2004-08-273-8/+3
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=134401
* opt_pfil_hooks.h is no longer required.Andre Oppermann2004-08-271-1/+0
| | | | Notes: svn path=/head/; revision=134400
* When detaching an interface, don't leave an obsolete pointer to theBrooks Davis2004-08-271-0/+1
| | | | | | | | | | soon to be deleted struct ifnet around. PR: kern/52260 MFC After: 3 days Notes: svn path=/head/; revision=134399
* Move the kernel-specific logic to adjust frompc from MI to MD. ForMarcel Moolenaar2004-08-278-38/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | these two reasons: 1. On ia64 a function pointer does not hold the address of the first instruction of a functions implementation. It holds the address of a function descriptor. Hence the user(), btrap(), eintr() and bintr() prototypes are wrong for getting the actual code address. 2. The logic forces interrupt, trap and exception entry points to be layed-out contiguously. This can not be achieved on ia64 and is generally just bad programming. The MCOUNT_FROMPC_USER macro is used to set the frompc argument to some kernel address which represents any frompc that falls outside the kernel text range. The macro can expand to ~0U to bail out in that case. The MCOUNT_FROMPC_INTR macro is used to set the frompc argument to some kernel address to represent a call to a trap or interrupt handler. This to avoid that the trap or interrupt handler appear to be called from everywhere in the call graph. The macro can expand to ~0U to prevent adjusting frompc. Note that the argument is selfpc, not frompc. This commit defines the macros on all architectures equivalently to the original code in sys/libkern/mcount.c. People can take it from here... Compile-tested on: alpha, amd64, i386, ia64 and sparc64 Boot-tested on: i386 Notes: svn path=/head/; revision=134398
* - For column lists: ignore first item when it is likely to be a header.Simon L. B. Nielsen2004-08-271-18/+55
| | | | | | | | | | | - Clean up and improve handling of trailing punctuation characters. - Handle the Pa macro. - Give a warning when ignoring unimplemented mdoc commands. MFC after: 3 days Notes: svn path=/head/; revision=134397
* Bump __FreeBSD_version to indicate permanent PFIL_HOOKS.Andre Oppermann2004-08-271-1/+1
| | | | Notes: svn path=/head/; revision=134396
* Provide extern declarations for btext and etext when GPROF is defined.Marcel Moolenaar2004-08-271-0/+5
| | | | | | | These are referenced in subr_prof.c when building a profiling kernel. Notes: svn path=/head/; revision=134395
* Have the linker provide the btext symbol when referenced. This is neededMarcel Moolenaar2004-08-271-0/+1
| | | | | | | | for profiling kernels. Apparently, nobody has ever tried to build one on alpha... Notes: svn path=/head/; revision=134394
* The machine-independent parts of the virtual memory system always pass aAlan Cox2004-08-274-64/+0
| | | | | | | | | | valid pmap to the pmap functions that require one. Remove the checks for NULL. (These checks have their origins in the Mach pmap.c that was integrated into BSD. None of the new code written specifically for FreeBSD included them.) Notes: svn path=/head/; revision=134393
* Semi-gratuitous white space synchronization with KAME tree: to reduceRobert Watson2004-08-271-10/+12
| | | | | | | | | diffs against #ifdef'd version of IPSEC, use "struct thread *p" rather than "struct proc *p", fix some white space, and make some already inconsistent white space inconsiste differently. Notes: svn path=/head/; revision=134392
* Apply error and success logic consistently to the function netisr_queue() andAndre Oppermann2004-08-2716-28/+25
| | | | | | | | | | | | | | | | | | | | | its users. netisr_queue() now returns (0) on success and ERRNO on failure. At the moment ENXIO (netisr queue not functional) and ENOBUFS (netisr queue full) are supported. Previously it would return (1) on success but the return value of IF_HANDOFF() was interpreted wrongly and (0) was actually returned on success. Due to this schednetisr() was never called to kick the scheduling of the isr. However this was masked by other normal packets coming through netisr_dispatch() causing the dequeueing of waiting packets. PR: kern/70988 Found by: MOROHOSHI Akihiko <moro@remus.dti.ne.jp> MFC after: 3 days Notes: svn path=/head/; revision=134391
* Diff reduce against KAME: minor white space synchronization to KAMERobert Watson2004-08-271-4/+4
| | | | | | | tree. Notes: svn path=/head/; revision=134390
* Hide a printf under bootverbose.Poul-Henning Kamp2004-08-271-1/+3
| | | | Notes: svn path=/head/; revision=134389