aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix < >, { } and [ ] keys.Murray Stokely2003-05-161-5/+5
| | | | | | | | PR: conf/47556 Approved by: re (murray) Notes: svn path=/head/; revision=115049
* Run $S/kern/genassym.sh with the correct NM.David E. O'Brien2003-05-161-1/+1
| | | | | | | Approved by: re(blanket) Notes: svn path=/head/; revision=115048
* Catch up with the renaming of the "union" filesystem to "unionfs".Tim J. Robbins2003-05-161-1/+1
| | | | | | | | | | Fixes a problem where directory entries could show up twice: once on the top layer of the union stack, and once on the bottom layer. Approved by: re (rwatson) Notes: svn path=/head/; revision=115047
* Fix long standing bug that prevents the PT_CONTINUE, PT_KILL andDavid E. O'Brien2003-05-161-9/+10
| | | | | | | | | | | | | | | | | | | PT_DETACH ptrace(2) requests from functioning as advertised in the manual page. As described in kern/35175, the PT_DETACH request will, under certain circumstances, pass an unwanted signal on to the traced process upan detaching from it. The PT_CONTINUE request will sometimes fail if you make it pass a signal that has "properties" that differ from the properties of the signal that origionally caused the traced process to be stopped. Since PT_KILL is nothing than PT_CONTINUE with SIGKILL, it is broken too. In the PT_KILL case, this leads to an unkillable process. PR: 44011 Submitted by: Mark Kettenis <kettenis@chello.nl> Approved by: re(jhb) Notes: svn path=/head/; revision=115046
* Add a tunable/sysctl "hw.fxp_noflow" which disables flow control supportRobert Watson2003-05-161-1/+5
| | | | | | | | | | | | | | | | on if_fxp cards. When flow control is enabled, if the operating system doesn't acknowledge the packet buffer filling, the card will begin to generate ethernet quench packets, but appears to get into a feedback loop of some sort, hosing local switches. This is a temporary workaround for 5.1: the ability to configure flow control should probably be exposed by some or another management interface on ethernet link layer devices. Approved by: re (bmah) Reviewed by: mux Notes: svn path=/head/; revision=115045
* In cpu_fork(), initialize pcb_psl for the new process to PSL_KERNEL,Thomas Moestl2003-05-161-1/+1
| | | | | | | | | | | | | | | instead of taking the (userland) eflags from the trap frame and masking out PSL_I. There is no need to inherit any flags from the forking process; the old method however can cause flags set in userland for the forking process to be bogusly set in kernel mode when the newly forked process runs for the first time (in particular PSL_T, which is set for userland when the process is single-stepped; this would cause trace traps in kernel mode). Approved by: re (jhb) Notes: svn path=/head/; revision=115044
* Bring the kame(4) manual page closer to reality:Hiten Pandya2003-05-161-8/+4
| | | | | | | | | | | | | | | | - prefix(8) and gifconfig(8) are deprecated - dtcpc, dtcps were never imported (also removed from KAME CVS) - pim6dd, pim6sd and racoon are ports - inet6d does not exist on FreeBSD PR: docs/51295 Submitted by: Simon L. Nielsen <simon@nitro.dk> Content reviewed by: itojun Approved by: des (mentor), re (bmah) Notes: svn path=/head/; revision=115043
* VOP_PATHCONF() requires a vnode lock; this patch adds locking toRobert Watson2003-05-151-0/+2
| | | | | | | | | | | fpathconf(). The lock is held for direct calls to VOP_PATHCONF() in pathconf() already. Approved by: re (jhb) Pointed out by: DEBUG_VFS_LOCKS Notes: svn path=/head/; revision=115042
* This change grabs the vnode lock for NFS client vnodes when callingRobert Watson2003-05-152-1/+7
| | | | | | | | | | | | | VOP_SETATTR() or VOP_GETATTR(); without these locks (a) VFS_DEBUG_LOCKS will panic, and (b) it may be possible to corrupt entries in the cached vnode attributes in the nfsnode, since nfsnode attribute cache data is also protected by the vnode lock. Approved by: re (jhb) Pointed out by: VFS_DEBUG_LOCKS Notes: svn path=/head/; revision=115041
* Jeff added locking assertions that the VV_ flags on vnodes were modifiedRobert Watson2003-05-151-5/+11
| | | | | | | | | | | | | | | | only while holding appropriate vnode locks. This patch slides the lock release for ufs_extattr_enable() to continue to hold the active vnode lock on a backing file until after the flag change; it also acquires a vnode lock when disabling an attribute and hence clearing a flag on the backing vnode. This permits VFS_DEBUG_LOCKS to run UFS1 extended attributes without panicking, as well as preventing a potential race and vnode flag problem. Approved by: re (jhb) Pointed out by: DEBUG_VFS_LOCKS Notes: svn path=/head/; revision=115040
* Explicitly set the sandbox directory (it defaults to ~/tinderbox which isDag-Erling Smørgrav2003-05-151-6/+4
| | | | | | | | | | | | wrong when running a release tinderbox as root) Use the setup's COMMENT field in the subject of the failure report, instead of just "$branch tinderbox". Tweak the test setups. Notes: svn path=/head/; revision=115039
* 'make release' should run from src/release, not src.Dag-Erling Smørgrav2003-05-151-1/+1
| | | | Notes: svn path=/head/; revision=115038
* Make the mb_alloc low-watermark sysctl-tunable read-only and makeBosko Milekic2003-05-152-2/+9
| | | | | | | | | | | netstat(1) not display it for now because its effects are not yet completely implemented and we're about to cut 5.2-RELEASE. This is temporary. Approved by: re (scottl, rwatson) Notes: svn path=/head/; revision=115037
* fix a cut-n-paste error.Julian Elischer2003-05-151-1/+1
| | | | | | | | | | | in the case where the bridge node was closed down but a timeout still applied to it, the final reference to the node was freeing the private data structure using the wrong malloc type. Approved by: re@ Notes: svn path=/head/; revision=115036
* Do some cleanup with respect to condition variables. The implementationMike Makonnen2003-05-151-15/+14
| | | | | | | | | | | | | | | of pthread_cond_timedwait() is moved into cond_wait_common(). Pthread_cond_wait() and pthread_cond_timedwait() are now wrappers around this function. Previously, the former called the latter with the abstime pointing to 0 time. This violated Posix semantics should an application have reason to call it with that argument because instead or returning immediately it would have waited indefinitely for the cv to be signaled. Approved by: markm/mentor, re/blanket libthr Reviewed by: jeff Notes: svn path=/head/; revision=115035
* Use the installed world's idea of OSRELDATE rather than the kernel.Ruslan Ermilov2003-05-151-1/+2
| | | | | | | | | | | | This was the initial intent anyway, and it became clear that it is really necessary to treat it this way, as many people happen to run with kernel newer than the installed world. Submitted by: imp, ru Approved by: re (scottl) Notes: svn path=/head/; revision=115034
* o Make the setting/checking of cancel state atomic withMike Makonnen2003-05-151-86/+110
| | | | | | | | | | | | | | | | | respect to other threads and signal handlers by moving to the _thread_critical_enter/exit functions. o Introduce an static function, testcancel(), that is used by the other functions in this module. This allows it to make locking assumptions that the top-level functions can't. o Rework the code flow a bit to reduce indentation levels. Approved by: markm/mentor, re/blanket libthr Reviewed by: jeff Notes: svn path=/head/; revision=115033
* Generalize a quirk for Asahi Optical-based cameras (i.e. Pentax). It appearsNate Lawson2003-05-151-2/+1
| | | | | | | | | | | all of the Optio series have the same problems. It might be a better approach eventually to add wildcard support to USB quirks. PR: kern/50271, kern/46369 Approved by: re (rwatson) Notes: svn path=/head/; revision=115032
* Add a quirk for OTi USB flash key.Nate Lawson2003-05-151-0/+8
| | | | | | | | PR: kern/51825 Approved by: re (rwatson) Notes: svn path=/head/; revision=115031
* Miscellaneous fixes:Thomas Moestl2003-05-152-6/+59
| | | | | | | | | | | | | | | | | | | | - Fix compilation without GEM_DEBUG. - Do not #define GEM_DEBUG by default; it adds overhead (due to bzero()ing RX space) and is not needed any more, since the driver is quite stable now. - Fix watchdog timeouts when failing to load TX packets. - Do not forcibly limit the number of descriptors used for a packet to GEM_NTXSEGS, by passing this number to bus_dma_tag_create(). There is no requirement for a limit any lower than the total number of available descriptors, and the present limit caused network problems due to mbuf chains requiring more descriptors. GEM_NTXSEGS is still used to estimate the interrupt window size, for which we just need an estimate. Approved by: re (rwatson) Notes: svn path=/head/; revision=115030
* Only use a SIA/SYM media info block if no MII block is detected.Martin Blapp2003-05-152-4/+52
| | | | | | | | | | | | The submitter of PR 32118 told me that this patch also fixes autoselecting for znyx 4 port cards (10baseT, 100baseTX did work already). PR: 32118 Reviewed by: imp Approved by: rwatson (re) Notes: svn path=/head/; revision=115029
* Make 'clean' and 'update' commands rather than options. Invoke 'update'Dag-Erling Smørgrav2003-05-152-15/+17
| | | | | | | | (but not 'clean') in all setups. Bump tinderbox.pl version to 2.1, mostly for the 'release' command added in the previous commit. Notes: svn path=/head/; revision=115028
* Make the ENV configuration variable a hash rather than an array.Dag-Erling Smørgrav2003-05-151-12/+64
| | | | | | | | | | | | | | Build LINT on -STABLE now that tinderbox.pl knows how. Also try to build LINT on powerpc and amd64 (this is a formality as they don't have NOTES so nothing will be built) Add two setups for release testing, with plenty of NO* to speed things up. If the config key was not specified on the command line, try to guess it from the hostname. Notes: svn path=/head/; revision=115027
* Add a 'release' command which builds a release. It currently setsDag-Erling Smørgrav2003-05-151-14/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | NOCDROM, NODOC and NOPORTS to save time and space, but I may remove those at a later date so we can use the results to populate a snapshot server. Document the --machine option. Make $arch and $machine default to the correct values for the current system. This shouldn't make any difference unless you run the tinderbox on a pc98 machine, since for all other platforms, $arch and $machine are the same. Only set kernel-related variables if actually building a kernel or a release. Be paranoid and cd to the correct directory in each stage so we're sure we invoke make(1) in the right place. To support building LINT on -STABLE, don't try to 'make LINT' unless NOTES exists, but build LINT if the config file exists even if there is no NOTES. Notes: svn path=/head/; revision=115026
* use 5.006_001 (for new open() syntax)Dag-Erling Smørgrav2003-05-151-0/+1
| | | | Notes: svn path=/head/; revision=115025
* Add a Makefile for the web bits.Dag-Erling Smørgrav2003-05-152-0/+13
| | | | Notes: svn path=/head/; revision=115024
* Untabify string literals.Dag-Erling Smørgrav2003-05-151-6/+6
| | | | Notes: svn path=/head/; revision=115023
* Don't show platforms for which we have no logs.Dag-Erling Smørgrav2003-05-151-4/+8
| | | | Notes: svn path=/head/; revision=115022
* CSS uses C-style comments, not C++-style.Dag-Erling Smørgrav2003-05-151-1/+3
| | | | Notes: svn path=/head/; revision=115021
* These are the sources for the tinderbox summary page.Dag-Erling Smørgrav2003-05-154-0/+199
| | | | Notes: svn path=/head/; revision=115020
* This file creates register sets based on the runtime specification.Marcel Moolenaar2003-05-151-0/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The advantage of using register sets is that you don't focus on each register seperately, but instead instroduce a level of abstraction. This reduces the chance of errors, and also simplifies the code. The register sers form the basis of everything register. The sets in this file are: struct _special contains all of the control related registers, such as instruction pointer and stack pointer. It also contains interrupt specific registers like the faulting address. The set is roughly split in 3 groups. The first contains the registers that define a context or thread. This is the only group that the kernel needs to switch threads. The second group contains registers needed in addition to the first group needed to switch userland threads. This group contains the thread pointer and the FP control register. The third group contains those registers we need for execption handling and are used on top of the first two groups. struct _callee_saved, struct _callee_saved_fp These sets contain the preserved registers, including the NaT after spilling. The general registers (including branch registers) are seperated from the FP registers for ptrace(2). struct _caller_saved, struct _caller_saved_fp These sets contain the scratch registers based on SDM 2.1, This means that both ar.csd and ar.ccd are included here, even though they contain ia32 segment register descriptions. We keep seperate NaT bits for scratch and preserved registers, because they are never saved/restored at the same time. struct _high_fp The upper 96 FP registers that can be enabled/disabled seperately on the CPU from the lower 32 FP registers. Due to the size of this set, we treat them specially, even though they are defined as scratch registers. CVS ---------------------------------------------------------------------- Notes: svn path=/head/; revision=115019
* This file contains elementary context related functions used toMarcel Moolenaar2003-05-152-0/+1608
| | | | | | | | | | | | | | | | | | | | save and restore "sets" of registers in various places. The restorectx and swapctx functions are used by cpu_switch() and deal with the special registers, as well as the preserved registers. The *callee_saved* functions are used to save and restore the preserved registers (integer and floating-point). They are useful for signal delivery and ptrace support. The save_high_fp and restore_high_fp functions are used to "load" and "unload" to and from the CPU as part of lazy context switching. The ia32 specific context functions have been kept with the ia32 code. Approved by: re@ (blanket) Notes: svn path=/head/; revision=115018
* This file contains the code that implements the syscall path basedMarcel Moolenaar2003-05-152-0/+1130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on the epc instruction. The epc instruction, given the permissions of the page in which the epc is located, allows the privilege level to be increased with little or no overhead. The previous privilege level is recorded in the current frame marker and is restored by a regular (function) return. Since the epc instruction has to live in a page with non-standard properties, we hardwire a "gateway" page in the address space. The address of the gateway page is exported to userland in ar.k7. This allows us to rewire the page without breaking the ABI. The syscall stubs in libc are regular function calls that slightly differ from the normal runtime. The difference is mostly to simplify the stubs themselves by by moving some of the logic to the kernel. The libc stubs call into the gateway page (offset 0), from where the kernel trampolines to the code that sets up a minimal trapframe and arranges to execute from the kernel stack. The way back is basicly the same. The kernel returns to the gateway page, whereby privilege is dropped, and jumps back to the syscall stub. Only the special registers are saved in the trapframe. None of the scratch registers are preserved and since the kernel follows the same runtime model, none of the preserved registers are saved. Future enhancements can include the implementation of lightweight syscalls, where kernel functions are performed without setting up a trapframe. Good candidates are the *context syscalls for example. Now that there's a gateway page from which code can be executed in a non-privileged context, we also have the ideal place to put the signal trampolines. By moving the signal trampolines from the user stack to the gateway page, we open up the doors to unexecutable stacks. The gateway page contains signal trampolines for both the "legacy" break-based syscall code and the new and improved epc- based syscall code. Approved: re@ (blanket) Notes: svn path=/head/; revision=115017
* Initialize logical_cpus_mask when the logical CPUs are enumerated inAlan Cox2003-05-156-12/+30
| | | | | | | | | | | the mptable. (Previously, logical_cpus_mask was only initialized if the hyperthreading fixup was executed.) Approved by: re (jhb) Reviewed by: ps Notes: svn path=/head/; revision=115016
* This commit was generated by cvs2svn to compensate for changes in r115013,Marcel Moolenaar2003-05-1529-0/+5320
|\ | | | | | | | | | | | | which included commits to RCS files with non-trunk default branches. Notes: svn path=/head/; revision=115014
| * This is beta4 of libuwx; an ia64 stack unwinder. This code is madevendor/libuwx/BETA4Marcel Moolenaar2003-05-1529-0/+5320
| | | | | | | | | | | | | | | | | | | | | available by Hewlett-Packard under the MIT license. The unwinder is small, clean and fast and needed little adaptation for use in the kernel. This import has embedded in it the changes needed to make it build in a kernel environment. To optimize the common case, the kernel will minimize the number of registers saved by not saving the preserved registers. In case access to preserved registers is needed (signal handling, ptrace) the kernel will unwind to the context of the syscall or exception. For this we need an unwinder. Approved by: re (blanket) Notes: svn path=/vendor-sys/libuwx/dist/; revision=115013 svn path=/vendor-sys/libuwx/BETA4/; revision=115015; tag=vendor/libuwx/BETA4
* When getting back an NLM DENIED response for a requested lock from theRobert Watson2003-05-151-2/+2
| | | | | | | | | | | | | | | server, map it to EAGAIN locally rather than EACCES. The NLM spec indicates the DENIED corresponds to lock contention, not a permission failure. This fixes O_EXLOCK/O_SHLOCK with O_NONBLOCK, which would previously give a permission error, which in turn fixes things like mailq(8) and lockf(1) over NFS. Approved by: scottl (re) Reviewed by: truckman, Andrew P Lentvorski, Jr. <bsder@allcaps.org> Idea from: truckman Notes: svn path=/head/; revision=115012
* Allow zero or more actions in an action list, rather than requiringWarner Losh2003-05-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | one or more actions in the list. This makes constructs like: attach 10 { // echo "Driver $device_name attached" }; to be accepted by the parser. It will be treated as if the user had entered: // attach 10 { // echo "Driver $device_name attached" // }; (eg totally ignored). Approved by: re@ (rwatson) Notes: svn path=/head/; revision=115011
* Clear up that COMPAT_43 may not do the same thing on every architectureJuli Mallett2003-05-153-7/+10
| | | | | | | | | | and clear up that COMPAT_SUNOS is similarly MI, and does something relatively similar. Approved by: re/rwatson Notes: svn path=/head/; revision=115010
* Fix typo in rev 1.69. Also clarify a line.David E. O'Brien2003-05-151-1/+4
| | | | | | | Submitted by: ru Notes: svn path=/head/; revision=115007
* Collect the nastiness for preserving the kernel MSR_GSBASE around thePeter Wemm2003-05-157-36/+42
| | | | | | | | | | | | | load_gs() calls into a single place that is less likely to go wrong. Eliminate the per-process context switching of MSR_GSBASE, because it should be constant for a single cpu. Instead, save/restore it during the loading of the new %gs selector for the new process. Approved by: re (amd64/* blanket) Notes: svn path=/head/; revision=115006
* Use compile time constants for things like PTmap[] etc because they'rePeter Wemm2003-05-152-16/+3
| | | | | | | | | | about to move outside of the +/- 2GB range Suggested by: jake Approved by: re (amd64/* blanket) Notes: svn path=/head/; revision=115005
* Avoid registering for a lock on the server in the event the NFS clientRobert Watson2003-05-141-6/+11
| | | | | | | | | | | | | | has requested the lock in a non-blocking form, instead returning an immediate failure. This appears to help reduce one of my "locks get lost" symptoms involving lockf(1), which attempts a non-blocking lock attempt before actually blocking on the lock. At this point the client still gets back EACCES, which is an issue we're still working. Approved by: re (scottl) Submitted by: Andrew P. Lentvorski, Jr. <bsder@allcaps.org> Notes: svn path=/head/; revision=115004
* GCC 3.3 complains about anonymous structures in unions, soMaxime Henrion2003-05-141-7/+7
| | | | | | | | | | give the fxp_ipcb structure a name in the fxp_rfa structure. Submitted by: peter Approved by: re (jhb) Notes: svn path=/head/; revision=115003
* When giving examples of how to use extattrctl(8) to configure UFS1Robert Watson2003-05-141-4/+4
| | | | | | | | | | attributes, use the current convention for attribute directory names so that UFS_EXTATTR_AUTOSTART will work with them. Approved by: re (scottl) Notes: svn path=/head/; revision=115002
* Fix a typo that broke the pc98 kernel build.John Baldwin2003-05-142-2/+2
| | | | | | | | | Reported by: des@'s tinderbox Pointy hat to: jhb Approved by: re (blanket/scottl) Notes: svn path=/head/; revision=115001
* According to revision 1.6 of iir.c, the latest import should have resolvedTom Rhodes2003-05-141-8/+0
| | | | | | | | | | the issues listed in BUGS. Remove the BUGS section. Discussed with: bmah (awhile ago) Approved by: re (blanket) Notes: svn path=/head/; revision=115000
* mdoc(7) police: fix more breakages from rev. 1.69.Ruslan Ermilov2003-05-141-6/+6
| | | | Notes: svn path=/head/; revision=114999
* Remove the Firewire driver from the install kernel.David E. O'Brien2003-05-141-0/+3
| | | | Notes: svn path=/head/; revision=114998
* Push tl(3) [TI ThunderLAN] from the mfsroot to the driver floppy.David E. O'Brien2003-05-141-1/+1
| | | | Notes: svn path=/head/; revision=114997