Commit Graph

169 Commits

Author SHA1 Message Date
jhb
b2fafb3737 Catch up to SMTX -> SLOCK changes. 2002-10-02 20:33:52 +00:00
jmallett
65bb170db1 Ressurect libkvm use of the bitmasked signal list in the kernel, now that
reliable signal queues are gone.
2002-10-01 17:17:32 +00:00
jmallett
3dac036815 Fix typo, should zero the kinfo_proc's siglist, not the real one's - the real
one doesn't have one.

Submitted by:	jake, scottl
Big pointed hat that lands one in the badcommitters box to:	jmallett
2002-10-01 00:28:14 +00:00
jmallett
9692c1cb99 The list of queued signals is not, can not, and will not be exported to the
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.
2002-09-30 21:40:33 +00:00
bde
378aa4c356 Fixed messes involving $FreeBSD$ starting with one left in the copyright
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.
2002-09-16 08:22:57 +00:00
julian
b32c592b15 Allocate KSEs and KSEGRPs separatly and remove them from the proc structure.
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.
2002-09-15 23:52:25 +00:00
nectar
e0a6134ca8 In kvm_openfiles/kvm_open, mark the file descriptors as close-on-exec.
Applications can not do this themselves, as the descriptors are hidden
behind the opaque `kvm_t' type.
2002-09-11 16:41:39 +00:00
julian
c69b2fd9b6 Completely redo thread states.
Reviewed by:	davidxu@freebsd.org
2002-09-11 08:13:56 +00:00
peter
c36bb537a2 Hopefully unbreak world. ke_slptime is gone. It should really have been
looking at p_ksegrp.kg_slptime anyway.
2002-08-30 02:18:38 +00:00
alfred
3e1f49aecc Allow one to grab the definition of struct ucred by defining _WANT_UCRED
instead of forcing _KERNEL.

Move the include of sys/_label.h in ucred.h under the
_KERNEL || _WANT_UCRED case.
2002-08-28 20:39:48 +00:00
kris
7c3a0284bf &x is not a format string 2002-08-24 07:15:55 +00:00
mike
5d0fbddc4d o Merge <machine/ansi.h> and <machine/types.h> into a new header
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
2002-08-21 16:20:02 +00:00
alfred
f48beb61ce Hide 'struct ucred' behind '#ifdef _KERNEL', this should stop userland
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
2002-08-16 07:01:43 +00:00
jake
66238fd082 Auto size available kernel virtual address space based on phsyical memory
size.  This avoids blowing out kva in kmeminit() on large memory machines
(4 gigs or more).

Reviewed by:	tmm
2002-08-10 22:14:16 +00:00
julian
6c4da45217 Don't even read in the thread if it is a zombie process. 2002-06-30 20:13:53 +00:00
julian
f3b48ca33d grow a brain and do this right. 2002-06-30 17:06:46 +00:00
julian
7fb6531557 Don't follow non existant thread pointers (e.g. for zombies) 2002-06-30 08:11:30 +00:00
julian
eb010f76be Part 1 of KSE-III
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..
2002-06-29 17:26:22 +00:00
alfred
c3f67aab4e Assume __STDC__, remove non-__STDC__ code.
Submitted by: keramida
2002-05-28 17:03:12 +00:00
jake
e6b0394427 Catch up to tte.h changes. 2002-05-21 02:22:49 +00:00
obrien
7816060c35 Stub out _kvm_mdopen, we don't the same constants as NetBSD 2002-05-15 09:56:40 +00:00
obrien
55da6a4c51 Add a PowerPC machdep for kvm.
Obtained from:	NetBSD (rev 1.4, pre-UVM)
2002-05-15 09:55:41 +00:00
dd
050f10822c Fix (for the second time) kvm_getprocs() for the case where no
processes match the given criteria.  Since revision 1.60 of malloc.c,
malloc() and friends return an invalid pointer when given a size of 0.
kvm_getprocs() uses sysctl() with a NULL oldp argument to get an
initial size, but does not check whether it's 0 before passing it to
realloc() (via _kvm_realloc()).  Before the aforementioned malloc()
change, this resulted in a minimal allocation made and a valid poitner
returned, but now results in an invalid, but non-NULL, pointer being
returned.  When this is passed to sysctl(), the latter returns EFAULT
(as it should).
2002-04-07 04:47:58 +00:00
obrien
b68f4814f6 Remove multi-line __P() usage. 2002-03-22 09:22:15 +00:00
obrien
f597ce10f8 Remove __P() usage. 2002-03-21 23:54:04 +00:00
obrien
24a8f39238 Remove 'register' keyword. 2002-03-21 23:39:28 +00:00
green
33da6571e6 Also blindly attempt to fix broken world with respect to proc.p_runtime
changes.
2002-02-22 19:10:09 +00:00
julian
9e276a05bf I THINK this fixes 'make world'
I'll know as soon as I re-import it and compile it.. :-)
 There is no longer a 'pri' strict in the proc struct.
 the fields are scattered between the ksegrp and thread in question.
2002-02-13 00:10:04 +00:00
julian
bac4630ef2 pre-emptively fix a KSE/M3 problem.
Make a slight change so that libkvm reaches the main thread via the
linked list, rather than assuming it is in the proc structure. Both
conditions are true in -current but only the first will be true in
the KSE M3 world.
2002-02-07 20:28:25 +00:00
ru
89c9fd7c16 Finish cleanup in kvm.c revisions 1.10 and 1.11 -- mark sf (swapfile)
argument to kvm_open() and kvm_openfiles() as unused.

BSD didn't read swap since kvm.c CSRG revision 5.21 (u-area is pageable
under new VM.  no need to read from swap.)

The old !NEWVM code was removed in CSRG revision 5.23 (~ten years ago).
2002-01-22 10:07:03 +00:00
jake
5ea5c55564 Adapt to new kernel tsb structure. 2001-12-29 06:43:36 +00:00
ru
08741fd9e4 s/processes/files/ inherited from kvm_getprocs(3).
PR:		docs/32252
Submitted by:	tobez
2001-11-24 15:38:28 +00:00
jhb
5bacc80a9d Include sys/param.h instead of sys/types.h to get the definition of the
MIN() macro.

Pointy hat to:	rwatson
2001-11-20 08:26:37 +00:00
rwatson
5ec96eeb80 o Cleanup of includes: user.h may be a catch-all, but that's not
entirely desirable.  Back out previous commit, and clean up includes
  to be more minimal.

Submitted by:	bde
2001-11-19 21:14:50 +00:00
rwatson
ae045f4fe9 #include <sys/user.h> rather than individually including a plethora
of kernel include files, reducing the replication of kernel include
dependency information in userland.

Obtained from:	TrustedBSD Project
2001-11-19 15:26:36 +00:00
jake
ce4a8c6c3a libkvm for sparc64. Only works for kernel memory so far. 2001-11-18 21:01:09 +00:00
peter
86b86fe5f0 kern.ps_arg_max_cache is a long, not an int. I believe this is half of
what broke ps on ia64.  It probably also broke on alpha, but the fallback
method of using lseek/read on /proc/*/mem to read ps_strings seems to
work there.  It doesn't on ia64 yet.
2001-11-08 00:23:06 +00:00
dfr
a6c75aa816 Implement va->pa translation for kernel virtual addresses. This is
untested - it only seems to be used for crashdumps.
2001-10-25 09:08:21 +00:00
dfr
1f56ee22a1 Partially port kvm to ia64 - virtual to physical translation is incomplete. 2001-10-23 11:05:35 +00:00
bde
cb078bdae4 Backed out "Compensate for header dethreading [mistakes]" mistakes in
alpha files too.
2001-10-13 04:38:46 +00:00
bde
94220967cf Compensate for "Compensate for header dethreading" by backing it out. 2001-10-10 17:48:44 +00:00
ru
727c2b4b9e mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
dillon
d375fe96be Implement __FBSDID() 2001-09-16 21:35:07 +00:00
julian
aff3918a2c KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.

Sorry john! (your next MFC will be a doosie!)

Reviewed by: peter@freebsd.org, dillon@freebsd.org

X-MFC after:    ha ha ha ha
2001-09-12 08:38:13 +00:00
peter
5c9278dd27 Make ps -M corefile work again. This has been broken for quite some time.
kvm_proclist() was aborting when it saw the ithreads with no pgrp.
2001-08-24 09:43:44 +00:00
peter
48a05c39e4 Dynamically adjust to the value of KERNBASE in a crashdump, with
a fallback for old kernels without the "kernbase" symbol.
2001-08-24 08:53:30 +00:00
kris
7a9caa3fb8 Mark some functions as __printflike() and/or taking const char * arguments
instead of char *.

MFC after:	2 weeks
2001-08-20 12:53:36 +00:00
ru
173222b339 mdoc(7) police: s/BSD/.Bx/ where appropriate. 2001-08-14 10:01:54 +00:00
ru
316fde8ddd mdoc(7) police: fixed the "new sentence" bogons. 2001-08-10 15:03:10 +00:00
dd
c49a4e6620 Remove whitespace at EOL. 2001-07-15 07:53:42 +00:00