summaryrefslogtreecommitdiffstats
path: root/sys/ia64
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove the now unused GDB stubs. See src/sys/gdb/* for the new KDBmarcel2004-07-111-580/+0
| | | | backend.
* Mega update for the KDB framework: turn DDB into a KDB backend.marcel2004-07-103-476/+349
| | | | | | | | | | | | | | | | 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 for the KDB framework:marcel2004-07-105-117/+224
| | | | | | | | | | | | | | | | | | | | | o ksym_start and ksym_end changed type to vm_offset_t. o Make debugging support conditional upon KDB instead of DDB. o Call kdb_enter() instead of breakpoint(). o Remove implementation of Debugger(). o Call kdb_trap() according to the new world order. unwinder: o s/db_active/kdb_active/g o Various s/ddb/kdb/g o Add support for unwinding from the PCB as well as the trapframe. Abuse a spare field in the special register set to flag whether the PCB was actually constructed from a trapframe so that we can make the necessary adjustments. md_var.h: o Add RSE convenience macros. o Add ia64_bsp_adjust() to add or subtract from BSP while taking NaT collections into account.
* Implement makectx(). The makectx() function is used by KDB to createmarcel2004-07-102-1/+22
| | | | | | | | | 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/+58
| | | | | | | | | | | | | | | 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/+231
| | | | | | | | | 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-10/+13
| | | | | | | | | | | | | 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
* MFamd64 (1.275):marcel2004-07-081-12/+9
| | | | | Reduce the scope of the Giant lock being held for non-mpsafe syscalls. There was way too much code being covered.
* Better handle the break instruction trap. The runtime specificationmarcel2004-07-081-7/+46
| | | | | | has outlined which break numbers are software interrupts, debugger breakpoints and ABI specific breaks. We mostly treated all break numbers we didn't care about as debugger breakpoints.
* Change the following kernel options to environment variables:brian2004-07-081-13/+10
| | | | | | | | | | | | | | | | | | 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.
* - 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.
* Implement preemption of kernel threads natively in the scheduler ratherjhb2004-07-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* Unbreak build: define __RMAN_RESOURCE_VISIBLEmarcel2004-06-301-0/+2
| | | | See also src/sys/sys/rman.h rev. 1.21.
* Add machdep quirks functions. On i386, this disables acpi on systems withnjl2004-06-301-0/+6
| | | | BIOS dates earlier than Jan 1, 1999. Add prototypes and quirks flags.
* - 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.
* Remove dead code related to pv entry allocation.alc2004-06-191-14/+0
| | | | Reviewed by: marcel@
* Do the dreaded s/dev_t/struct cdev */phk2004-06-164-11/+11
| | | | Bump __FreeBSD_version accordingly.
* Neither pmap_enter() nor pmap_enter_quick() should create pv entries foralc2004-06-111-4/+10
| | | | | | unmanaged pages. Tested by: marcel@
* Deorbit COMPAT_SUNOS.phk2004-06-111-2/+2
| | | | | 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.
* Reduce the number of preallocated pv entries and lpte entries inalc2004-06-111-9/+2
| | | | | | pmap_init(). Tested by: marcel@
* Machine generated patch which changes linedisc calls from accessingphk2004-06-041-3/+3
| | | | | | linesw[] directly to using the ttyld...() functions The ttyld...() functions ar inline so there is no performance hit.
* 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-0/+1
| | | | 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-011-22/+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)
* Fix typo in comment. While here, end the sentence with a period andmarcel2004-05-171-2/+1
| | | | | | | | remove the empty line between the fdc and sio devices. The empty line suggests that the comment applies to fdc only while it applies to all following devices and options. Typo spotted by: ru@
* Unbreak build due to previous commit: now that elf_reloc_internal()marcel2004-05-171-1/+0
| | | | | | gets the relocation base passed in relocbase, we cannot declare a local variable with the same name. Assume the argument holds the same value as the local variable did...
* filter out the fdc(4) and sio(4) devices and corresponding options.marcel2004-05-171-0/+8
| | | | Note that cy(4) uses COM_MULTIPORT, so we need to keep that option.
* Make a small revision to the api between the elf linker core and thepeter2004-05-161-10/+13
| | | | | | elf_reloc() backends for two reasons. First, to support the possibility of there being two elf linkers in the kernel (eg: amd64), and second, to pass the relocbase explicitly (for relocating .o format kld files).
* Revert previous commit. We should not get any FP traps from withinmarcel2004-05-071-18/+15
| | | | | | | | | | | | the kernel. We can guarantee this by resetting the FP status register. This masks all FP traps. The reason we did get FP traps was that we didn't reset the FP status register in all cases. Make sure to reset the FP status register in syscall(). This is one of the places where it was forgotten. While on the subject, reset the FP status register only when we trapped from user space.
* Make sure to sanitize the FP status register. Specifically thismarcel2004-05-071-0/+3
| | | | masks all FP traps, which should not happen in the kernel.
* Make unnecessary globals static and remove unused includes.njl2004-05-061-1/+1
| | | | Pointed out by: cscout
* Add an MI implementation of the ACPI global lock routines and retire thenjl2004-05-051-42/+5
| | | | | | | | individual asm versions. The global lock is shared between the BIOS and OS and thus cannot use our mutexes. It is defined in section 5.2.9.1 of the ACPI specification. Reviewed by: marcel, bde, jhb
* Floating-point faults and exceptions can happen in the kernel too.marcel2004-05-031-12/+15
| | | | | | Do not panic when it happens; handle them. Run into by: das
* Catch- and cleanup:marcel2004-05-031-30/+35
| | | | | | | o Fix and improve comments and references, o Add PFIL_HOOKS, UFS_ACL and UFS_DIRHASH, o Switch from SCHED_4BSD to SCHED_ULE, o Remove SCSI_DELAY (there's no SCSI support),
* Spell Ethernet correctly.obrien2004-05-021-4/+4
|
* Verify the MADT checksum before using the table.marcel2004-05-011-2/+5
| | | | Submitted by: njl
* Hide FLT_EVAL_METHOD and DECIMAL_DIG in pre-C99 compilationdas2004-04-251-0/+2
| | | | | | | environments. PR: 63935 Submitted by: Stefan Farfeleder <stefan@fafoe.narf.at>
* Don't check for NULL, device_get_softc() always succeeds.njl2004-04-211-2/+1
|
* MFamd64alc2004-04-182-72/+16
| | | | | Simplify the sf_buf implementation. In short, make it a veneer over the direct virtual-to-physical mapping.
* Remove a comment that refers to avail_start and avail_end as thesealc2004-04-111-3/+0
| | | | variables no longer exist.
* - pmap_kenter_temporary() is unused by machine-independent code. Therefore,alc2004-04-101-10/+0
| | | | | | | | move its declaration to the machine-dependent header file on those machines that use it. In principle, only i386 should have it. Alpha and AMD64 should use their direct virtual-to-physical mapping. - Remove pmap_kenter_temporary() from ia64. It is unused. Approved by: marcel@
* Remove advertising clause from University of California Regent'simp2004-04-0716-69/+0
| | | | | | | license, per letter dated July 22, 1999 and email from Peter Wemm, Alan Cox and Robert Watson. Approved by: core, peter, alc, rwatson
* Remove avail_end. As of yesterday, it is unused.alc2004-04-062-3/+0
|
* Remove avail_start on those platforms that no longer use it. (Only amd64alc2004-04-052-3/+0
| | | | does anything with it beyond simple initialization.)
* Remove unused arguments from pmap_init().alc2004-04-051-1/+1
|
OpenPOWER on IntegriCloud