summaryrefslogtreecommitdiffstats
path: root/lib/libkvm
Commit message (Collapse)AuthorAgeFilesLines
* Update man page to reflect additional flag to allow selection of threads.deischen2004-02-221-0/+3
|
* Teach kvm_getprocs() to recognize a sysctl flag for including threads.deischen2004-02-221-5/+8
|
* Allow to specify a character special device as a core file.simokawa2003-10-291-21/+18
| | | | | | | | | | | | | | This enable us to use /dev/fwmem* as a core file. e.g. ps -M /dev/fwmem0.0 -N kernel.debug dmesg -M /dev/fwmem0.0 -N kernel.debug gdb -k -c /dev/fwmem0.0 kernel.debug You need to set target EUI64 in hw.firewire.fwmem.eui64_hi/lo before opening the device. On the target arch, (PCI) bus address must be equivalent to physical address. (We cannot use this for sparc64 because of IOMMU.) No objection in: -audit
* Fixed some style bugs in the removal of __P(()). Blind removal ofbde2003-10-131-3/+3
| | | | spaces before __P(()) outdented continuation lines to column 0.
* Document KERN_PROC_PROC, update KERN_PROC_ALL description.tjr2003-09-271-2/+4
|
* Use the 3-component version of the KERN_PROC_PROC sysctl.tjr2003-09-271-2/+4
|
* style.Makefile(5)obrien2003-08-181-1/+1
|
* Stage 3 of dynamic root support. Make all the libraries needed to rungordon2003-08-171-0/+1
| | | | | | binaries in /bin and /sbin installed in /lib. Only the versioned files reside in /lib, the .so symlink continues to live /usr/lib so the toolchain doesn't need to be modified.
* Remove unnecssary <vm/swap_pager.h> includes.phk2003-07-313-3/+0
| | | | | These were probably not cleaned up back in whatever murky past these files were split into separate files.
* Remove various unused variables, prototypes and local variables.phk2003-07-311-25/+0
|
* Disable and lobotomize the kvm image reading swapinfo code, the kernelphk2003-07-311-125/+1
| | | | | | layout is about to change. The sysctl based method still returns correct information.
* Retire the SWIF_DUMP_TREE code, this is in the way for a rework ofphk2003-07-312-191/+0
| | | | the swap_pager layout.
* Unifdef -UDEBUG_SWAPINFO The kernel data structures are about to change.phk2003-07-311-79/+0
|
* P_THREADED was renamed to P_SA, follow up.davidxu2003-06-151-2/+2
|
* Revamp of the syscall path, exception and context handling. Themarcel2003-05-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | prime objectives are: o Implement a syscall path based on the epc inststruction (see sys/ia64/ia64/syscall.s). o Revisit the places were we need to save and restore registers and define those contexts in terms of the register sets (see sys/ia64/include/_regset.h). Secundairy objectives: o Remove the requirement to use contigmalloc for kernel stacks. o Better handling of the high FP registers for SMP systems. o Switch to the new cpu_switch() and cpu_throw() semantics. o Add a good unwinder to reconstruct contexts for the rare cases we need to (see sys/contrib/ia64/libuwx) Many files are affected by this change. Functionally it boils down to: o The EPC syscall doesn't preserve registers it does not need to preserve and places the arguments differently on the stack. This affects libc and truss. o The address of the kernel page directory (kptdir) had to be unstaticized for use by the nested TLB fault handler. The name has been changed to ia64_kptdir to avoid conflicts. The renaming affects libkvm. o The trapframe only contains the special registers and the scratch registers. For syscalls using the EPC syscall path no scratch registers are saved. This affects all places where the trapframe is accessed. Most notably the unaligned access handler, the signal delivery code and the debugger. o Context switching only partly saves the special registers and the preserved registers. This affects cpu_switch() and triggered the move to the new semantics, which additionally affects cpu_throw(). o The high FP registers are either in the PCB or on some CPU. context switching for them is done lazily. This affects trap(). o The mcontext has room for all registers, but not all of them have to be defined in all cases. This mostly affects signal delivery code now. The *context syscalls are as of yet still unimplemented. Many details went into the removal of the requirement to use contigmalloc for kernel stacks. The details are mostly CPU specific and limited to exception_save() and exception_restore(). The few places where we create, destroy or switch stacks were mostly simplified by not having to construct physical addresses and additionally saving the virtual addresses for later use. Besides more efficient context saving and restoring, which of course yields a noticable speedup, this also fixes the dreaded SMP bootup problem as a side-effect. The details of which are still not fully understood. This change includes all the necessary backward compatibility code to have it handle older userland binaries that use the break instruction for syscalls. Support for break-based syscalls has been pessimized in favor of a clean implementation. Due to the overall better performance of the kernel, this will still be notived as an improvement if it's noticed at all. Approved by: re@ (jhb)
* s/procsig/sigacts/ to catch up to procsig and sigacts changes in the kernel.jhb2003-05-141-10/+6
| | | | Approved by: re (scottl)
* Bandaid for world. jhb gets the pointy hat here and he needs to look atpeter2003-05-141-0/+4
| | | | | | this. Approved by: re (scottl)
* AMD64 support; repocopied from i386peter2003-04-301-3/+3
|
* Add sys/user.h to the list of includes. Without it you lack a definition oftrhodes2003-04-261-0/+1
| | | | | | 'struct kinfo_proc' for calls to kvm_getargv() and kvm_getenvv(). PR: 51322
* Catch up with the kernel. Move the current cpu indicator to the thread.julian2003-04-101-3/+1
|
* - Spell SIGSETOR correctly.jeff2003-04-011-1/+1
|
* - Catch up with kernel signal changes.jeff2003-03-311-1/+2
|
* The .Fn functioncharnier2003-03-245-13/+23
| | | | The .Fa argument
* Catch up to p_tracep -> p_tracevp rename to unbreak world.jhb2003-03-131-1/+1
| | | | Pointy hat to: jhb
* Change the process flags P_KSES to be P_THREADED.julian2003-02-271-2/+2
| | | | This is just a cosmetic change but I've been meaning to do it for about a year.
* Remove all use of the LOG2() macro/inline, undoing some non-optimal cruftdillon2003-01-111-2/+2
| | | | | | | that crept in recently. GCC will optimize the divides and multiplies for us. Submitted by: David Schultz <dschultz@uclink.Berkeley.EDU> MFC after: 1 day
* Make struct swblock kernel only, to make vm/swap_pager.h userland includable.phk2003-01-031-1/+1
| | | | | Move struct swdevt from sys/conf.h to the more appropriate vm/swap_pager.h. Adjust #include use in libkvm and pstat(8) to match.
* Teach libkvm to deal with direct mapped addresses.jake2002-12-271-9/+14
|
* mdoc(7) police: Deal with self-xrefs.ru2002-12-241-1/+1
|
* Consistently mark std(in|out|err) with .Dv, because that's how theyru2002-12-042-2/+6
| | | | | | | are marked up in stdio(3), and because they are defined expressions of type "FILE *". Approved by: re
* Implement working on ELF corefiles. Use kvm_read() when readingmarcel2002-10-211-122/+135
| | | | | | | memory while mapping a virtual address to a physical address. This allows us to work with virtual addresses for page tables, provided it doesn't cause infinite recursion. Currently all page tables are direct mapped.
* Adapt to handle the new sparc64 core dump format correctly.tmm2002-10-201-32/+95
| | | | Reviewed by: jake
* Catch up to SMTX -> SLOCK changes.jhb2002-10-021-7/+7
|
* Ressurect libkvm use of the bitmasked signal list in the kernel, now thatjmallett2002-10-011-7/+1
| | | | reliable signal queues are gone.
* Fix typo, should zero the kinfo_proc's siglist, not the real one's - the realjmallett2002-10-011-1/+1
| | | | | | | one doesn't have one. Submitted by: jake, scottl Big pointed hat that lands one in the badcommitters box to: jmallett
* The list of queued signals is not, can not, and will not be exported to thejmallett2002-09-301-1/+7
| | | | | | userland. If someone wants to implement a backup p_siglist in the kernel for compatability and to export one could. For now, just tell KVM to hand an empty signal set off to the userland.
* Fixed messes involving $FreeBSD$ starting with one left in the copyrightbde2002-09-161-21/+5
| | | | | | | | after adding __FBSDID(). Garbage-collected kvm_readswap(). This was once used by kvm_uread(), but kvm_uread() now just reads /proc/<pid>/mem and procfs hopefully handles swapped out pages.
* Allocate KSEs and KSEGRPs separatly and remove them from the proc structure.julian2002-09-151-12/+45
| | | | | | | | | next step is to allow > 1 to be allocated per process. This would give multi-processor threads. (when the rest of the infrastructure is in place) While doing this I noticed libkvm and sys/kern/kern_proc.c:fill_kinfo_proc are diverging more than they should.. corrective action needed soon.
* In kvm_openfiles/kvm_open, mark the file descriptors as close-on-exec.nectar2002-09-111-0/+12
| | | | | Applications can not do this themselves, as the descriptors are hidden behind the opaque `kvm_t' type.
* Completely redo thread states.julian2002-09-111-21/+24
| | | | Reviewed by: davidxu@freebsd.org
* Hopefully unbreak world. ke_slptime is gone. It should really have beenpeter2002-08-301-1/+1
| | | | looking at p_ksegrp.kg_slptime anyway.
* Allow one to grab the definition of struct ucred by defining _WANT_UCREDalfred2002-08-281-2/+1
| | | | | | | instead of forcing _KERNEL. Move the include of sys/_label.h in ucred.h under the _KERNEL || _WANT_UCRED case.
* &x is not a format stringkris2002-08-241-1/+1
|
* o Merge <machine/ansi.h> and <machine/types.h> into a new headermike2002-08-211-7/+7
| | | | | | | | | | | | | | | | | | | | | called <machine/_types.h>. o <machine/ansi.h> will continue to live so it can define MD clock macros, which are only MD because of gratuitous differences between architectures. o Change all headers to make use of this. This mainly involves changing: #ifdef _BSD_FOO_T_ typedef _BSD_FOO_T_ foo_t; #undef _BSD_FOO_T_ #endif to: #ifndef _FOO_T_DECLARED typedef __foo_t foo_t; #define _FOO_T_DECLARED #endif Concept by: bde Reviewed by: jake, obrien
* Hide 'struct ucred' behind '#ifdef _KERNEL', this should stop userlandalfred2002-08-161-0/+3
| | | | | | | from attempting to use it for good. There is a catch, kvm_proc.c needs to '#define _KERNEL' to get at the ucred. Requested by: rwatson
* Auto size available kernel virtual address space based on phsyical memoryjake2002-08-101-4/+11
| | | | | | | size. This avoids blowing out kva in kmeminit() on large memory machines (4 gigs or more). Reviewed by: tmm
* Don't even read in the thread if it is a zombie process.julian2002-06-301-7/+10
|
* grow a brain and do this right.julian2002-06-301-5/+7
|
* Don't follow non existant thread pointers (e.g. for zombies)julian2002-06-301-33/+35
|
* Part 1 of KSE-IIIjulian2002-06-291-2/+19
| | | | | | | | | | | | | The ability to schedule multiple threads per process (one one cpu) by making ALL system calls optionally asynchronous. to come: ia64 and power-pc patches, patches for gdb, test program (in tools) Reviewed by: Almost everyone who counts (at various times, peter, jhb, matt, alfred, mini, bernd, and a cast of thousands) NOTE: this is still Beta code, and contains lots of debugging stuff. expect slight instability in signals..
OpenPOWER on IntegriCloud