summaryrefslogtreecommitdiffstats
path: root/sys/alpha
Commit message (Collapse)AuthorAgeFilesLines
* In -CURRENT pseudo devices are not statically assigned at compile time,maxim2004-07-181-1/+1
| | | | | | remove a stale comment. PR: kern/62285
* Only extract a physical address from a pte in pmap_extract() if the pte isalc2004-07-181-9/+13
| | | | | | | valid. Implement the protection check required by the pmap_extract_and_hold() specification. (This enables the elimination of Giant from that function.)
* MFamd64 revision 1.478alc2004-07-171-6/+5
| | | | Simplify pmap_remove_pages(), eliminating unnecessary indirection.
* Remove dead or unused code, such as spl calls.alc2004-07-161-25/+0
|
* Preparation commit for the tty cleanups that will follow in the nearphk2004-07-152-2/+2
| | | | | | | | | future: rename ttyopen() -> tty_open() and ttyclose() -> tty_close(). We need the ttyopen() and ttyclose() for the new generic cdevsw functions for tty devices in order to have consistent naming.
* Push down the acquisition and release of the page queues lock intoalc2004-07-151-0/+5
| | | | | | pmap_protect() and pmap_remove(). In general, they require the lock in order to modify a page's pv list or flags. In some cases, however, pmap_protect() can avoid acquiring the lock.
* Do a pass over all modules in the kernel and make them return EOPNOTSUPPphk2004-07-151-0/+1
| | | | | | | | for unknown events. A number of modules return EINVAL in this instance, and I have left those alone for now and instead taught MOD_QUIESCE to accept this as "didn't do anything".
* Additional pmap lockingalc2004-07-141-28/+49
|
* In pmap_remove_pages(), when clearing a pte, update the correspondingalc2004-07-141-0/+4
| | | | | | page's dirty mask. Reviewed by: gallatin@
* Rev 1.24 of sys/ptrace.h adds ptrace_clear_single_step() prototypekensmith2004-07-131-1/+0
| | | | | | | definition so this one causes "redundant declaration" error and breaks Alpha kernel build. Reviewed by: gallatin@ and test build on beast
* Push down the acquisition and release of the page queues lock intoalc2004-07-131-3/+2
| | | | | | | | pmap_remove_pages(). (The implementation of pmap_remove_pages() is optional. If pmap_remove_pages() is unimplemented, the acquisition and release of the page queues lock is unnecessary.) Remove spl calls from the alpha, arm, and ia64 pmap_remove_pages().
* Now that the console setup is identical to that on other platforms,marcel2004-07-111-0/+2
| | | | | | we also need to have the right sio(4) flags: sio0: flags=0x10 so that it will be console. sio1: flags=0x80 so that it can be used as debug port.
* Add options KDB and GDB. KDB takes on the function of what DDB usedmarcel2004-07-111-1/+3
| | | | to be. Both DDB and GDB specify which KDB backends to include.
* Remove the now unused GDB stubs. See src/sys/gdb/* for the new KDBmarcel2004-07-111-746/+0
| | | | backend.
* Mega update for the KDB framework: turn DDB into a KDB backend.marcel2004-07-104-371/+177
| | | | | | | | | | | | | | | | Most of the changes are a direct result of adding thread awareness. Typically, DDB_REGS is gone. All registers are taken from the trapframe and backtraces use the PCB based contexts. DDB_REGS was defined to be a trapframe on all platforms anyway. Thread awareness introduces the following new commands: thread X switch to thread X (where X is the TID), show threads list all threads. The backtrace code has been made more flexible so that one can create backtraces for any thread by giving the thread ID as an argument to trace. With this change, ia64 has support for breakpoints.
* Update fr the KDB framework:marcel2004-07-103-50/+28
| | | | | | | | | o Make debugging support conditional upon KDB instead of DDB. o Call kdb_trap() according to the new world order. o Kill the NO_SIO option completely. o Respect the boot_gdb environment variable. o Don't make debug specific kernel options conditional. o Remove implementation of Debugger().
* Update for the KDB framework. Sanitize the alpha console code now thatmarcel2004-07-1012-469/+11
| | | | | | | | | | | | | | | | | | it's in the way even more. Basicly: remove all alpha specific console support from gfb(4), sio(4) and syscons(4). Rewrite the alpha console initialization to be identical to all other platforms. In a nutshell: call cninit(). The platform specific code now only sets or clears RB_SERIAL and thus automaticly causes the right console to be selected. sio.c: o Replace the remote GDB hacks and use the GDB debug port interface instead. o Make debugging code conditional upon KDB instead of DDB. o Call kdb_alt_break() instead of db_alt_break(). o Call kdb_enter() instead of breakpoint(). o Remove the ugly compatibility of using the console as the debug port.
* Update for the KDB framework:marcel2004-07-101-6/+5
| | | | | | o Remove inclusion of opt_ddb.h. o Call kdb_enter() instead of Debugger(). o Make debugging code conditional upon KDB.
* Implement makectx(). The makectx() function is used by KDB to createmarcel2004-07-102-0/+24
| | | | | | | | | a PCB from a trapframe for purposes of unwinding the stack. The PCB is used as the thread context and all but the thread that entered the debugger has a valid PCB. This function can also be used to create a context for the threads running on the CPUs that have been stopped when the debugger got entered. This however is not done at the time of this commit.
* Introduce the KDB debugger frontend. The frontend provides a frameworkmarcel2004-07-101-0/+49
| | | | | | | | | | | | | | | in which multiple (presumably different) debugger backends can be configured and which provides basic services to those backends. Besides providing services to backends, it also serves as the single point of contact for any and all code that wants to make use of the debugger functions, such as entering the debugger or handling of the alternate break sequence. For this purpose, the frontend has been made non-optional. All debugger requests are forwarded or handed over to the current backend, if applicable. Selection of the current backend is done by the debug.kdb.current sysctl. A list of configured backends can be obtained with the debug.kdb.available sysctl. One can enter the debugger by writing to the debug.kdb.enter sysctl.
* Introduce the GDB debugger backend for the new KDB framework. Themarcel2004-07-102-0/+153
| | | | | | | | | backend improves over the old GDB support in the following ways: o Unified implementation with minimal MD code. o A simple interface for devices to register themselves as debug ports, ala consoles. o Compression by using run-length encoding. o Implements GDB threading support.
* Change the following environment variables to kernel options:brian2004-07-081-6/+6
| | | | | | | | | | | | | bootp -> BOOTP bootp.nfsroot -> BOOTP_NFSROOT bootp.nfsv3 -> BOOTP_NFSV3 bootp.compat -> BOOTP_COMPAT bootp.wired_to -> BOOTP_WIRED_TO - i.e. back out the previous commit. It's already possible to pxeboot(8) with a GENERIC kernel. Pointed out by: dwmalone
* Change the following kernel options to environment variables:brian2004-07-081-6/+6
| | | | | | | | | | | | | | | | | | BOOTP -> bootp BOOTP_NFSROOT -> bootp.nfsroot BOOTP_NFSV3 -> bootp.nfsv3 BOOTP_COMPAT -> bootp.compat BOOTP_WIRED_TO -> bootp.wired_to This lets you PXE boot with a GENERIC kernel by putting this sort of thing in loader.conf: bootp="YES" bootp.nfsroot="YES" bootp.nfsv3="YES" bootp.wired_to="bge1" or even setting the variables manually from the OK prompt.
* Add pmap locking to pmap_emulate_reference(). Remove unused and once-usedalc2004-07-081-8/+8
| | | | | | variables. Tested by: kensmith@
* Add pmap locking to pmap_protect().alc2004-07-071-0/+2
|
* - Correct pmap_extract()'s return type. It should be vm_paddr_t, notalc2004-07-051-4/+2
| | | | | vm_offset_t. - Convert pmap_extract() to the ANSI style of declaration.
* MFamd64/i386alc2004-07-052-0/+33
| | | | | | Add partial pmap locking. Tested by: kensmith@
* Implement preemption of kernel threads natively in the scheduler ratherjhb2004-07-022-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | than as one-off hacks in various other parts of the kernel: - Add a function maybe_preempt() that is called from sched_add() to determine if a thread about to be added to a run queue should be preempted to directly. If it is not safe to preempt or if the new thread does not have a high enough priority, then the function returns false and sched_add() adds the thread to the run queue. If the thread should be preempted to but the current thread is in a nested critical section, then the flag TDF_OWEPREEMPT is set and the thread is added to the run queue. Otherwise, mi_switch() is called immediately and the thread is never added to the run queue since it is switch to directly. When exiting an outermost critical section, if TDF_OWEPREEMPT is set, then clear it and call mi_switch() to perform the deferred preemption. - Remove explicit preemption from ithread_schedule() as calling setrunqueue() now does all the correct work. This also removes the do_switch argument from ithread_schedule(). - Do not use the manual preemption code in mtx_unlock if the architecture supports native preemption. - Don't call mi_switch() in a loop during shutdown to give ithreads a chance to run if the architecture supports native preemption since the ithreads will just preempt DELAY(). - Don't call mi_switch() from the page zeroing idle thread for architectures that support native preemption as it is unnecessary. - Native preemption is enabled on the same archs that supported ithread preemption, namely alpha, i386, and amd64. This change should largely be a NOP for the default case as committed except that we will do fewer context switches in a few cases and will avoid the run queues completely when preempting. Approved by: scottl (with his re@ hat)
* Allocate s/g segments in the tag rather than on the stack.scottl2004-07-021-30/+35
|
* Catch up with __RMAN_RESOURCE_VISIBLE enough to get GENERIC to buildgallatin2004-07-0110-0/+10
|
* - Remove unused definitions.alc2004-06-231-5/+2
| | | | - Move a definition inside the scope of a #ifdef _KERNEL.
* Backed out previous commit. Blind substitution of dev_t by `struct cdev *'bde2004-06-201-1/+1
| | | | was just wrong here because the dev_t's are user dev_t's.
* Do the dreaded s/dev_t/struct cdev */phk2004-06-164-12/+12
| | | | Bump __FreeBSD_version accordingly.
* Remove a stale comment.alc2004-06-151-6/+0
|
* Remove an unused #include.alc2004-06-121-1/+0
|
* Move uma_small_alloc() and uma_small_free() out of the pmap and into theiralc2004-06-112-46/+82
| | | | | own machine-dependent file. This makes alpha consistent with amd64, ia64, and powerpc.
* Deorbit COMPAT_SUNOS.phk2004-06-111-6/+6
| | | | | We inherited this from the sparc32 port of BSD4.4-Lite1. We have neither a sparc32 port nor a SunOS4.x compatibility desire these days.
* Remove atdevbase and replace it's remaining uses with direct references tojhb2004-06-101-5/+0
| | | | KERNBASE instead.
* MFamd64alc2004-06-101-5/+1
| | | | | | Significantly reduce the number of preallocated pv entries in pmap_init(). Tested by: kensmith@
* Remove filename+line number from panic messages.phk2004-06-061-4/+2
|
* Machine generated patch which changes linedisc calls from accessingphk2004-06-042-7/+7
| | | | | | linesw[] directly to using the ttyld...() functions The ttyld...() functions ar inline so there is no performance hit.
* Regenerate.jhb2004-06-043-4/+4
|
* Mark linux_wait4() as MP Safe as it is so and holding Giant across all ofjhb2004-06-041-1/+1
| | | | | | | kern_wait() trips an assert that Giant is not held in thread_wait(). PR: 67538 Submitted by: Nikos Ntarmos ntarmos at ceid dot upatras dot gr
* Remove checks for curthread == NULL - it can't happen.tjr2004-06-031-5/+3
|
* Add missing <sys/module.h> instances which were shadowed by the nestedphk2004-06-031-1/+2
| | | | include in <sys/kernel.h>
* Move TDF_DEADLKTREAT into td_pflags (and rename it accordingly) to avoidtjr2004-06-031-9/+4
| | | | | | | having to acquire sched_lock when manipulating it in lockmgr(), uiomove(), and uiomove_fromphys(). Reviewed by: jhb
* Gainfully employ the new ttyioctl in the trivial cases.phk2004-06-012-54/+0
|
* Retire cpu_sched_exit(); it is not used any more.tmm2004-05-261-6/+0
|
* Moved most of the "MI" definitions and declarations from <machine/profile.h>bde2004-05-191-12/+0
| | | | | | to <sys/gmon.h>. Cleaned them up a little by not attempting to ifdef for incomplete and out of date support for GUPROF in userland, as in the sparc64 version.
* <stdint.h> should define WINT_M{AX,IN} independent from whether WCHAR_MIN isstefanf2004-05-181-1/+1
| | | | | | | | defined. Otherwise first including <wchar.h> and then <stdint.h> leads to no WINT_M{AX,IN} at all. PR: 64956 Approved by: das (mentor)
OpenPOWER on IntegriCloud