- stop using the evil 'struct trapframe' argument for mi_startup()
(formerly main()). There are much better ways of doing it.
- do not use prepare_usermode() - setregs() in execve() will do it
all for us as long as the p_md.md_regs pointer is set. (which is
now done in machdep.c rather than init_main.c. The Alpha port did it
this way all along and is much cleaner).
- collect all the magic %cr0 etc register settings into one place and
have the AP's call that instead of using magic numbers (!!) that keep
changing over and over again.
- Make it safe to call kthread_create() earlier, including during the
device probe sequence. It doesn't need the callback mechanism that
NetBSD's version uses.
- kthreads created this way are root-less as they exist before the root
filesystem is mounted. init(1) is set up so that it aquires the root
pointers prior to running. If other kthreads want filesystem acccess
we can make this code more generic.
- set all threads start times once we have decided what time it is.
- init uses a trampoline rather than the evil prepare_usermode() hack.
- kern_descrip.c has a couple of tweaks to deal with forking when there
is no rootdir or cwd etc.
- adjust the early SYSINIT() sequence so that a few prereqisites are in
place. eg: make sure the run queue is initialized before doing forks.
With this, the USB code can easily create a kthread to do the device
tree discovery. (I have tested it, it works nicely).
There are still some open issues before this is truely useful.
- tsleep() does not like working before the clock is running. It
sort-of tries to spin wait, but it can do more useful things now.
- stopping a kthread in kld code at unload time is "interesting" but
we have a solution for that.
The Alpha code needs no changes for this. It already uses pretty much the
same strategies, but a little cleaner.
Remove extraneous arguments to the Nm macro.
Mark up cross-references properly.
Use proper block displays (Bd).
Use proper mark-up for author names (An).
Remove the bogus ARGUMENTS section.
Raname EXAMPLE -> EXAMPLES.
Spell ``S/Key'' consistently.
identifier to the DHCP server. Now you can check for this string
in your dhcp configuration to decide whether you will hand out a
lease to the client or not.
Reflect that the update to routed-2.22 addresses a problem discussed
in PR bin/16941. The updated release also incorporates our local
buffer overflow fix (implemented differently) and puts us in a
position where we are completely synchronized with the master
distribution, apart from the stupid spammage of the #ident
definitions, which are supposed to indicate the release version,
not individual source file revisions.
This distribution was not moved into contrib because of objections
from wollman. He feels that the software is original Berkeley
code that shouldn't be imported into contrib just because it
has an external maintainer.
o BUILD_SUIDPERL replaces NOSUIDPERL
o New /etc/rc.conf settings for secure networking may require changes
to those upgrading.
o nullfs in loader.conf.
Original 'C' progam submitted by Juriy Goloveshkin.
A different 'C' program also submitted by dima.
I merged and rewrote them to include error handling, use getlogin for
user name and only the BSD boilerplate license remained from the
original code. We also only allow root to get other user's keys.
Review, bikeshed and bdelint(1): myself, kris, dima, markm
control field compression. The ng_ppp(4) node correctly follows this
rule. However, PPPoE is an exception: when doing PPPoE *all* frames
are sent with address and control field compression.
Alter this node's behavior so that when an outgoing frame is received,
any leading address and control field bytes are removed. This makes
this node compatible with ng_ppp(4).
memory space needed by the raylink driver (in progress, nearing
completion).
This is a minorly cleaned up diff from Duncan to help him reduce the
diffs from stock FreeBSD.
Submitted by: Duncan Barclay <dmlb@ragnet.demon.co.uk>
I changed to close to original code before merging IPv6 support.
It seems having delay before another try is useless. However, I'm
not sure that delay means. So, I leave it as-is.
PR: bin/20515
older versions of FreeBSD.
o Continue to document the old way of doing it with a warning stating if that
doesn't work, to do the {build,install}kernel thing.
o minor wordsmithing on what a make world really is.