Commit Graph

6740 Commits

Author SHA1 Message Date
Archie Cobbs
25792ef324 Change the prototype of the strto* routines to make the second
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
1999-11-24 01:03:08 +00:00
Guido van Rooij
9cc86ee930 Add kernel parts of revived ipfilter (3.3.3.) 1999-11-23 21:44:59 +00:00
Matthew Dillon
4453311409 Even better then using %fs:0 in our locked synchronizing instruction,
we instead use 0(%esp), which is per-cpu, already pretty much
    guarenteed to be locked into the cache, and does not stress the cache's
    set associativity.  invlpg might also be a good choice (suggested by
    Ingo).

Obtained from:	Linus Torvalds <torvalds@transmeta.com>
1999-11-23 20:07:39 +00:00
Matthew Dillon
87c8f0c0f2 Add in required instruction serialization prior to releasing the
MP lock for the last time.  The use of a locked instruction to
    cpu-private memory is 3x faster then CPUID and 3x faster then the
    use of a locked instruction to shared memory (the lock itself).

    Instruction serialization is required to ensure that any pending
    memory ops are properly flushed prior to the release of the lock,
    due to out-of-order instruction execution by the cpu.
1999-11-23 18:46:09 +00:00
Brian Feldman
9a46ff715e Fix a confusion between osigcontext and ucontext_t in the previous commit.
Since an osigcontext is smaller, if you check for a valid (much larger sized)
ucontext_t and it fails, we bogusly would reject the osigcontext as per
rev 1.378.  Instead, check for osigcontext range validity first, and
ucontext_t later.  This unbreaks Netscape.

Pointed to the right commit by:	peter
1999-11-23 04:09:13 +00:00
Peter Wemm
9565e721cb Update the Alpha makefile to be more in line with the x86 version. It
was getting quite dated.  Attempt to minimize diffs between the two so
it's not as painful to do this next time.
1999-11-22 15:39:13 +00:00
Yoshinobu Inoue
51f4c15279 move INET6 option from GENERIC to LINT.
Thanks for Brian Fundakowski Feldman and Dag-Erling Smorgrav,
to give me the comment and the patch.

Submitted by:Dag-Erling Smorgrav
1999-11-22 11:13:00 +00:00
Seigo Tanimura
46d6fe727e Add the descriptions of the bridge drivers for Sound Blaster, GUS
and Crystal Semiconductor CS461x/428x.
1999-11-22 06:10:25 +00:00
Seigo Tanimura
e2dc359f4c - Introduce the bridge drivers for Sound Blaser, GUS and Crystal
Semiconductor CS461x/428x.
- Add support for GUS and CS461x/428x pcm.
- Move newpcm drivers for ISA cards to files.i386. The drivers for
  PC98 would be something quite different from those for PC/AT.

Moving requested by:	nyan
1999-11-22 06:09:24 +00:00
Yoshinobu Inoue
82cd038d51 KAME netinet6 basic part(no IPsec,no V6 Multicast Forwarding, no UDP/TCP
for IPv6 yet)

With this patch, you can assigne IPv6 addr automatically, and can reply to
IPv6 ping.

Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
1999-11-22 02:45:11 +00:00
Peter Holm
8feb5d575d Moved useracc() to top of sigreturn as to avoid panic
caused by invalid arguments to rutine.

