summaryrefslogtreecommitdiffstats
path: root/sys/i386
Commit message (Collapse)AuthorAgeFilesLines
* Export the physical address of the RSDP to userland by meansmarcel2002-12-181-11/+29
| | | | | | | | | | of the `machdep.acpi_root' sysctl. This is required on ia64 because the root pointer hardly ever, if at all, lives in the first MB of memory and also because scanning the first MB of memory can cause machine checks. This provides a save and reliable way for ACPI tools to work with the tables if ACPI support is present in the kernel. On ia64 ACPI is non-optional.
* Back out 1.19 to rethink approachnjl2002-12-171-2/+2
| | | | Requested by: julian@
* Automatically issue a "continue" along with the "detach" command. Thisnjl2002-12-171-2/+2
| | | | | | fixes the problem of cleanly restarting a target after entering gdb mode. Reviewed by: archie@
* Reformat last changejulian2002-12-161-5/+7
| | | | Requested by: nate@
* Don't dump core into a partition that is too small for it.julian2002-12-161-0/+9
| | | | | If we do, we usually wrote backwareds into the proceeding partititon which is usually the root partition.
* Add the trm(4) driver.cognet2002-12-161-0/+1
| | | | MFC after: 1 day
* Only dump the BIOS geometry table from bootinfo on PC98, we don't usephk2002-12-141-1/+5
| | | | the contents on i386 anymore.
* Add page locking to pmap_mincore().alc2002-12-141-12/+20
| | | | Submitted (in part) by: tjr@
* SCARGS removal take II.alfred2002-12-1410-327/+322
|
* Backout removal SCARGS, the code freeze is only "selectively" over.alfred2002-12-1310-322/+327
|
* Remove SCARGS.alfred2002-12-1310-327/+322
| | | | Reviewed by: md5
* Unbreak the KSE code. Keep track of zobie threads using the Per-CPU storagejulian2002-12-101-1/+12
| | | | | | | | during the context switch. Rearrange thread cleanups to avoid problems with Giant. Clean threads when freed or when recycled. Approved by: re (jhb)
* Add "disabled" hints to all of the uncommon ISA devices that are injhb2002-12-051-0/+12
| | | | | | | | | GENERIC. Each device can be re-enabled at startup time by unsetting the disabled hint in the loader. Requested by: mdodd Approved by: re Prodded by: rwatson
* Hold the page queues lock around calls to pmap_remove().alc2002-12-041-0/+2
| | | | Approved by: re
* Use the correct value when writing the Day Of Week byte in the CMOS.phk2002-12-042-2/+2
| | | | | | | | | | | | | | | | | The correct range is [1...7] with Sunday=1, but we have been writing [0...6] with Sunday=0. The Soekris computers flagged the zero, zapped the date, so if you rebooted your soekris on a sunday, it would come up with a wrong date. Bruce has a more extensive rework of this code, but we will stick with the minimalist fix for now. Spotted by: Soren Kristensen <soren@soekris.com> Thanks to: Michael Sierchio <kudzu@tenebras.com>. Confirmed by: bde Approved by: re
* Avoid recursive acquisition of the page queues lock in pmap_unuse_pt().alc2002-12-031-1/+3
| | | | Approved by: re
* Align the FPU state in the ucontext and sigcontext to 16 bytesdeischen2002-12-025-19/+31
| | | | | | | | | to accomodate the new SSE/XMM floating point save/restore instructions. This commit is mostly from bde and includes some style nits. Approved by: re (jhb)
* Hold the page queues lock when calling pmap_unwire_pte_hold() oralc2002-12-021-3/+10
| | | | | | | | pmap_remove_pte(). Use vm_page_sleep_if_busy() in _pmap_unwire_pte_hold() so that the page queues lock is released when sleeping. Approved by: re (blanket)
* Assert that the page queues lock is held in pmap_changebit()alc2002-12-011-2/+2
| | | | | | and pmap_ts_referenced(). Approved by: re (blanket)
* Assert that the page queues lock is held in pmap_page_exists_quick().alc2002-11-301-1/+1
| | | | Approved by: re (blanket)
* Fix for non-GCC compilers.obrien2002-11-271-4/+3
| | | | Approved by: re (jhb)
* Assert that the page queues lock is held in pmap_remove_pages().alc2002-11-251-1/+1
| | | | Approved by: re (blanket)
* Add page queues locking to vunmapbuf(); reduce differences with respectalc2002-11-241-3/+3
| | | | | | | to the sparc64 implementation. (Note: With modest effort on the alpha and ia64 this function could migrate to the MI part of the kernel.) Approved by: re (blanket)
* Add `if (!cold)' checkings for functions which is called via SYSINIT.iwasaki2002-11-241-0/+3
| | | | | | | Loading acpi.ko with kldload is disallowed, however some functions were executed unexpectedly. Approved by: re
* - Assert that the page queues lock is held in pmap_remove_all().alc2002-11-231-10/+4
| | | | | | | - Fix a diagnostic message and comment in pmap_remove_all(). - Eliminate excessive white space from pmap_remove_all(). Approved by: re
* Under certain circumstances, we were calling kmem_free() frommux2002-11-221-9/+17
| | | | | | | | | | i386 cpu_thread_exit(). This resulted in a panic with WITNESS since we need to hold Giant to call kmem_free(), and we weren't helding it anymore in cpu_thread_exit(). We now do this from a new MD function, cpu_thread_dtor(), called by thread_dtor(). Approved by: re@ Suggested by: jhb
* *sigh*. It seems that in the ACPICA code, Intel defines its own APIC_IOjhb2002-11-211-1/+1
| | | | | | | | | | macro for use when parsing MADT tables, thus we always tried to set the interrupt model to APIC. This proved to be harmful on UP machines with IO APIC's (or for UP kernels on SMP machines) since the wrong interrupt routing information would be returned. Pointy hat to: jhb Approved by: re (rwatson)
* Add getcontext, setcontext, and swapcontext as system calls.deischen2002-11-164-15/+9
| | | | | | | | | | | Previously these were libc functions but were requested to be made into system calls for atomicity and to coalesce what might be two entrances into the kernel (signal mask setting and floating point trap) into one. A few style nits and comments from bde are also included. Tested on alpha by: gallatin
* network interface and link layer changes:sam2002-11-154-73/+31
| | | | | | | | | | | | o on input don't strip the Ethernet header from packets o input packet handling is now done with if_input o track changes to ether_ifattach/ether_ifdetach API o track changes to bpf tapping o call ether_ioctl for default handling of ioctl's o use constants from net/ethernet.h where possible Reviewed by: many Approved by: re
* MFp4:imp2002-11-142-2/+2
| | | | | o Fix small style nit. This was supposed to be part of the last batch of style fixes, but somehow didn't get merged.
* Recognize the Serverworks CIOB30 host to pci bridge.peter2002-11-131-0/+5
|
* Remove a commented out #include "opt_pci.h", it doesn'tmux2002-11-131-1/+0
| | | | exist anymore.
* Loader tunable 'machdep.disable_mtrrs'.mdodd2002-11-131-1/+7
| | | | | | | | Sysctl of same name to reflect status. Submitted by: jhb Approved by: re (murray) MFC after: 1 day
* Move pmap_collect() out of the machine-dependent code, rename italc2002-11-131-31/+1
| | | | | | | | to reflect its new location, and add page queue and flag locking. Notes: (1) alpha, i386, and ia64 had identical implementations of pmap_collect() in terms of machine-independent interfaces; (2) sparc64 doesn't require it; (3) powerpc had it as a TODO.
* - Clear the page's PG_WRITEABLE flag in the i386's pmap_changebit()alc2002-11-111-3/+5
| | | | | | if we're removing write access from the page's PTEs. - Export pmap_remove_all() on alpha, i386, and ia64. (It's already exported on sparc64.)
* Add a new loader tunable, hw.hasbrokenint12, to indicate that BIOSiwasaki2002-11-091-46/+78
| | | | | | | | | | has broken int 12H. If hw.hasbrokenint12="1" in loader environment, kernel never use BIOS INT 12 call to determine base memory size. Otherwise, kernel use INT 12 in old behaviour. This should fix kernel panic problem caused by 1.544 changes. MFC after: 1 day
* Print real / avail memory in megabytes rather than kilobytes.des2002-11-091-4/+4
|
* Fix instances of macros with improperly parenthasized arguments.alfred2002-11-091-1/+1
| | | | Verified by: md5
* Make 3dfx i386-only. The memrange API it uses may be defined in an MIjhb2002-11-081-0/+12
| | | | header, but it is only implemented on i386.
* Move rc(4) over to MI notes and enable it as a MI module.jhb2002-11-081-5/+0
|
* Make xrpu(4) i386-only. Consumers of i386_btop() are not MI.jhb2002-11-081-1/+2
|
* adjust critical section to only wrap around vm86_bioscall().davidxu2002-11-081-2/+2
|
* use critical_enter/exit to add a critical section around BIOS call,davidxu2002-11-081-5/+9
| | | | | | this unbreaks WITNESS. Pointed out by: jhb
* Move the definitions of the hw.physmem, hw.usermem and hw.availpagestmm2002-11-071-37/+0
| | | | | | | | | | | sysctls to MI code; this reduces code duplication and makes all of them available on sparc64, and the latter two on powerpc. The semantics by the i386 and pc98 hw.availpages is slightly changed: previously, holes between ranges of available pages would be included, while they are excluded now. The new behaviour should be more correct and brings i386 in line with the other architectures. Move physmem to vm/vm_init.c, where this variable is used in MI code.
* Properly parenthesize the DBREG_DRX macro's variables to allow foralfred2002-11-071-1/+1
| | | | DBREG_DRX(&dbregs, n) usage.
* Move sr(4) over to i386-only as it is yet another user of kvtop().jhb2002-11-071-0/+6
|
* Simplify and optimize pmap_object_init_pt(). More specifically,alc2002-11-071-65/+32
| | | | | | take advantage of the fact that the vm object's list of pages is now ordered to reduce the overhead of finding the desired set of pages to be mapped. (See revision 1.215 of vm/vm_page.c.)
* Move firewire back to being MI.jhb2002-11-071-7/+0
|
* 1.Fix smp race between kernel vm86 BIOS calling and userland vm86 mode code,davidxu2002-11-077-21/+18
| | | | | | | | | | remove global variable in_vm86call, set vm86 calling flag in PCB flags. 2.Fix vm86 BIOS calling preempted problem by changing vm86_lock mutex type from MTX_DEF to MTX_SPIN. vm86pcb is not remembered in thread struct, when the thread calling vm86 BIOS is preempted by interrupt thread, and later switching back to the thread would cause incorrect context be loaded into CPU registers, this leads to kernel crash.
* lnc(4) uses kvtop() and is thus i386-only for now.jhb2002-11-061-0/+7
|
OpenPOWER on IntegriCloud