| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot). This is consistant with the other
BSD's who made this change quite some time ago. More commits to come.
|
|
|
|
|
| |
a const into a non-const as they do in libc. I feel that defeating the
type checking like that quite evil, but that's the way it is.
|
| |
|
|
|
|
| |
and use that return code as a modulus (panics are bad, mmmkay?)
|
|
|
|
|
|
|
| |
use bits from /dev/random to stir the S-box. Also add an internal counter to
keep the S-box stirred on a regular basis.
Reviewed by: msmith
|
|
|
|
|
|
|
|
| |
(kern.randompid), which is currently defaulted off. Use ARC4 (RC4) for our
random number generation, which will not get me executed for violating
crypto laws; a Good Thing(tm).
Reviewed and Approved by: bde, imp
|
|
|
|
|
|
|
|
|
|
|
| |
parameter a char ** instead of a const char **. This make these
kernel routines consistent with the corresponding libc userland
routines.
Which is actually 'correct' is debatable, but consistency and
following the spec was deemed more important in this case.
Reviewed by (in concept): phk, bde
|
|
|
|
|
|
|
| |
I've made a seperate version (c_index() etc) that use const/const, but
I'm not sure it's worth it considering there is one file in the tree
that uses index on const strings (kern_linker.c) and it's easily adjusted
to scan the strings directly (and is perhaps more efficient that way).
|
|
|
|
| |
Urged by: bde
|
| |
|
|
|
|
|
|
|
|
|
|
| |
1) Safty change from casper dik was added to OpenBSD's sources since I
grabbed them. milltert@openbsd.org
2) Split up strlcpy to improve efficiency of the common case.
milltert@openbsd.org
3) Cleanup of cross references for man page. {alex,aaron}@openbsd.org
Pointed out by: deraadt@openbsd.org
|
|
|
|
| |
Obtained from: OpenBSD
|
|
|
|
| |
Submitted by: Peter Jeremy <jeremyp@gsmx07.alcatel.com.au>
|
|
|
|
| |
that actually compiles, and I use it for i386's with 64 bit longs.
|
|
|
|
|
|
| |
statements on 64bit values generate poor code.
Requested by: bde
|
|
|
|
| |
manipulation in the aic7xxx driver.
|
|
|
|
| |
kernel compile
|
|
|
|
| |
Reminded by: bde
|
| |
|
|
|
|
|
|
|
|
| |
suitable for holding object pointers (ptrint_t -> uintptr_t).
Added corresponding signed type (intptr_t). Changed/added
corresponding non-C9x types for function pointers to match. Don't
use nonstandard types to implement these types, and don't comment
on them in <machine/types.h>.
|
|
|
|
|
|
| |
PR: 7105
Reviewed by: phk
Submitted by: Robert Watson <robert+freebsd@cyrus.watson.org>
|
|
|
|
|
|
|
|
|
|
| |
work in progress and has never booted a real machine. Initial
development and testing was done using SimOS (see
http://simos.stanford.edu for details). On the SimOS simulator, this
port successfully reaches single-user mode and has been tested with
loads as high as one copy of /bin/ls :-).
Obtained from: partly from NetBSD/alpha
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
original BSD code. The association between the vnode and the vm_object
no longer includes reference counts. The major difference is that
vm_object's are no longer freed gratuitiously from the vnode, and so
once an object is created for the vnode, it will last as long as the
vnode does.
When a vnode object reference count is incremented, then the underlying
vnode reference count is incremented also. The two "objects" are now
more intimately related, and so the interactions are now much less
complex.
When vnodes are now normally placed onto the free queue with an object still
attached. The rundown of the object happens at vnode rundown time, and
happens with exactly the same filesystem semantics of the original VFS
code. There is absolutely no need for vnode_pager_uncache and other
travesties like that anymore.
A side-effect of these changes is that SMP locking should be much simpler,
the I/O copyin/copyout optimizations work, NFS should be more ponderable,
and further work on layered filesystems should be less frustrating, because
of the totally coherent management of the vnode objects and vnodes.
Please be careful with your system while running this code, but I would
greatly appreciate feedback as soon a reasonably possible.
|
|
|
|
| |
Found by: -Wshadow
|
| |
|
|
|
|
| |
'for' loop as do...while and remove variable unneded now
|
|
|
|
|
| |
Don't treat !^ as first characters in the range, just as negate sign
[/] never match if FNM_PATHNAME
|
|
|
|
| |
2) Treat unclosed [ range in pattern as regular characters (bash style)
|
|
|
|
|
|
| |
and FNM_LEADING_DIR were specified and the pattern ended with "*".
Example: pattern="src/usr.sbin/w*", string="src/usr.sbin/watch/watch.8,v".
This should match, but did not.
|
| |
|
| |
|
|
|
|
| |
ready for it yet.
|
|
|
|
|
|
|
|
| |
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.
|
| |
|
| |
|
|
|
|
|
|
|
| |
1) Rename FNM_ICASE to FNM_CASEFOLD
2) Add FNM_LEADING_DIR
Add proper (unsigned char) casts to tolower().
Use 'char' function argument for proper sign extension
|
|
|
|
| |
Reviewed by: ache
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- use a more accurate and more efficient method of compensating for
overheads. The old method counted too much time against leaf
functions.
- normally use the Pentium timestamp counter if available.
On Pentiums, the times are now accurate to within a couple of cpu
clock cycles per function call in the (unlikely) event that there
are no cache misses in or caused by the profiling code.
- optionally use an arbitrary Pentium event counter if available.
- optionally regress to using the i8254 counter.
- scaled the i8254 counter by a factor of 128. Now the i8254 counters
overflow slightly faster than the TSC counters for a 150MHz Pentium :-)
(after about 16 seconds). This is to avoid fractional overheads.
files.i386:
permon.c temporarily has to be classified as a profiling-routine
because a couple of functions in it may be called from profiling code.
options.i386:
- I586_CTR_GUPROF is currently unused (oops).
- I586_PMC_GUPROF should be something like 0x70000 to enable (but not
use unless prof_machdep.c is changed) support for Pentium event
counters. 7 is a control mode and the counter number 0 is somewhere
in the 0000 bits (see perfmon.h for the encoding).
profile.h:
- added declarations.
- cleaned up separation of user mode declarations.
prof_machdep.c:
Mostly clock-select changes. The default clock can be changed by
editing kmem. There should be a sysctl for this.
subr_prof.c:
- added copyright.
- calibrate overheads for the new method.
- documented new method.
- fixed races and and machine dependencies in start/stop code.
mcount.c:
Use the new overhead compensation method.
gmon.h:
- changed GPROF4 counter type from unsigned to int. Oops, this should
be machine-dependent and/or int32_t.
- reorganized overhead counters.
Submitted by: Pentium event counter changes mostly by wollman
|
| |
|
| |
|
| |
|
|
|
|
| |
pointers of type `void *'. Warn about this in future.
|
|
|
|
| |
else in libkern.
|
|
|
|
|
|
|
| |
machine-dependent macro and passing it to all machine-dependent
macros.
Eliminated the state variable for the GUPROF case.
|
| |
|
| |
|
|
|
|
| |
Submitted-By: Kent Vander Velden <graphix@iastate.edu>
|
|
|
|
| |
emulation code.
|
|
|
|
|
|
|
|
|
| |
CLBYTES PD_SHIFT PGSHIFT NBPG PGOFSET CLSIZELOG2 CLSIZE pdei()
ptei() kvtopte() ptetov() ispt() ptetoav() &c &c
new:
NPDEPG
Major macro cleanup.
|