summaryrefslogtreecommitdiffstats
path: root/sys/amd64
Commit message (Collapse)AuthorAgeFilesLines
* 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-142-133/+128
|
* Backout removal SCARGS, the code freeze is only "selectively" over.alfred2002-12-132-128/+133
|
* Remove SCARGS.alfred2002-12-132-133/+128
| | | | 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-026-29/+45
| | | | | | | | | 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)
* 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)
* Regenerate after adding syscalls.deischen2002-11-163-4/+13
|
* Add *context() syscalls to ia64 32-bit compatability table as requesteddeischen2002-11-161-0/+3
| | | | in kern/syscalls.master.
* Add getcontext, setcontext, and swapcontext as system calls.deischen2002-11-165-17/+11
| | | | | | | | | | | 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
* MFp4:imp2002-11-141-1/+1
| | | | | 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
|
* 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
|
* 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.
* 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.)
* 1.Fix smp race between kernel vm86 BIOS calling and userland vm86 mode code,davidxu2002-11-075-11/+14
| | | | | | | | | | 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.
* Remove what was a temporary bogus assignment of bits of siginfo_t, as it doesjmallett2002-11-061-4/+0
| | | | | | not look like the prerequisites to fill it in properly will be in the tree for the upcoming release, but it's mostly done, so there is no need for these to stay around to remind us.
* Fix typo. ioport_rid should be irq_rid.davidxu2002-11-052-2/+2
|
* Sync to src/sys/kern/syscalls.masterrwatson2002-11-021-1/+1
|
* MFp4:imp2002-11-021-10/+34
| | | | | | | | | | | | | | | o It turns out that we always need to try to route the interrupts for the case where the $PIR tells us there can be only one. Some machines require this, while others fail when we try to do this (bogusly, imho). Since we have no apriori way of knowing which is which, we always try to do the routing and hope for the best if things fail. o Add some additional comments that state the obvious, but amplify it in non-obvious ways (judging from the questions I've gotten). This should un-break older laptops that still have to use PCIBIOS to route interrupts. Tested by: sam
* Use 0xffffffff instead of -1 for id to compare against.imp2002-11-021-10/+11
| | | | | | | Use exact width types, since this is a MD file and won't be used elsewhere. Fix a couple of resulting printf breakages Bug found by: phk using Flexlint
* Note that the sched_lock protects md_ldt of struct mdproc.jhb2002-10-251-1/+1
|
* Finish fixing the 5.x FPU code for dealing with signal handlers.peter2002-10-252-0/+2
| | | | Obtained from: bde
* Split 4.x and 5.x signal handling so that we can keep 4.x signalpeter2002-10-258-32/+363
| | | | | | | | | | | | | | | | handling clean and functional as 5.x evolves. This allows some of the nasty bandaids in the 5.x codepaths to be unwound. Encapsulate 4.x signal handling under COMPAT_FREEBSD4 (there is an anti-foot-shooting measure in place, 5.x folks need this for a while) and finish encapsulating the older stuff under COMPAT_43. Since the ancient stuff is required on alpha (longjmp(3) passes a 'struct osigcontext *' to the current sigreturn(2), instead of the 'ucontext_t *' that sigreturn is supposed to take), add a compile time check to prevent foot shooting there too. Add uniform COMPAT_43 stubs for ia64/sparc64/powerpc. Tested on: i386, alpha, ia64. Compiled on sparc64 (a few days ago). Approved by: re
* Change method to determine base memory size.iwasaki2002-10-251-43/+55
| | | | | | | | | | Try INT 15H/E820H first, then fall back to the old compatibility method (INT 12H). This is a workaround for newer machines which have broken INT 12H BIOS service implementation. Reviewed by: -current ML MFC after: 3 days
* Use the correct values for LDBL_*. Libc doesn't completely supportimp2002-10-251-9/+10
| | | | | | | | | | | | | | long doubles at the moment (printf truncates them to doubles). However, long doubles to appear to work to the ranges listed in this commit on both -stable (4.5) and -current. There may be some slight rounding issues with long doubles, but that's an orthogonal issue to these constants. I've had this in my local tree for 3 months, and in my company's local tree for 15 months with no ill effects. Obtained from: NetBSD Not likely to like it: bde
* Extract out KSE specific code from machine specific codejulian2002-10-241-38/+2
| | | | | | | | so that there is ony one copy of it. Fix that one copy so that KSEs with no mailbox in a KSE program are not a cause of page faults (this can legitmatly happen). Submitted by: (parts) davidxu
* No need for pmtimer hint anymore.jhb2002-10-221-1/+0
|
* Change the definition of the debugging registers to be an array, sophk2002-10-203-58/+55
| | | | | | | that we can index into it, rather than do pointer gymnastics on a structure containing 8 elements. Verified by: MD5 hash on the produced .o files.
* Remove a boatload of '&' which are surplus to the requirements.phk2002-10-202-82/+82
| | | | Validated by: md5 hash is unchanged.
* Revert last commit, there actually was a -1 waaaaay down in pcireg_cfgread().phk2002-10-201-0/+2
|
* Hide inline assembly if lint is defined.phk2002-10-202-2/+2
|
OpenPOWER on IntegriCloud