Commit Graph

50939 Commits

Author SHA1 Message Date
Peter Wemm
babff34a27 Oops, forgot this file. Log message for completeness:
Clean up some low level bootstrap code:

- 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.
2000-08-11 18:54:47 +00:00
Bill Paul
069363018f Fix a bug brought to light by the people working on SMPng. I don't quite
understand exactly what it is about SMPng that tickles this bug. What I
do know is that the foo_init() routine in most drivers is often called
twice when an interface is brought up. One time is due to the ifconfig(8)
command calling the SIOCSIFFLAGS ioctl to set the IFF_UP flag, and another
is probably due to the kernel calling ifp->if_init at some point. In any
case, the SMPng changes seem to affect the timing of these two events in
such a way that there is a significant delay before any packets are sent
onto the wire after the interface is first brought up. This manifested
itself locally as an SMPng test machine which failed to obtain an address
via DHCP when booting up.

It looks like the second call to fxp_init() is happening faster now than
it did before, and I think it catches the chip while it's in the process
of dealing with the configuration command from the first call. Whatever
the case, a FXP_CSR_SCB_CNA interrupt event is now generated shortly after
the second fxp_init() call. (This interrupt is apparently never generated
by a non-SMPng kernel, so nobody noticed.)

There are two problems with this: first, fxp_intr() does not handle the
FXP_CSR_SCB_CNA interrupt event (it never tests for it or does anything
to deal with it), and second, the meaning of FXP_CSR_SCB_CNA is not
documented in the driver. (Apparently it means "command unit not active.")
Bad coder. No biscuit.

The fix is to have the FXP_CSR_SCB_CNA interrupt handled just like the
FXP_SCB_STATACK_CXTNO interrupt. This prevents the state machine for
the configuration/RX filter programming stuff from getting wedged for
several seconds and preventing packet transmission.

Noticed by: jhb
2000-08-11 17:47:55 +00:00
John Polstra
30a77b76ff Make the word "ldconfig" a bona fide cross-reference, and clarify
that this option has an effect only during system start-up.

Submitted by:	sheldonh
2000-08-11 17:15:37 +00:00
Nick Hibma
cad823f463 Fix indentation ruined by previous commit. 2000-08-11 16:37:43 +00:00
Warner Losh
2c6b3ec454 Define get_memory_offset method 2000-08-11 15:51:51 +00:00
Sheldon Hearn
acaf1e1fc5 Explain why adding ``options NFSKERB'' breaks the kernel build.
PR:		10642
Reported by:	Stefan Eggers <seggers@semyam.dinoco.de>
Submitted by:	johan
2000-08-11 13:03:13 +00:00
Jun-ichiro itojun Hagino
42915d02a3 backout ND6_USE_RTSOCK change in previous 2000-08-11 12:29:04 +00:00
Jun-ichiro itojun Hagino
2022007008 avoid duplicated rtfree() on default router list change (could cause panic).
sync with kame 1.46 -> 1.47.
2000-08-11 12:27:07 +00:00
Josef Karthauser
546ba87f85 A termcap entry for Top Gun telnet and Top Gun ssh, Palm Pilot
applications.
2000-08-11 11:18:11 +00:00
Sheldon Hearn
d84f2470c3 Add text from NetBSD's rev 1.12 which should have accompanied
the changes made to our own source on 1997-01-01.

PR:		20445
Submitted by:	Jon Masami Kuroda <jkuroda@eecs.berkeley.edu>
2000-08-11 10:37:39 +00:00
Søren Schmidt
ae97e232fb Backout the tsleep on probe, it breaks in resume mode as tsleep
not always has a context to sleep on.
Back to the drawing board...
2000-08-11 10:34:22 +00:00
Daniel C. Sobral
e7b7c050c7 Add missing "is".
PR:		20524
Submitted by:	Peter Pentchev <roam@orbitel.bg>
2000-08-11 10:32:23 +00:00
Søren Schmidt
ea5cb0b3c0 Add the acdNt# devices to the acd entry, for individual track access. 2000-08-11 09:22:34 +00:00
Søren Schmidt
071e6e581e Add support for accessing individual tracks on a CD.
This is done by misusing the device minor a bit to encode the
track no there.

So to read track #4 just use /dev/acdNt4 where N is the device #.

The driver no automatically sets the blocksize (sectorsize) to
what the track is set to in the TOC.

This has the nice effect that you can now rip audioi tracks
by simply doing:

dd if=/dev/acdNt2 of=audiotrack2.raw bs=2352

it cant be much simpler than that :)

NOTE: the original acdNa & acdNc device still work as usual,
except the blocksize is set according to track0.
2000-08-11 09:21:36 +00:00
Peter Wemm
37b087a645 Clean up some low level bootstrap code:
- 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.
2000-08-11 09:05:12 +00:00
Sheldon Hearn
c47f9a08fc While we're in here:
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.
2000-08-11 08:40:10 +00:00
Paul Saab
646cf5017b Add support to send the string 'PXEClient' as the Vendor class
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.
2000-08-11 08:36:17 +00:00
Sheldon Hearn
00f4e1767c (null commit)
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.
2000-08-11 08:24:39 +00:00
Sheldon Hearn
c0e2b70a76 Add $FreeBSD$. 2000-08-11 08:23:26 +00:00
Sheldon Hearn
669a846df8 Fix hard sentence break and inappropriate use of the Pa macro in
the previous delta.
2000-08-11 08:12:44 +00:00
Paul Saab
f6940c1842 Pass along the interesting variables we were given from DHCP so we
can utilize them in the kernel and with kenv.
2000-08-11 05:31:59 +00:00
John Polstra
297bb90667 Describe ldconfig_insecure. 2000-08-11 04:20:30 +00:00
John Polstra
e9edb38551 Add an rc.conf knob "ldconfig_insecure" to disable ldconfig's
security checks.  Set the default to NO, i.e., secure.

