Commit Graph

22724 Commits

Author SHA1 Message Date
phk
075651b2a5 Remove #if DO_DEFLATE
Remove #if DO_BSD_COMPRESS

They are the wrong way to enable/disable features and undocumented to boot.
2000-10-27 08:38:26 +00:00
bde
940450b913 Declare or #define per-cpu globals in <machine/globals.h> in all cases.
The i386 UP case was messily different.
2000-10-27 08:30:59 +00:00
ru
e7e3f4f84c Fetch the protocol header (TCP, UDP, ICMP) only from the first fragment
of IP datagram.  This fixes the problem when firewall denied fragmented
packets whose last fragment was less than minimum protocol header size.

Found by:	Harti Brandt <brandt@fokus.gmd.de>
PR:		kern/22309
2000-10-27 07:19:17 +00:00
roger
0076869eac Merge from i386: Add MSP ioctl 2000-10-27 07:07:24 +00:00
markm
0f62238744 As the blocking model has seems to be troublesome for many, disable
it for now with an option.

This option is already deprecated, and will be removed when the
entropy-harvesting code is fast enough to warrant it.
2000-10-27 06:06:04 +00:00
msmith
8e9078858a Add PCI device ID for an upcoming revision of the product. 2000-10-27 05:58:45 +00:00
msmith
fc2fdafc88 Add a missing newline to a diagnostic. 2000-10-27 05:58:16 +00:00
jhb
0b4289b316 Add and document the WITNESS_SKIPSPIN and WITNESS_DDB kernel options. 2000-10-27 03:00:28 +00:00
jhb
6095730aab - Use MUTEX_DECLARE() and MTX_COLD for the WITNESS code's internal mutex so
it can function before malloc(9) is up and running.
- Add two new options WITNESS_DDB and WITNESS_SKIPSPIN.  If WITNESS_SKIPSPIN
  is enabled, then spin mutexes are ignored by the WITNESS code.  If
  WITNESS_DDB is turned on and DDB is compiled into the kernel, then the
  kernel will drop into DDB when either a lock hierarchy violation occurs
  or mutexes are held when going to sleep.
- Add some new sysctls:
  debug.witness_ddb is a read-write sysctl that corresponds to WITNESS_DDB.
     The kernel option merely changes the default value to on at boot.
  debug.witness_skipspin is a read-only sysctl that one can use to determine
     if the kernel was compiled with WITNESS_SKIPSPIN.
- Wipe out the BSD/OS-specific lock order lists.  We get to build our own
  lists now as we add mutexes to the kernel.
2000-10-27 02:59:30 +00:00
wpaul
0e2712ab38 Yet another bug fix/optimization for the Davicom DM9100/9102: increase
the PCI latency timer value to 0x80. Davicom's Linux driver does this,
and it drastically reduces the number of TX underruns in my tests. (Note:
this is done only for the Davicom chips. I'm not sure it's a good idea to
do it for all of them.)

Again, still waiting on confirmation before merging to stable.
2000-10-27 00:15:04 +00:00
obrien
6efde05bea Install the loader manpages. 2000-10-26 21:47:59 +00:00
cg
51af9cbc48 add reinit functions to mixers
unstaticize chn_start()
add reset/resetdone functions to channels
2000-10-26 20:46:58 +00:00
cg
9863d82244 do not attach to soundblaster 1.x - they are unsupported 2000-10-26 20:31:16 +00:00
imp
2b4c88302a Change comment from sprintf to snprintf 2000-10-26 19:46:20 +00:00
imp
b6c9e87f04 Change snprintf to strncpy.
Also add a comment about a bogus assumption in the current code found at
bsdcon by jhb.
2000-10-26 19:45:42 +00:00
roger
a41ecccb3a Add new ioctls for userland access to the MSP device 2000-10-26 16:41:48 +00:00
gallatin
d36ddd1e2a add a version tag for the alpha linulator to depend on 2000-10-26 16:31:29 +00:00
roger
b7497cab6b Fix typo 2000-10-26 16:27:51 +00:00
dfr
94847cd2d4 Minor build fixes. 2000-10-26 16:23:18 +00:00
gallatin
d4c788ef33 Update osf1_setuid() and osf1_setgid() to use the new change_euid() and
change_ruid() in kern_prot.c.  This fixes an incorrect use
of chgproccnt().

