summaryrefslogtreecommitdiffstats
path: root/sys/i386
Commit message (Collapse)AuthorAgeFilesLines
* Protect access to p_stat with sched_lock.jhb2000-12-011-0/+2
|
* Fix this slightly better by using NON_GPROF_RET instead of duplicatingjhb2000-12-011-1/+1
| | | | | | hard-coded asm. Suggested by: bde
* Change doreti to take a trapframe instead of an intrframe.jake2000-12-017-18/+14
| | | | | | Remove associated pushes of dummy units to convert frame. Reviewed by: jhb
* Revert the previous change to this file. We have to hardcode in the opcodejhb2000-11-301-1/+1
| | | | | | | for return because we do Evil Things(tm) with a 'ret' macro in asmacros.h. Noticed by: markm
* remove unneded sys/ucred.h includesalfred2000-11-301-1/+0
|
* Don't use p->p_sigstk.ss_flags to keep state of whether themarcel2000-11-306-27/+32
| | | | | | | | | | | | | | | process is on the alternate stack or not. For compatibility with sigstack(2) state is being updated if such is needed. We now determine whether the process is on the alternate stack by looking at its stack pointer. This allows a process to siglongjmp from a signal handler on the alternate stack to the place of the sigsetjmp on the normal stack. When maintaining state, this would have invalidated the state information and causing a subsequent signal to be delivered on the normal stack instead of the alternate stack. PR: 22286
* Increase NKPT from 17 to 30. This fixes the 4GB ram boot panic on bothpeter2000-11-301-1/+1
| | | | | | | | | | | | | -current and RELENG_4 with GENERIC. NKPT is the number of initial bootstrap page table pages we create for the kernel during startup. Once VM is up, we resize it as needed, but with 4G ram, the size of the vm_page_t structures was pushing it over the limit. The fact that trimmed down kernels boot on 4G ram machines suggests that we were pretty close to the edge. The "30" is arbitary, but smaller than the 'nkpt' variable on all machines that I checked.
* Don't wait forever for CPUs to stop or restart. Instead, give up after ajhb2000-11-283-6/+57
| | | | | | | timeout. If DIAGNOSTIC is turned on, then display a message to the console with a map of which CPUs failed to stop or restart. This gives an SMP box at least a fighting chance of getting into DDB if one of the other CPUs has interrupts disabled.
* Use atomic ops to close a race condition on the in_Debugger variable usedjhb2000-11-281-4/+3
| | | | to only allow 1 CPU at a time to (non-recursively) enter the debugger.
* Add bogomips to cpuinfo (set it equal to the CPU frequency, which is bogusdes2000-11-271-7/+10
| | | | | | | but not more so than Linux' definition). This should get the IBM JDK 1.3 working again. Prompted by: sobomax
* Don't scroll of the end of the help pages when using the visualdwmalone2000-11-261-2/+1
| | | | | | | option in for "boot -c". PR: 17539 Submitted by: Edwin.Groothuis@cgmd76206.chello.nl
* Lock down the network interface queues. The queue mutex must be obtainedjlemon2000-11-252-6/+16
| | | | | | | | | | | | | | before adding/removing packets from the queue. Also, the if_obytes and if_omcasts fields should only be manipulated under protection of the mutex. IF_ENQUEUE, IF_PREPEND, and IF_DEQUEUE perform all necessary locking on the queue. An IF_LOCK macro is provided, as well as the old (mutex-less) versions of the macros in the form _IF_ENQUEUE, _IF_QFULL, for code which needs them, but their use is discouraged. Two new macros are introduced: IF_DRAIN() to drain a queue, and IF_HANDOFF, which takes care of locking/enqueue, and also statistics updating/start if necessary.
* Correct a misnamed argument hidden behind a #ifdef DEBUGjlemon2000-11-251-1/+1
| | | | Found by: LINT
* Revert the last commit to the callout interface, and add a flag tojlemon2000-11-251-1/+1
| | | | | | | callout_init() indicating whether the callout is safe or not. Update the callers of callout_init() to reflect the new interface. Okayed by: Jake
* These files are mpsafe.alfred2000-11-252-0/+7
|
* o Change the argument of linux_sigreturn to be a pointer to amarcel2000-11-236-77/+72
| | | | | | | | | | struct sigframe. We need more than only the signal context. o Properly convert the signal mask when setting up the signal frame in linux_sendsig and properly convert it back in linux_sigreturn. Do some cleanups and improve style while here.
* Change the argument of linux_sigreturn to be a pointer to amarcel2000-11-231-1/+1
| | | | struct sigframe.
* Don't unregister the ioctl handlers before we verified wemarcel2000-11-231-11/+14
| | | | | | | | | | | can unload. Doing so leaves the linuxulator in a crippled state (no ioctl support) when Linux binaries are run at unload time. While here, consistently spell ELF in capitals and perform some minor style improvements. ELF spelling submitted by: asmodai
* Protect the following with a lockmgr lock:jake2000-11-221-0/+3
| | | | | | | | | | | | allproc zombproc pidhashtbl proc.p_list proc.p_hash nextpid Reviewed by: jhb Obtained from: BSD/OS and netbsd
* Assembler fixes.markm2000-11-213-7/+7
| | | | | | Fix opcodes that were typed as ".byte 0xNN, 0xMM" when an older assembler could not recognise the newer Pentium instructions. Reviewed by: jhb
* Add a consistent API to a feature that most modern CPUs have; a fastmarkm2000-11-211-0/+21
| | | | | | | | | | | | | | counter register in-CPU. This is to be used as a fast "timer", where linearity is more important than time, and multiple lines in the linearity caused by multiple CPUs in an SMP machine is not a problem. This adds no code whatsoever to the FreeBSD kernel until it is actually used, and then as a single-instruction inline routine (except for the 80386 and 80486 where it is some more inline code around nanotime(9). Reviewed by: bde, kris, jhb
* Stop handcoding a couple of instructions since gas 2.10 can properlyjhb2000-11-212-5/+2
| | | | | | assemble 16-bit code. Noticed by: markm
* Make programs which still #include <machine/{mouse,console}.h> failphk2000-11-202-14/+2
| | | | | | | at compiletime, with an explanatory error message. Previously they would only get a warning. These files will be finally removed 2001-01-15
* Duh. These have been sitting in my tree since I committed this stuff.julian2000-11-202-0/+58
| | | | | Thes are identical to what I committed except that they had the correct copyright headers. This is what I was SUPPOSED to have checked in..
* - Protect the callout wheel with a separate spin mutex, callout_lock.jake2000-11-191-0/+2
| | | | | | | | | | | - Use the mutex in hardclock to ensure no races between it and softclock. - Make softclock be INTR_MPSAFE and provide a flag, CALLOUT_MPSAFE, which specifies that a callout handler does not need giant. There is still no way to set this flag when regstering a callout. Reviewed by: -smp@, jlemon
* - Split the run queue and sleep queue linkage, so that a processjake2000-11-171-1/+1
| | | | | | | | | may block on a mutex while on the sleep queue without corrupting it. - Move dropping of Giant to after the acquire of sched_lock. Tested by: John Hay <jhay@icomtek.csir.co.za> jhb
* - Change extra sanity checks in cpu_switch() to be conditional on INVARIANTSjhb2000-11-171-31/+3
| | | | | | | instead of DIAGNOSTIC. - Remove the p_wchan check as it no longer applies since a process may be switched out during CURSIG() within msleep() or mawait(). - Remove an extra sanity check only needed during the early SMPng work.
* Add kernel option NETGRAPH_ONE2MANY.archie2000-11-161-0/+1
|
* Don't release and acquire Giant in mi_switch(). Instead, release andjhb2000-11-161-0/+2
| | | | | | | | acquire Giant as needed in functions that call mi_switch(). The releases need to be done outside of the sched_lock to avoid potential deadlocks from trying to acquire Giant while interrupts are disabled. Submitted by: witness
* remove redundant declaration of bsd_to_linux_sigset()gallatin2000-11-161-1/+0
| | | | reviewed by: marcel
* fix glaring bugs in rt signals -- copyout the right signal mask ingallatin2000-11-161-2/+3
| | | | | | | | linux_rt_sendsig() and restore the same signal mask linux does in rt_sigreturn(). This gets us saving/restoring all 64-bits of the linux sigset_t in rt signals. Reviewed by: marcel
* Assert that Giant is not owned during the main loop of ithd_loop().jhb2000-11-151-0/+1
|
* Declare the 'witness_spin_check' properly as a per-CPU variable in thejhb2000-11-151-0/+1
| | | | non-SMP case.
* vx no longer uses pci compat shims and this doesn't need a countimp2000-11-151-1/+1
|
* MFGENERIC: 1.291imp2000-11-151-0/+6
|
* Add pmtimer device, necessary for proper time keeping when apm orimp2000-11-151-0/+2
| | | | other power management devices are enabled.
* Always enable interrupts during fork_trampoline() after releasing thejhb2000-11-141-0/+3
| | | | | | | | sched_lock. This is needed for kernel threads that are created before interrupts are enabled. kthreads created by kld's that are created at SI_SUB_KLD such as the random kthread. Tested by: phk
* Proper capitalization of PCMCIA (and avoid matching pcm)jkh2000-11-141-1/+1
|
* In the year 2000, I think it's perfectly reasonable to include audiojkh2000-11-142-0/+7
| | | | support by default in GENERIC.
* Make linux_sendsig and linux_sigreturn use all 64 bits of agallatin2000-11-132-5/+56
| | | | | | | | | | | | | | | | | | linux_sigset_t by updating the linux_sigframe struct so as to include linux's "extramask" field. This field contains the upper 32-bits of the sigset. extramask sits behind a linux_fpstate struct, which I've defined primarily for padding purposes. While we're here, define LINUX_NSIG in terms of LINUX_NBPW (32) and LINUX_NSIG_WORDS (2). This fixes problems where threaded apps would accumulate a large number of zombies. This was happening because the exit signal resides in the upper 32-bits of the sigset and was never getting unmasked by the manager thread after the first child exited. PR: misc/18530 (may be related, originator not yet contacted) Reviewed by: marcel
* Fix a bug with handling of the saved interrupt state for spin mutexes injhb2000-11-131-2/+2
| | | | | | the MTX_EXIT_WITH_RECURSION() assembly macro (currently unused). Submitted by: bde
* Initialize bus_space_handle_t with zero (for PC-98).nyan2000-11-132-4/+4
|
* Revert auto-generation. The Alpha port is broken.marcel2000-11-109-6/+1125
| | | | Syncing with it is wrong.
* Make MINSIGSTKSZ machine dependent, and have the sigaltstackmarcel2000-11-095-10/+17
| | | | | | | | | | | | | | | | | | | | | | syscall compare against a variable sv_minsigstksz in struct sysentvec as to properly take the size of the machine- and ABI dependent struct sigframe into account. The SVR4 and iBCS2 modules continue to have a minsigstksz of 8192 to preserve behavior. The real values (if different) are not known at this time. Other ABI modules use the real values. The native MINSIGSTKSZ is now defined as follows: Arch MINSIGSTKSZ ---- ----------- alpha 4096 i386 2048 ia64 12288 Reviewed by: mjacob Suggested by: bde
* Sync with Alpha:marcel2000-11-099-1128/+8
| | | | | Do not use sysent.c, proto.h and syscall.h in source tree; use auto-generated versions.
* Farewell our code. We will switch acpica code from Intel.takawata2000-11-093-498/+0
| | | | | | | | | | | | | This code has help us comprehence ACPI spec . Contributors of this code is as follows(except for FreeBSD commiter): Yasuo Yokoyama, Munehiro Matsuda, and ALL acpi-jp@jp.freebsd.org people. Thanks. R.I.P.
* Fix CMSG and ALIGN macro usage.asmodai2000-11-081-13/+25
| | | | | | | | | | | | | | | | | | | Previously we had to include <machine/param.h> or <sys/param.h> bogusly due to the fact that <sys/socket.h> CMSG macros needed the ALIGN macro, which was defined in param.h. However, including param.h was a disaster for namespace pollution. This solution, as contributed by shin a while ago, fixes it elegantly by wrapping the definitions around some namespace pollution preventer definitions. This patch was long overdue. This should allow any network programmer to use <sys/socket.h> as before. PR: 19971, 20530 Submitted by: Martin Kaeske <MartinKaeske@lausitz.net> Mark Andrews <Mark.Andrews@nominum.com> Patch submitted by: shin Reviewed by: bde
* Document DISABLE_PSE.asmodai2000-11-081-0/+2
|
* Document CLUSTERDEBUG, CPU_UPGRADE_HW_CACHE and LOCKF_DEBUG.asmodai2000-11-081-0/+8
|
* Fix some further english grammar and typo's.asmodai2000-11-081-3/+3
|
OpenPOWER on IntegriCloud