| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Notes:
svn path=/head/; revision=119071
|
| |
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=119017
|
| |
|
|
|
|
|
|
| |
These were probably not cleaned up back in whatever murky past these
files were split into separate files.
Notes:
svn path=/head/; revision=118284
|
| |
|
|
| |
Notes:
svn path=/head/; revision=118283
|
| |
|
|
|
|
|
|
|
| |
layout is about to change.
The sysctl based method still returns correct information.
Notes:
svn path=/head/; revision=118282
|
| |
|
|
|
|
|
| |
the swap_pager layout.
Notes:
svn path=/head/; revision=118280
|
| |
|
|
| |
Notes:
svn path=/head/; revision=118276
|
| |
|
|
| |
Notes:
svn path=/head/; revision=116375
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
Notes:
svn path=/head/; revision=115084
|
| |
|
|
|
|
|
| |
Approved by: re (scottl)
Notes:
svn path=/head/; revision=114996
|
| |
|
|
|
|
|
|
|
| |
this.
Approved by: re (scottl)
Notes:
svn path=/head/; revision=114990
|
| |
|
|
| |
Notes:
svn path=/head/; revision=114330
|
| |
|
|
|
|
|
|
|
| |
'struct kinfo_proc' for calls to kvm_getargv() and kvm_getenvv().
PR: 51322
Notes:
svn path=/head/; revision=114064
|
| |
|
|
| |
Notes:
svn path=/head/; revision=113340
|
| |
|
|
| |
Notes:
svn path=/head/; revision=112923
|
| |
|
|
| |
Notes:
svn path=/head/; revision=112891
|
| |
|
|
|
|
|
| |
The .Fa argument
Notes:
svn path=/head/; revision=112539
|
| |
|
|
|
|
|
| |
Pointy hat to: jhb
Notes:
svn path=/head/; revision=112204
|
| |
|
|
|
|
|
| |
This is just a cosmetic change but I've been meaning to do it for about a year.
Notes:
svn path=/head/; revision=111585
|
| |
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=109086
|
| |
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=108602
|
| |
|
|
| |
Notes:
svn path=/head/; revision=108300
|
| |
|
|
| |
Notes:
svn path=/head/; revision=108257
|
| |
|
|
|
|
|
|
|
|
| |
are marked up in stdio(3), and because they are defined expressions
of type "FILE *".
Approved by: re
Notes:
svn path=/head/; revision=107619
|
| |
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=105607
|
| |
|
|
|
|
|
| |
Reviewed by: jake
Notes:
svn path=/head/; revision=105532
|
| |
|
|
| |
Notes:
svn path=/head/; revision=104388
|
| |
|
|
|
|
|
| |
reliable signal queues are gone.
Notes:
svn path=/head/; revision=104307
|
| |
|
|
|
|
|
|
|
|
| |
one doesn't have one.
Submitted by: jake, scottl
Big pointed hat that lands one in the badcommitters box to: jmallett
Notes:
svn path=/head/; revision=104248
|
| |
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=104243
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=103385
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=103367
|
| |
|
|
|
|
|
|
| |
Applications can not do this themselves, as the descriptors are hidden
behind the opaque `kvm_t' type.
Notes:
svn path=/head/; revision=103224
|
| |
|
|
|
|
|
| |
Reviewed by: davidxu@freebsd.org
Notes:
svn path=/head/; revision=103216
|
| |
|
|
|
|
|
| |
looking at p_ksegrp.kg_slptime anyway.
Notes:
svn path=/head/; revision=102594
|
| |
|
|
|
|
|
|
|
|
| |
instead of forcing _KERNEL.
Move the include of sys/_label.h in ucred.h under the
_KERNEL || _WANT_UCRED case.
Notes:
svn path=/head/; revision=102538
|
| |
|
|
| |
Notes:
svn path=/head/; revision=102350
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=102227
|
| |
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=101968
|
| |
|
|
|
|
|
|
|
|
| |
size. This avoids blowing out kva in kmeminit() on large memory machines
(4 gigs or more).
Reviewed by: tmm
Notes:
svn path=/head/; revision=101653
|
| |
|
|
| |
Notes:
svn path=/head/; revision=99157
|
| |
|
|
| |
Notes:
svn path=/head/; revision=99142
|
| |
|
|
| |
Notes:
svn path=/head/; revision=99128
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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..
Notes:
svn path=/head/; revision=99072
|
| |
|
|
|
|
|
| |
Submitted by: keramida
Notes:
svn path=/head/; revision=97407
|
| |
|
|
| |
Notes:
svn path=/head/; revision=97032
|
| |
|
|
| |
Notes:
svn path=/head/; revision=96651
|
| |
|
|
|
|
|
| |
Obtained from: NetBSD (rev 1.4, pre-UVM)
Notes:
svn path=/head/; revision=96650
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
Notes:
svn path=/head/; revision=94028
|
| |
|
|
| |
Notes:
svn path=/head/; revision=92941
|