Update both osf1_setuid() and osf1_setgid() to use setsugid() instead
of just frobbing the flag.

(mostly) submitted by: truckman
2000-10-26 15:53:00 +00:00
gallatin
5d9586c3a9 unstaticize change_ruid() because it is needed by osf1_setuid() 2000-10-26 15:49:35 +00:00
ru
eb9beb0a97 RFC 791 says that IP_RF bit should always be zero, but nothing
in the code enforces this.  So, do not check for and attempt a
false reassembly if only IP_RF is set.

Also, removed the dead code, since we no longer use dtom() on
return from ip_reass().
2000-10-26 13:14:48 +00:00
darrenr
db58d9c235 fix conflicts from rcsids 2000-10-26 12:33:42 +00:00
ru
0b2fa8eb42 Wrong header length used for certain reassembled IP packets.
This was first fixed in rev 1.82 but then broken in rev 1.125.

PR:		6177
2000-10-26 12:18:13 +00:00
hm
52a1e9eb64 Add infrastructure for Cologne Chip HFC-S PCI driver. 2000-10-26 07:00:05 +00:00
hm
2820ad7f68 Add infrastructure for Cologne Chip HFC-S PCI driver.
Increment isdn4bsd step.
2000-10-26 06:58:43 +00:00
hm
dec60f1e1b Make the software HDLC decoder work again.
Submitted by:	Hans Petter Selasky <hselasky@c2i.net>
2000-10-26 06:31:18 +00:00
cg
9da177e1fd handle AFMT_QUERY right 2000-10-26 01:34:54 +00:00
luigi
a03f25ca90 Close PR22152 and PR19511 -- correct the naming of a variable 2000-10-26 00:16:12 +00:00
wpaul
aae8fbe44a Set the DC_TX_INTR_ALWAYS and DC_TX_STORENFWD flags for the Davicom
DM9100/DM9102 chips. Do not set DC_TX_ONE. The DC_TX_USE_TX_INTR flag
causes dc_encap() to set the 'interrupt on TX completion' bit only
once every 64 packets. This is an attempt to reduce the number
of interrupts generated by the chip. You're supposed to get a 'no more
TX buffers left' interrupt once you hit the last packet whether you
ask for one or not, however it seems the Davicom chip doesn't generate
this interrupt, or at least it doesn't generate it under the same
circumstances. The result is that if you transmit n packets, where
n is less than 64, and then wait 5 seconds, you'll get a watchdog
timeout whether you want one or not. The DC_TX_INTR_ALWAYS causes
dc_encap() to request an interrupt for every frame.

I'm still waiting on confirmation from a couple of users to see if this
fixes their problems with the Davicom DM9102 before I merge this into
-stable, but this fixed the problem for me in my own testing so I'm
willing to make the change to -current right away.
2000-10-25 23:46:31 +00:00
wpaul
cf55535bda Add a missing SK_UNLOCK() to sk_attach_xmac(). 2000-10-25 23:36:45 +00:00
dfr
03b418be19 Move the call to extend_heap() from main to start so that if our BSS
expands beyond the limit we will extend the address space before trying
to zero the BSS. This should give us plenty of headroom for modest
expansion of the loader.
2000-10-25 23:36:01 +00:00
dfr
3659542941 Don't build start.S as part of libalpha.a - its built specially. 2000-10-25 23:30:04 +00:00
dfr
f1af8ca01e Don't indirect through a null pointer if we run out of kernel filenames. 2000-10-25 23:28:19 +00:00
dfr
9ee1dd3b6c Make a few functions inline to save space. 2000-10-25 23:24:43 +00:00
des
b044ac7c87 Bring cpuinfo closer to what it looks like in Linux 2.2.
Submitted by:	R Bradford Jones <brad@kazrak.com>
2000-10-25 22:38:23 +00:00
des
cf2c27603a Add /proc/<pid>/status and /proc/<pid>/stat (the latter being mostly
zeroes for the time being).