Reviewed by:	marcel, phk
1999-11-21 14:46:43 +00:00
Poul-Henning Kamp
da654d9070 s/p_cred->pc_ucred/p_ucred/g 1999-11-21 12:38:21 +00:00
Matt Jacob
75099bed2f document new ISP config options 1999-11-21 03:27:29 +00:00
Warner Losh
2cb5caa767 Latest incremental efforts on newcard:
o Delete pcic1 from NEWCARD
o Add explicit resource hints to pcic0
o Get attach working with newbus, kinda (it does all the newbus stuff,
  but doesn't try to attach the pccard yet, too many panics).
o Disable ie0 and le0 in NEWCARD config.  There appears to be a bug in
  the isa_compat code wrt memory conflicts with newbus drivers for
  reasons unknown.
o Minor cleanups.
1999-11-20 07:23:28 +00:00
Matthew Dillon
f94f8efc61 Optimize two cases in the MP locking code. First, it is not necessary
to use a locked cmpexg when unlocking a lock that we already hold, since
      nobody else can touch the lock while we hold it.  Second, it is not
      necessary to use a locked cmpexg when locking a lock that we already
      hold, for the same reason.  These changes will allow MP locks to be used
      recursively without impacting performance.

      Modify two procedures that are called only by assembly and are already
      NOPROF entries to pass a critical argument in %edx instead of on the
      stack, removing a significant amount of code from the critical path
      as a consequence.

Reviewed by:	Alfred Perlstein <bright@wintelcom.net>, Peter Wemm <peter@netplex.com.au>
1999-11-19 22:47:19 +00:00
Poul-Henning Kamp
2996376ab5 Use LIST_FOREACH to traverse the allproc list.
Submitted by:   Jake Burkholder jake@checker.org
1999-11-19 21:34:50 +00:00
Matthew Dillon
cd906fe3de Optimize two cases in the MP locking code. First, it is not necessary
to use a locked cmpexg when unlocking a lock that we already hold, since
    nobody else can touch the lock while we hold it.  Second, it is not
    necessary to use a locked cmpexg when locking a lock that we already
    hold, for the same reason.  These changes will allow MP locks to be used
    recursively without impacting performance.

    Modify two procedures that are called only by assembly and are already
    NOPROF entries to pass a critical argument in %edx instead of on the
    stack, removing a significant amount of code from the critical path
    as a consequence.

Reviewed by:	Alfred Perlstein <bright@wintelcom.net>, Peter Wemm <peter@netplex.com.au>
1999-11-19 16:49:30 +00:00
Julian Elischer
2045179917 fix braino.. line misplaced. 1999-11-19 09:19:44 +00:00
Julian Elischer
6822ccd6e7 protect some more operations with splimp() under Netgraph. 1999-11-19 05:37:37 +00:00
Peter Wemm
4add59312e Hack: comment out the pull-in of src/sys/../share/mk/bsd.kern.mk as
that breaks if you try and compile a kernel before building world, as
is presently required to get past the signal changes.   I don't
particularly like doing this, but at least it will mean that a 'make world'
will activate the gcc 2.95.2-specific option in bsd.kern.mk.
1999-11-18 09:54:11 +00:00
Peter Wemm
cde35e1a3d If we have found pci devices via pci_cfgopen(), but don't find a
host->pci bridge specifically, then add a pcib0 device on the motherboard
for the pci bus to hang off.

Requested by:  Anders Andersson <anders@sanyusan.se>
Obtained from: dfr
1999-11-18 08:58:37 +00:00
Peter Wemm
4e250a4b87 Fix some -Wunused warnings 1999-11-18 08:43:58 +00:00
Peter Wemm
394c467708 Fix some warnings. 1999-11-18 08:41:53 +00:00
Peter Wemm
4a6eb2cc6c Fix a warning. 1999-11-18 08:39:02 +00:00
Peter Wemm
f14f25d086 Touch up the make_dev() usage to hopefully make it work and fix warnings. 1999-11-18 08:36:42 +00:00
Peter Wemm
609d21b734 Fix some warnings. 1999-11-18 08:32:02 +00:00
Archie Cobbs
48e9417499 Add option NETGRAPH_KSOCKET. 1999-11-16 23:30:05 +00:00
Nick Hibma
7c74d2682c Typo 1999-11-16 22:02:16 +00:00
Yoshihiro Takahashi
89875c851f Fixed to compile bs driver with gcc 2.95.2. 1999-11-16 12:28:28 +00:00
David E. O'Brien
fe3f39d6d5 Removed the asm version of conv(). This is should be faster in its new
C form.  See src/sys/i386/isa/sound/audio.c rev.1.23

Submitted by:	bde
1999-11-15 23:27:40 +00:00
David E. O'Brien
15cc94620c Fix __asm__ clobber list abuses. 1999-11-15 23:20:56 +00:00
Luoqi Chen
e870e9b278 Segment registers can be read(write) to(from) memory locations as well as
general registers.
1999-11-15 19:45:19 +00:00
Eivind Eklund
2c582f0fc6 Fix case where vnode could be unlocked twice. Untested; bug found by code
reading.

Reviewed by:	phk
1999-11-14 17:33:40 +00:00
David E. O'Brien
dfe41fc832 Fix clobbers so that GENERIC may compile with GCC 2.95.2.
Historically, the documentation of extended asm was lacking, namely you
should NOT specify the same register as an input, and a clobber.
If the register is clobbered, it should be specified as an output as well,
e.g., by linking input and output through the "number" notation.
(Beware of lvalues, some local variables needed...)

URL:http://egcs.cygnus.com/faq.html

In versions up to egcs-1.1.1, the compiler did not even warn about it,
but it was liable to output bad code. Newer egcs are pickier and simply
refuse to swallow such code.

Note, since *addr changes, it needs to be an output operand.
We might be excessive in saying that all memory has changed.

Obtained from:	OpenBSD
		w/extra thanks to Marc Espie <Marc.Espie@liafa.jussieu.fr>
1999-11-14 03:36:34 +00:00
Marcel Moolenaar
e6daa89c15 Reserve space for FPU state in struct sigcontext. Fix some style bugs
and comments while there.

Submitted by: bde
1999-11-12 13:52:11 +00:00
Marcel Moolenaar
4c53edc53b Change the type of sf_addr in struct {o}sigframe from char* to
register_t.

Fix some style bugs and bitrotted comments.

Submitted by: bde
1999-11-12 11:21:34 +00:00
Alan Cox
b561683329 Passing "0" or "FALSE" as the fourth argument to vm_fault is wrong. It
should be "VM_FAULT_NORMAL".
1999-11-09 01:44:28 +00:00
Kazutaka YOKOTA
fc67908fe8 Cosmetic change: correct formatting error in my previous commit.
"Options" should be:

options<ascii space><tab>OPTION_NAME

Pointed out by: obrien
1999-11-09 00:39:55 +00:00
Kazutaka YOKOTA
7a88382dc3 - Document SC_TWOBUTTON_MOUSE, SC_NORM_ATTR, SC_NORM_REV_ATTR,
SC_KERNEL_CONS_ATTR and SC_KERNEL_CONS_REV_ATTR.

Nudged by eivind
1999-11-08 14:16:48 +00:00
Kazutaka YOKOTA
d7ccb880d1 - Added the following options; they have existed in syscons
for sometime, but haven't been registered here.

  SC_NORM_ATTR
  SC_NORM_REV_ATTR
  SC_KERNEL_CONS_ATTR
  SC_KERNEL_CONS_REV_ATTR

PR: kern/13176
1999-11-08 10:59:48 +00:00
Kazutaka YOKOTA
51ebcb230e - Added a new kernel configuration option: SC_TWOBUTTON_MOUSE.
The new option will make the right mouse button the `paste' button.
  Useful for two button mice.

Submitted by: morganw@engr.sc.edu (Wes Morgan)
1999-11-08 10:04:29 +00:00
Poul-Henning Kamp
3e30338edd simplify check for device. 1999-11-08 09:59:17 +00:00
Kazutaka YOKOTA
73027df75c - Removed SC_VIDEO_DEBUG. It is broken and useless now. 1999-11-08 09:57:16 +00:00
Peter Wemm
cd3535a676 Use DRIVER_MODULE(), apm.c already takes care of it's devices with
make_dev().
1999-11-08 07:44:26 +00:00
Peter Wemm
53c2c4e22b Use fo_stat() rather than Yet Another duplication of kern_descrip.c's stat
code.
1999-11-08 03:33:21 +00:00
Poul-Henning Kamp
18284c9419 Patch got this one wrong, we want to check securelevel in open() 1999-11-07 12:32:45 +00:00
Poul-Henning Kamp
be8479a836 Remove the iskmemdev() function. Make it the responsibility of the mem.c
drivers to enforce the securelevel checks.
1999-11-07 12:01:32 +00:00
Søren Schmidt
74d8e84034 Add the ata driver to the compiled in targets.
Document the options available for the ata driver.

Disconnect the atapi devices from the old wd driver to avoid conflicts
(they will go away at some point anyways)
1999-11-07 09:52:04 +00:00
Eivind Eklund
909232c4ef Options cleanup.
* GC unused options
* Move options that exist on all architectures to conf/options
* Add missing options to LINT
* Sort undocumented options list in LINT

Reviewed by:	green
1999-11-06 23:41:10 +00:00
David E. O'Brien
7f25d44635 Fix the style of some options. 1999-11-05 20:41:09 +00:00