Submitted by:	Maxime Henrion <mhenrion@cybercable.fr>
2000-08-11 03:26:30 +00:00
Warner Losh
71c38472de Add stuff:
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.
2000-08-10 23:16:32 +00:00
Archie Cobbs
a604c8808e Oops, previous commit fixed a bug that was already fixed before.
Back it out.
2000-08-10 23:04:46 +00:00
Warner Losh
47945ade89 Don't build suidperl by default. Make users specifically enable its
building.
2000-08-10 22:59:53 +00:00
Warner Losh
dd8cf673d9 Change NOSUIDPERL to BUILD_SUIDPERL. One must now explicitly enable
building suidperl.
2000-08-10 22:55:58 +00:00
Warner Losh
b1dbe5c2bc Eliminate the only setuid perl script in the tree.
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
2000-08-10 22:53:49 +00:00
Archie Cobbs
0521578550 Add new control message to atomically get and clear statistics. 2000-08-10 22:52:40 +00:00
Archie Cobbs
a8f6d55e95 Increase the maximum allowable datagram length. 2000-08-10 22:51:57 +00:00
Archie Cobbs
cac2a7de76 "u_int32_t" should have been "int32_t". 2000-08-10 22:51:26 +00:00
Archie Cobbs
7133ac27ef Use a bigger buffer for NGM_BINARY2ASCII conversion, to handle really
long ASCII control messages.
2000-08-10 22:50:38 +00:00
Archie Cobbs
656485a2c6 - Add new control message NGM_VJC_GET_CONFIG
- Implement control message ASCII'fication for all control messages
2000-08-10 22:48:03 +00:00
Archie Cobbs
57b57be3ec Take advantage of the new unsigned and hex integer types. 2000-08-10 22:45:54 +00:00
Archie Cobbs
8fccb7e954 - Make statistics unsigned.
- Add new control message to atomically get and clear statistics.
2000-08-10 22:44:41 +00:00
Archie Cobbs
7b3bf3f9aa - Add new unsigned and hex integer parse types
- Fix bug in commented example code
2000-08-10 22:43:38 +00:00
Archie Cobbs
8db3c6cd29 - Add new unsigned and hex integer parse types; this allows simplifying
the bytearray parse type.
- Allocate (larger) temporary work buffer dynamically instead of on the
  stack when comparing to the default value.
2000-08-10 22:42:25 +00:00
Hajimu UMEMOTO
0f6b9b3fe2 Make ip6fw zero work.
PR:		bin/20522
2000-08-10 20:41:33 +00:00
Archie Cobbs
7b38c4e4d9 RFC 1661 requires that all LCP packets are sent with no address and
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).
2000-08-10 20:05:12 +00:00
Bill Fumerola
70d25dfbce make sshd follow the pattern of enable, program, flags like every
other entry does.
2000-08-10 19:52:06 +00:00
Bill Fumerola
dbc777e3f2 1000bassT -> 1000baseT 2000-08-10 19:47:32 +00:00
Garrett Wollman
face22b842 Merge from vendor branch. Also move FreeBSD Ids away from vendor Id
to make future merges easier.
2000-08-10 19:36:46 +00:00
Garrett Wollman
2fdc7738ad This commit was generated by cvs2svn to compensate for changes in r64496,
which included commits to RCS files with non-trunk default branches.
2000-08-10 19:20:14 +00:00
Garrett Wollman
952f5f542e Latest timezone updates from Arthur Olson. This update reflects changes
in Israel, Lithuania, Mexico, and Argentina.

Obtained from:	ftp://elsie.nci.nih.gov/pub/tzdata2000f.tar.gz
2000-08-10 19:20:14 +00:00
Warner Losh
2563e6f5b8 Add some infrastructure support for dealing with large attribute
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>
2000-08-10 17:35:11 +00:00
Tor Egge
4428d39d63 Don't skip IOAPIC id conflict detection when only one pci bus is present.
PR:		20312
Reviewed by:	Steve Roome <steve@sse0691.bri.hp.com>
2000-08-10 17:33:24 +00:00
Hajimu UMEMOTO
2368b03bf4 Don't retry connecting via the same medium.
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
2000-08-10 17:10:57 +00:00
Nick Sayer
aef2860eef Document support for the Solo 1.
Requested by: sheldonh
2000-08-10 15:01:01 +00:00
MIHIRA Sanpei Yoshiro
1c19d8a700 add Nokia Card Phone 2.0 (gsm900/dcs1800 HSCSD terminal)
PR:		conf/20037
2000-08-10 13:43:17 +00:00
Brian Somers
d0cd375a1d Mention that pppoe requires netgraph(4) and without it, an external
pppoe program must be used (such as pppoe(8) on OpenBSD).
2000-08-10 13:26:01 +00:00