Prompted by:	Nathan Boeger <nathan@khmere.com>
2000-10-25 22:12:59 +00:00
jhb
88bbcad879 - Add atomic_cmpset_{acq_,rel_,}_long
- Add in atomic operations for 8-bit, 16-bit, and 32-bit integers
2000-10-25 21:56:16 +00:00
jhb
bbfbda47af This driver doesn't have a software interrupt handler, so don't attempt to
schedule a non-existant handler to run.
2000-10-25 21:29:36 +00:00
jhb
99ac2bc137 Catch up to the new software interrupt code.
Noticed by:	phk
2000-10-25 21:24:08 +00:00
jhb
50e63cb8ab - Catch up to new software interrupt code.
- Add a missing curly brace.

Noticed by:	phk
2000-10-25 21:13:42 +00:00
jhb
3b31c8d431 - Remove unneeded machine/ipl.h #include.
- Change the softintr() macro to do nothing on FreeBSD.  Previously,
  this macro would set a bit in spending and schedule the softinterrupt
  thread to run.  However, the bs driver never actually registers a
  a software interrupt handler, so all this work achieved nothing.  From
  the code it is not clear what exactly the softintr() macro is actually
  supposed to be doing.  It looks like it is supposed to be possibly
  running the hardware interrupt handler maybe?  This handler is only
  present in the #ifdef __NetBSD__ code however.  I have no idea how this
  driver handles interrupts at all, but at least it compiles now.
2000-10-25 20:38:08 +00:00
jhb
c46ad82089 Catch up to the new swi code.
Noticed by:	phk
2000-10-25 20:21:42 +00:00
ru
811a2e2625 We now keep the ip_id field in network byte order all the
time, so there is no need to make the distinction between
ip_output() and ip_input() cases.

Reviewed by:	silence on freebsd-net
2000-10-25 10:56:41 +00:00
ps
d3cce807d9 Fast interrupts have no associated process, therefore do not try
and schedule it.  This fixes booting machines with broken MP tables.
2000-10-25 10:40:20 +00:00
n_hibma
3f71e941c5 The USB scanner driver. To be used together with SANE. 2000-10-25 10:34:38 +00:00
n_hibma
56bb47de31 Regen. 2000-10-25 10:14:44 +00:00
n_hibma
ffe3d7c5e5 Sync with NetBSD 2000-10-25 10:13:47 +00:00
msmith
1fa4177f01 Major update to the 'twe' driver.
- Layout reorganisation to enhance portability.  The driver now has
   a relatively MI 'core' and a FreeBSD-specific layer over the top.
   Since the NetBSD people have already done their own port, this is
   largely just to help me with the BSD/OS port.

 - Request ID allocation changed to improve performance (I'd been
   considering switching to this approach after having failed to come
   up with a better way to dynamically allocate request IDs, and seeing
   Andy Doran use it in the NetBSD port of the driver convinced me
   that I was wasting my time doing it any other way).  Now we just
   allocate all the requests up front.

 - Maximum request count bumped back to 255 after characterisation
   of a firmware issue (off-by-one causing it to crash with 256
   outstanding commands).

 - Control interface implemented.  This allows 3ware's '3dm' utility to
   talk to the controller.  3dm will be available from 3ware shortly.

 - Controller soft-reset feature added; if the controller signals a
   firmware or protocol error, the controller will be reset and all
   outstanding commands will be retried.
2000-10-25 06:59:06 +00:00
jhb
b34a97ebe9 - Overhaul the software interrupt code to use interrupt threads for each
type of software interrupt.  Roughly, what used to be a bit in spending
  now maps to a swi thread.  Each thread can have multiple handlers, just
  like a hardware interrupt thread.
- Instead of using a bitmask of pending interrupts, we schedule the specific
  software interrupt thread to run, so spending, NSWI, and the shandlers
  array are no longer needed.  We can now have an arbitrary number of
  software interrupt threads.  When you register a software interrupt
  thread via sinthand_add(), you get back a struct intrhand that you pass
  to sched_swi() when you wish to schedule your swi thread to run.
- Convert the name of 'struct intrec' to 'struct intrhand' as it is a bit
  more intuitive.  Also, prefix all the members of struct intrhand with
  'ih_'.
- Make swi_net() a MI function since there is now no point in it being
  MD.

Submitted by:	cp
2000-10-25 05:19:40 +00:00