Commit Graph

26539 Commits

Author SHA1 Message Date
Kazutaka YOKOTA
3b34b2da35 Test "sc->kbd != NULL" rather than "sc != NULL" before
accessing the keyboard in scopen().
MFC after:	2 weeks
2001-06-29 06:42:39 +00:00
John Baldwin
f052203eed Grab Giant around fault handling at the top level for now. 2001-06-29 04:18:59 +00:00
John Baldwin
92809bc001 Grab Giant around trap_pfault() for now. 2001-06-29 04:18:10 +00:00
Jonathan Lemon
84241bd0dc Fix up indentation. 2001-06-29 04:01:38 +00:00
Robert Watson
64e55bf47b Remove a fascinating but confusing construct involving chaining
conditional clauses in the following way:

	(0 || a || b);

No functional change.
2001-06-28 23:02:09 +00:00
Robert Watson
e8f7a95298 Add error checking for copyin() operations in posix4 scheduling code. 2001-06-28 22:53:42 +00:00
John Baldwin
ec178c1e4c Don't check witness assertions if the lock doesn't use witness or witness
is dead.
2001-06-28 22:22:20 +00:00
John Baldwin
ed87274d16 Fix more mntvnode and vnode interlock order reversals. 2001-06-28 22:21:33 +00:00
Hajimu UMEMOTO
785d213d3f - create an entry of IPV6CTL_STATS sysctl.
- fix the problem that netstat doesn't show raw6 and icmp6 pcblist.
- make netstat use sysctl to retreive stats of ipv6 and icmpv6
  instead of kread.

Obtained from:	KAME
MFC after:	1 week
2001-06-28 18:06:15 +00:00
Takanori Watanabe
c7ec8708f6 Follow Mike's commit by adding acpi_powerres.c. 2001-06-28 17:07:37 +00:00
John Baldwin
2239bbf079 Add acpi_powerres.c to fix the acpi build.
Pointy-hat to:	msmith
2001-06-28 17:02:31 +00:00
Joerg Wunsch
64860614a4 Merge in parts of a larger patchset i received from Bruce. Untested
by now (except of a compile test), but i believe this to contain no
actual functional changes.

. Fix the copyright of the Regents i accidentally broke in rev 1.197
  (although only a very small part of the original driver survived
  at all...).

. Bump MAX_CYLINDER since some obscure formats really use more than 80
  cylinders.

. Correctly handle BIO_FORMAT which used to be a bitmask but is now a BIO
  command of its own.

. Numerous stylistic fixes.

Submitted by:	bde
2001-06-28 12:35:28 +00:00
Benno Rice
ddfe059bf8 Put back the two semicolons I accidentally lost while reformatting this to
bring it closer to style(9).

Spotted by:	Mark Peek <mark@whistle.com>
2001-06-28 09:56:59 +00:00
Dima Dorfman
dc9ffb125c Remove dgm module.
Forgotten by:	brian
2001-06-28 06:41:23 +00:00
Mike Smith
c5ba0be495 Sync to my work in progress:
- Reorder the acpi_* functions in a sensible fashion
 - Add acpi_ForeachPackageObject and acpi_GetHandleInScope
 - Use the new debugging layer/level names
 - Implement most of the guts of the acpi_thermal module; passive cooling
   isn't there yet, but active cooling should work.
 - Implement power resource handling (acpi_powerres.c)

This compiles and mostly works, but my test coverage is small, so feedback
is welcome.
2001-06-28 06:17:16 +00:00
Jun Kuriyama
5b9eb1684e Fix typo (s/=/+=/) in previous commit. 2001-06-28 05:18:31 +00:00
Jonathan Lemon
83a1e72922 Correct comment: so_q -> so_comp, so_q0 -> so_incomp.
Submitted by: Adagio Vangogh <adagio_v@pacbell.net>
2001-06-28 04:39:49 +00:00
John Baldwin
49d2d9f4a4 - Fix a mntvnode and vnode interlock reversal.
- Protect the mnt_vnode list with the mntvnode lock.
- Use queue(9) macros.
2001-06-28 04:12:56 +00:00
John Baldwin
bc2327c310 - Protect the mnt_vnode list with the mntvnode lock.
- Use queue(9) macros.
2001-06-28 04:10:07 +00:00
John Baldwin
cd2f721557 - Fix a mntvnode and vnode interlock reversal.
- Protect the mnt_vnode list with the mntvnode lock.
2001-06-28 04:05:54 +00:00
John Baldwin
25142c5ea1 Get kernel profiling on SMP systems closer to working by replacing the
mcount spin mutex with a very simple non-recursive spinlock implemented
using atomic operations.
2001-06-28 04:03:29 +00:00
John Baldwin
797c3dba25 Fix a mntvnode and vnode interlock reversal. 2001-06-28 03:52:04 +00:00
John Baldwin
805d90f763 Protect the mnt_vnode list with the mntvnode lock. 2001-06-28 03:50:17 +00:00
Brian S. Dean
6eda157eaa Provide access to the IA32 hardware debug registers from the ddb
kernel debugger.  Proper use of these registers allows setting
hardware watchpoints for use in kernel debugging.

MFC after: 2 weeks
2001-06-28 02:08:13 +00:00
Brian Somers
54b442b0fa Fairwell dgm 2001-06-27 21:40:28 +00:00
Brian Somers
39425c9a08 Remove dgm 2001-06-27 21:38:43 +00:00
Brian Somers
6f41f4ab22 Spell digi right 2001-06-27 21:37:01 +00:00
Cameron Grant
f637a36cfd don't flag the playback hardchan as busy on devices with only one of them.
if a device has vchans already but they are all busy, allocate another one
at open() time, up to a maximum of hw.snd.maxvchans.

when creating/destroying vchans, don't make/remove a devnode for the
first/last one as it replaces a hardchan.
2001-06-27 19:59:45 +00:00
Cameron Grant
aa0baad55b tidy up/simplify dsp_clone() 2001-06-27 19:51:02 +00:00
Hajimu UMEMOTO
1026ccc41c refresh default router list on nd6_purge(), only if we are an
autoconfigured host.

Obtained from:	KAME
2001-06-27 17:56:17 +00:00
John Baldwin
8b2cea330f Catch up to mbuf allocator changes from last September so this compiles
again.
2001-06-27 14:57:17 +00:00
John Baldwin
b49a082a33 Make this compile again. Broken since June 1. 2001-06-27 14:46:44 +00:00
Ruslan Ermilov
3277d1c498 Fixed the brain-o in rev. 1.10: the logic check was reversed.
Reported by:	Bernd Fuerwitt <bf@fuerwitt.de>
2001-06-27 14:11:25 +00:00
Benno Rice
bda034cf8f Code for dealing with external interrupts.
Obtained from:	NetBSD
2001-06-27 12:33:51 +00:00
Benno Rice
111c77dcef Fix comment breakage. 2001-06-27 12:20:48 +00:00
Benno Rice
abc5579e8c Fix the atomic_*_32 operations. These were written before I had the ability
to test them properly and before I had a working knowledge of GCC asm
constraints.
2001-06-27 12:17:23 +00:00
Benno Rice
62626b2c33 Bracket this file in the usual #ifndef/#define/#endif stuff to prevent
multiple inclusion.
2001-06-27 12:15:58 +00:00
Benno Rice
97d9f676e5 Garbage collect some debug code. 2001-06-27 12:15:12 +00:00
Benno Rice
00267919e1 Add -msoft-float to COPTS to stop GCC attempting to be "smart" and using
floating point registers for various optimisation tweaks.
2001-06-27 12:10:25 +00:00
John Baldwin
5f36700a32 - Add trylock variants of shared and exclusive locks.
- The sx assertions don't actually need the internal sx mutex lock, so
  don't bother doing so.
- Add a new assertion SX_ASSERT_LOCKED() that asserts that either a
  shared or exclusive lock should be held.  This assertion should be used
  instead of SX_ASSERT_SLOCKED() in almost all cases.
- Adjust some KASSERT()'s to include file and line information.
- Use the new witness_assert() function in the WITNESS case for sx slock
  asserts to verify that the current thread actually owns a slock.
2001-06-27 06:39:37 +00:00
John Baldwin
04297fe609 - Add a new witness_assert() to perform arbitrary locking assertions.
- Clean up the KTR tracepoints to be slighlty more consistent and useful
- Fix a bug in WITNESS where we would recurse indefinitely and blow the
  stack when acquiring Giant after sleeping with a sleepable lock held.

Reported by:	tanimura (3)
2001-06-27 06:27:29 +00:00
John Baldwin
776e0b3693 - Always use the proc lock of the task leader to protect the peers list of
processes.
- Don't construct fake call args and then call kill().  psignal is not
  anymore complicated and is quicker and not prone to locking problems.
  Calling psignal() avoids having to do a pfind() since we already have a
  proc pointer and also allows us to keep the task leader locked while we
  kill all the peer processes so the list is kept coherent.
- When a kthread exits, do a wakeup() on its proc pointers.  This can be
  used by kernel modules that have kthreads and want to ensure they have
  safely exited before completely the MOD_UNLOAD event.

Connectivity provided by:	Usenix wireless
2001-06-27 06:15:44 +00:00
Joerg Wunsch
250300ebb0 Implement a new ioctl command for floppies: FD_READID
Reads one sector ID field from a given track.  Useful for analyzing
floppies.
2001-06-26 22:16:30 +00:00
Joerg Wunsch
4c34deeecf Some more cosmetics: kill another couple of K&R function definitions
that survived from old days, fix style of return type in fdcpio(),
kill old Emacs hints that are no longer working that way anyway.
2001-06-26 22:07:25 +00:00
Cameron Grant
cd9766c5f8 add a tunable/sysctl, hw.snd.autovchans. if this is set to a value n where
n > 0, n vchans will be assigned to any devices that subsequently register
with a single playback channel.
2001-06-26 21:54:55 +00:00
Benno Rice
7a0e745f1a Don't initialise ret in atomic_cmpset_32.
Add more synchronisation.
2001-06-26 13:54:17 +00:00
Atsushi Onoe
989b304357 The information about how to integrate this driver into BSDs is obsoleted,
and no longer needed.
2001-06-26 13:15:14 +00:00
Atsushi Onoe
6487a1b5c8 Fix capability information in association request to reflect ESS/IBSS mode.
This fix is required to interoperate with Cisco's access point.
Obtained from:	NetBSD current
2001-06-26 13:10:30 +00:00
Atsushi Onoe
f12be07f06 Fix keyid bit position of encrypted packet to make non-first key usable.
Obtained from:	NetBSD current
2001-06-26 13:08:44 +00:00
Atsushi Onoe
f599d8f301 Fix previous enhancement to add support for new ifconfig interface. 2001-06-26 13:06:12 +00:00
Yoshihiro Takahashi
15bf31ded3 Merged from the following changes.
sys/isa/ppc.c      revisions from 1.27 to 1.34
  sys/isa/ppcreg.h   revisions from 1.10 to 1.15
  sys/isa/isareg.h   revision 1.6
2001-06-26 11:53:12 +00:00
Yoshihiro Takahashi
50c2952249 Merged from sys/isa/sio.c revision 1.335. 2001-06-26 11:48:17 +00:00
Yoshihiro Takahashi
0d3dc5c9f0 Merged from sys/i386/isa/isa_dma.c revision 1.7. 2001-06-26 11:47:24 +00:00
Yoshihiro Takahashi
439d7df917 Merged from sys/isa/syscons_isa.c revision 1.16. 2001-06-26 11:46:42 +00:00
Yoshihiro Takahashi
7dbc5c43d4 Merged from sys/dev/syscons/scterm-sc.c revison 1.15. 2001-06-26 11:45:54 +00:00
Yoshihiro Takahashi
5346e77648 Merged from sys/dev/syscons/syscons.c revisons 1.358 and 1.360. 2001-06-26 11:45:01 +00:00
Yoshihiro Takahashi
fc2c05d1c2 Merged from sys/isa/fd.c revisions 1.198, 1.199, 1.200, 1.202 and 1.204. 2001-06-26 11:44:21 +00:00
Yoshihiro Takahashi
dced978191 Merged from sys/i386/include/bus_at386.h revision 1.14. 2001-06-26 11:36:45 +00:00
Yoshihiro Takahashi
7b7284de16 Merged from sys/dev/aic/aic_isa.c revision 1.8. 2001-06-26 11:35:46 +00:00
Ruslan Ermilov
a447a5ae06 Bring in fix from NetBSD's revision 1.16:
Pass the correct destination address for the route-to-gateway case.

PR:		kern/10607
MFC after:	2 weeks
2001-06-26 09:00:50 +00:00
KATO Takenori
7cd8375d89 Commented out pcm hints.
Pointed out by:	nyan
2001-06-26 08:27:00 +00:00
KATO Takenori
5d2f190a3b Recognize FC-PGA2 Pentium III (Tualatin). 2001-06-26 03:02:30 +00:00
Yoshihiro Takahashi
8fce7fd44f Fixed miss merging from revision 1.102. 2001-06-26 00:47:54 +00:00
John Baldwin
f565449541 Allow the clock lock to recurse. 2001-06-25 23:56:56 +00:00
John Baldwin
eaa942ebbd - Grab the vm lock around all of pmap_emulate_reference() as it manipulates
vm_page_t's.
- Add a KTR_TRAP tracepoint to trap() on the alpha that displays the
  contents of a0, a1, and a2 to make debugging of nested traps that
  panic before displaying any useful output easier.
2001-06-25 23:52:25 +00:00
John Baldwin
b7e554f5d6 - Move the 'clk' spinlock below other spin locks since KTR trace events
may need the clock lock for nanotime().
- Add KTR trace events for lock list manipulations and other witness
  operations.
- Use a temporary variable instead of setting the lock list head directly
  and then setting up the links to add a new lock list entry to the lock
  list.  This small race could result in witness "forgetting" about all
  the locks held by this process temporarily during an interrupt.
- Close a more fatal race condition when removing a lock from a list.
  Removing a lock from the list entails both decrementing the count of
  items in this bucket as well as shuffling items in the current bucket up
  a notch to replace the gap left by the removed item.  Wrap these
  operations in a critical section.
2001-06-25 23:17:52 +00:00
John Baldwin
1715f07da3 - Replace the unused KTR_IDLELOOP trace class with a new KTR_WITNESS trace
class to trace witness events.
- Make the ktr_cpu field of ktr_entry be a standard field rather than one
  present only in the KTR_EXTEND case.
- Move the default definition of KTR_ENTRIES from sys/ktr.h to
  kern/kern_ktr.c.  It has not been needed in the header file since KTR
  was un-inlined.
- Minor include cleanup in kern/kern_ktr.c.
- Fiddle with the ktr_cpumask in ktr_tracepoint() to disable KTR events
  on the current CPU while we are processing an event.
- Set the current CPU inside of the critical section to ensure we don't
  migrate CPU's after the critical section but before we set the CPU.
2001-06-25 23:09:31 +00:00
John Baldwin
1d79f1bb9a - Sort includes.
- Count the context switches during shutdown when we give ithreads a chance
  to run as volutary context switches.

Submitted by:	bde (2)
2001-06-25 18:30:42 +00:00
John Baldwin
c4f7a18726 Count the context switch when blocking on a mutex as a voluntary context
switch.  Count the context switch when preempting the current thread to let
a higher priority thread blocked on a mutex we just released run as an
involuntary context switch.

Reported by:	bde
2001-06-25 18:29:32 +00:00
John Baldwin
84bbc4dbda Count the switch when an ithread goes idle as a voluntary context switch.
Submitted by:	bde
2001-06-25 18:27:33 +00:00
John Baldwin
277be4c219 We don't need the vm lock to perform a few simple calculations on the
md device's softc.
2001-06-25 18:24:52 +00:00
John Baldwin
5ae10ded6e Fix cut-n-paste brain-o.
Pointy-hat to:	me
2001-06-25 16:38:09 +00:00
Doug Rabson
b5da4ce935 Add code to detect Transmeta Crusoe cpus. 2001-06-25 15:11:33 +00:00
Mike Smith
15fd5d220f Driver modifications consistent with my other drivers to facilitate
the use of a single set of sources across 4.x and 5.x branches.

No significant code changes.
2001-06-25 04:32:31 +00:00
Warner Losh
9ae6dc2e12 Work around a bug in the current interrupt system by explicitly
rejecting INTR_FAST interrupts.  Since they can't be shared anyway,
this just short circuits a failure case that should work but is panic
fodder now.

This bug is that if the interrut condiation is active when you activate
the interrupt, then the interrupt routine will be called.  jhb had
a patch that may or may not work to fix it, but I've lost it.

This may be due to the sio probe doing something odd too.
2001-06-25 04:13:54 +00:00
Jun Kuriyama
6ce2587d28 Merge from netinet/ip_fw.c (1.117 -> 1.118).
o Use syslog(3) interface for logging.

Reviewed by:	ume
MFC after:	10 days
2001-06-24 22:41:00 +00:00
Hajimu UMEMOTO
ead6be55b8 remove IN6_IS_ADDR_ANY macro (outside of standard, #if 0'ed for a long time)
Obtained from:	KAME
MFC after:	10 days
2001-06-24 20:43:01 +00:00
Hajimu UMEMOTO
0554093b72 disallow setsockopt(IPV6_V6ONLY) for already bound sockets.
Obtained from:	KAME
MFC after:	10 days
2001-06-24 20:25:38 +00:00
Matt Jacob
d1d080f810 fix oopslet for PROC_UNLOCK_NOSWITCH 2001-06-24 18:23:17 +00:00
Matt Jacob
f053d7777b cleanup some of the XPORT_FC code 2001-06-24 18:19:24 +00:00
Matt Jacob
c1c84cd9c5 Add a transport settings variant for Fibre Channel. 2001-06-24 18:17:45 +00:00
Matt Jacob
d73ce75615 Add CAM_NEW_TRAN_CODE as an option (to be included in opt_cam.h). 2001-06-24 18:15:58 +00:00
Hajimu UMEMOTO
610be6ce41 on icmp6 node information query (FQDN), do not return hostnames with
two dots (like "foo..bar").  0-length labels are not distinguishable
with multiple name replies.

Obtained from:	KAME
MFC after:	10 days
2001-06-24 14:59:34 +00:00
Hajimu UMEMOTO
3e617560d9 decrease warning
Obtained from:	KAME
MFC after:	10 days
2001-06-24 14:57:20 +00:00
Hajimu UMEMOTO
99fe1b3717 Nuke the comment about MIP6. We don't have MIP6 code, yet.
MFC after:	10 days
2001-06-24 14:55:18 +00:00
Hajimu UMEMOTO
8acb22906f inject outbound packet to BPF.
Submitted by:	itojun
Obtained from:	KAME
MFC after:	10 days
2001-06-24 14:52:55 +00:00
David Malone
db3cc2d09f Don't dereference a NULL pointer if we fail to get a sendfilebuf. 2001-06-24 12:27:30 +00:00
David Malone
7ce87f1205 Allow getcred sysctl to work in jailed root processes. Processes can
only do getcred calls for sockets which were created in the same jail.
This should allow the ident to work in a reasonable way within jails.

PR:		28107
Approved by:	des, rwatson
2001-06-24 12:18:27 +00:00
David Malone
5e209ca776 Get rid of some constness warnings. 2001-06-24 12:08:47 +00:00
Benno Rice
e2d53d7c4a Fix asm constraints for atomic_cmpset_32. This fix may also be needed
elsewhere.
2001-06-24 06:36:28 +00:00
Matthew Dillon
c7503f60c4 After exhaustive discussions and some meandering and confusion, enough
people are on track with the cause and effect of this, and although
fixing this severely degenerate case appears to violate the letter of
POSIX.1-200x, Bruce and I (and enough others) agree that it should be
comitted.

So, this patch generates an ENOENT error for any attempt to do a path lookup
through an empty symlink (e.g. open(), stat()).

Submitted by: "Andrey A. Chernov" <ache@nagual.pp.ru>
Reviewed by: bde
Discussed exhaustively on: freebsd-current
Previously committed to: NetBSD 4 years ago
2001-06-24 05:24:41 +00:00
Mitsuru IWASAKI
6454a61bd7 Reset timestamps of battery info. and status by thier notify handler.
Suggested by:   takawata
2001-06-24 02:39:08 +00:00
Mitsuru IWASAKI
a5d1879b32 - Swap order of "S4B" and "S5" in sleep_state_names. They already
changed in ACPICA actypes.h.
- Use ACPI_S_STATES_MAX instead of ACPI_STATE_S5.
2001-06-24 02:37:38 +00:00
Semen Ustimenko
1d57ebcdbf Add initializetion of NVCTL register with EEPROM stored value.
This fix hazardous very slow work for one of my cards.

MFC after:	1 week
2001-06-23 19:30:26 +00:00
Cameron Grant
8e81760b1a the turtle beach santacruz implements ac97 eapd in an inverted sense -
inform the ac97 code of this.
2001-06-23 18:00:06 +00:00
Jonathan Lemon
f962cba5c3 Replace bzero() of struct ip with explicit zeroing of structure members,
which is faster.
2001-06-23 17:44:27 +00:00
Cameron Grant
f00f162a5f add defines and ifdefs so this code will compile on 4.x
add spls so this code will work on 4.x
2001-06-23 17:36:51 +00:00
Cameron Grant
79bb7d52b3 move a private struct definition from ac97.h to ac97.c
add proper handling of cards which take eapd=1 to mean 'produce sound'
instead of 'external amplifier power down'
2001-06-23 17:32:40 +00:00
Ruslan Ermilov
c73d99b567 Add netstat(1) knob to reset net.inet.{ip|icmp|tcp|udp|igmp}.stats.
For example, ``netstat -s -p ip -z'' will show and reset IP stats.

PR:		bin/17338
2001-06-23 17:17:59 +00:00
Cameron Grant
6fe615f6bb add sndstat.c so module users have /dev/sndstat again 2001-06-23 17:09:38 +00:00
Mitsuru IWASAKI
4eb77744b5 Add sysctl interface (Read-only) for temprature, AC-line and Battery.
Patches for acpi_cmbat.c submitted by Munehiro Matsuda.
2001-06-23 10:38:25 +00:00
KATO Takenori
b7494481a0 Merged from sys/i386/isa/npx.c revision 1.102. 2001-06-23 08:39:13 +00:00
KATO Takenori
a655f750be Merged from sys/i386/i386/machdep.c revisions 1.456 and 1.457. 2001-06-23 08:30:13 +00:00
KATO Takenori
4f2114cb40 Removed pcm and sbc devices. 2001-06-23 08:18:55 +00:00
KATO Takenori
7bc0575ab0 Merged from sys/conf/files.i386 revisions 1.362 and 1.363. 2001-06-23 08:10:50 +00:00
KATO Takenori
b6da22604e Merged from sys/boot/i386/btx/btx/btx.s revision 1.25. 2001-06-23 08:04:14 +00:00
Nicolas Souchu
3ae3f8b0be Convert inb/outb to bus_space.
Submitted by:	jcm@FreeBSD-uk.eu.org
2001-06-23 06:52:54 +00:00
Nicolas Souchu
334a17f09a Translate various ppbus sequences into microsequences to limit
overhead of abstraction layers.

Submitted by:	jcm@FreeBSD-uk.eu.org
2001-06-23 06:51:52 +00:00
Mike Silbersack
08517d530e Eliminate the allocation of a tcp template structure for each
connection.  The information contained in a tcptemp can be
reconstructed from a tcpcb when needed.

Previously, tcp templates required the allocation of one
mbuf per connection.  On large systems, this change should
free up a large number of mbufs.

Reviewed by:	bmilekic, jlemon, ru
MFC after: 2 weeks
2001-06-23 03:21:46 +00:00
Brooks Davis
1d3771386f Fix a number of bugs in the implementation of the WEP related status
functions in ifconfig.  "ifconfig an0" should output the correct
status now.  Also, make the read and write functions both more
robust and more consistant.  This should stop most of the incorrect
size complaints and eliminate the possiability of panics from firmware
that increases resource sizes.

PR:		kern/27826
Reviewed by:	imp, jlemon
Submitted by:	Doug Ambrisko <ambrisko@ambrisko.com>
		David Wolfskill <dhw@whistle.com>
2001-06-22 23:35:24 +00:00
John Baldwin
1df95969b5 - Lock CURSIG() with the proc lock to close the signal race with psignal.
- Grab Giant around ktrace points.
- Clean up KTR_PROC tracepoints to not display the value of
  sched_lock.mtx_lock as it isn't really needed anymore and just obfuscates
  the messages.
- Add a few if conditions to replace gotos.
- Ensure that every msleep KTR event ends up with a matching msleep resume
  KTR event (this was broken when we didn't do a mi_switch()).
- Only note via ktrace that we resumed from a switch once rather than twice
  in several places in msleep().
- Remove spl's rom asleep and await as the proc lock and sched_lock provide
  all the needed locking.
- In mawait() add in a needed ktrace point for noting that we are about to
  switch out.
2001-06-22 23:11:26 +00:00
John Baldwin
87f9ffb805 - Lock CURSIG with the proc lock and don't release the proc lock until
after grabbing the sched lock to close a race.
- Lock ktrace points with Giant.
2001-06-22 23:06:38 +00:00
John Baldwin
06c836bbca - Grab the proc lock around CURSIG and postsig(). Don't release the proc
lock until after grabbing the sched_lock to avoid CURSIG racing with
  psignal.
- Don't grab Giant for addupc_task() as it isn't needed.

Reported by:	tegge (signal race), bde (addupc_task a while back)
2001-06-22 23:05:11 +00:00
John Baldwin
2ad7d3049a - Change CURSIG() and postsig() to require that the proc lock is held
rather than grabbing it and releasing it themselves.  This allows callers
  of these functions to get the lock to close race conditions.
- Grab Giant around ktrace in postsig.
- Count the switches performed on SIGSTOP's as involuntary context switches
  in the resource usage stats.

Reported by:	tegge (signal race), bde (missing csw stats)
2001-06-22 23:02:37 +00:00
David E. O'Brien
73325acbbc People wanted this bumped for the Bzip2 import. 2001-06-22 22:38:12 +00:00
Peter Wemm
1a6d55cecd Make the hw.physmem and hw.usermem variables unsigned so that they dont
come up as negative on machines with >2GB ram.
2001-06-22 22:07:01 +00:00
John Baldwin
49f886f5d3 Be conservative and always perform an mb after an atomic_cmpset operation. 2001-06-22 21:13:20 +00:00
John Baldwin
6d541bf1ae - Protect all accesses to nsw_[rw]count{,_{,a}sync} with the pbuf mutex.
- Don't drop the vm mutex while grabbing the pbuf mutex to manipulate
  said variables.
2001-06-22 21:12:19 +00:00
Matt Jacob
2f7f966cb8 int -> size_t fix 2001-06-22 19:54:38 +00:00
Matt Jacob
d4d79f279c Make hostid an unsigned long (matches kern_mib.c change)
PR:		kern/21132
MFC after:	1 month
2001-06-22 19:51:45 +00:00
Matt Jacob
8f5a1742c2 Temporary fix at least- define NCPU_PRESENT which will be mp_npcus for
SMP kernels, one (1) for non-SMP.
2001-06-22 16:03:23 +00:00
Jim Pirzyk
f83ae79fbe changed hostid from long to unsigned long to be able to store values > 2GB
on i386 platforms.  Also changed SYSCTL type from INT to ULONG and removed
comment about it.

PR:		kern/21132
MFC after:	1 month
2001-06-22 16:03:14 +00:00
John Baldwin
f4a395d6e4 Doh, missed a printf -> db_printf in the previous commit. 2001-06-22 15:37:48 +00:00
Bosko Milekic
08442f8a82 Introduce numerous SMP friendly changes to the mbuf allocator. Namely,
introduce a modified allocation mechanism for mbufs and mbuf clusters; one
which can scale under SMP and which offers the possibility of resource
reclamation to be implemented in the future. Notable advantages:

 o Reduce contention for SMP by offering per-CPU pools and locks.
 o Better use of data cache due to per-CPU pools.
 o Much less code cache pollution due to excessively large allocation macros.
 o Framework for `grouping' objects from same page together so as to be able
   to possibly free wired-down pages back to the system if they are no longer
   needed by the network stacks.

 Additional things changed with this addition:

  - Moved some mbuf specific declarations and initializations from
    sys/conf/param.c into mbuf-specific code where they belong.
  - m_getclr() has been renamed to m_get_clrd() because the old name is really
    confusing. m_getclr() HAS been preserved though and is defined to the new
    name. No tree sweep has been done "to change the interface," as the old
    name will continue to be supported and is not depracated. The change was
    merely done because m_getclr() sounds too much like "m_get a cluster."
  - TEMPORARILY disabled mbtypes statistics displaying in netstat(1) and
    systat(1) (see TODO below).
  - Fixed systat(1) to display number of "free mbufs" based on new per-CPU
    stat structures.
  - Fixed netstat(1) to display new per-CPU stats based on sysctl-exported
    per-CPU stat structures. All infos are fetched via sysctl.

 TODO (in order of priority):

  - Re-enable mbtypes statistics in both netstat(1) and systat(1) after
    introducing an SMP friendly way to collect the mbtypes stats under the
    already introduced per-CPU locks (i.e. hopefully don't use atomic() - it
    seems too costly for a mere stat update, especially when other locks are
    already present).
  - Optionally have systat(1) display not only "total free mbufs" but also
    "total free mbufs per CPU pool."
  - Fix minor length-fetching issues in netstat(1) related to recently
    re-enabled option to read mbuf stats from a core file.
  - Move reference counters at least for mbuf clusters into an unused portion
    of the cluster itself, to save space and need to allocate a counter.
  - Look into introducing resource freeing possibly from a kproc.

Reviewed by (in parts): jlemon, jake, silby, terry
Tested by: jlemon (Intel & Alpha), mjacob (Intel & Alpha)
Preliminary performance measurements: jlemon (and me, obviously)
URL: http://people.freebsd.org/~bmilekic/mb_alloc/
2001-06-22 06:35:32 +00:00
Matt Jacob
ed37c8743e Move check against CAM_NEW_TRAN_CODE ahead of the file that might include
the option file that would define it.
2001-06-22 01:02:41 +00:00
Dima Dorfman
ba23229ef8 Don't set CONSPEED to the default and deobfuscate the comment.
PR:		28296
Submitted by:	bde, Giorgos Keramidas <keramida@ceid.upatras.gr>
2001-06-21 19:50:11 +00:00
George C A Reid
733a4ea771 Use the M_ZERO flag to malloc(9)
Reviewed by:	cg
MFC after:	1 week
2001-06-21 19:45:59 +00:00
Matt Jacob
0e300eff0a Don't dereference NULL regs pointer (should mapping I/O ports fail, as
they did for me on an alpha)

Approved by:	gibbs@freebsd.org
MFC after:	2 days
2001-06-21 16:18:27 +00:00
Munechika SUMIKAWA
a96c00661a - Renumber KAME local ICMP types and NDP options numberes beacaues they
are duplicated by newly defined types/options in RFC3121
- We have no backward compatibility issue. There is no apps in our
  distribution which use the above types/options.

Obtained from:	KAME
MFC after:	2 weeks
2001-06-21 07:08:43 +00:00
Peter Wemm
47f1082c4f Remove -DNEW_LINKERSET, it is not used here anymore. This is now native. 2001-06-21 00:08:23 +00:00
John Baldwin
ad6c5bbede Don't lock around swap_pager_swap_init() that is only called once during
the pagedaemon's startup code since it calls malloc which results in lock
order reversals.
2001-06-20 23:34:06 +00:00
John Baldwin
fbd26f7594 Fix some lock order reversals where we called free() while holding a proc
lock.  We now use temporary variables to save the process argument pointer
and just update the pointer while holding the lock.  We then perform the
free on the cached pointer after releasing the lock.
2001-06-20 23:10:06 +00:00
Joerg Wunsch
80909a7db8 Cosmetics:
. staticize out_fdc(), there's no longer an ft(4) driver sharing its use
. remove in_fdc(), has been used by ft(4) last time, long since obsoleted
  by fd_in()
. move the declaration of fd_clone() to where most of the other function
  declarations are
. de-__P()ify fd_clone(), it's been the only _P()ed function in the
  entire file
2001-06-20 20:21:55 +00:00
Bosko Milekic
f5eece3fb9 Change m_devget()'s outdated and unused `offset' argument to actually mean
something: offset into the first mbuf of the target chain before copying
the source data over.

Make drivers using m_devget() with a first argument "data - ETHER_ALIGN"
to use the offset argument to pass ETHER_ALIGN in. The way it was previously
done is potentially dangerous if the source data was at the top of a page
and the offset caused the previous page to be copied (if the
previous page has not yet been appropriately mapped).

The old `offset' argument in m_devget() is not used anywhere (it's always
0) and dates back to ~1995 (and earlier?) when support for ethernet trailers
existed. With that support gone, it was merely collecting dust.

Tested on alpha by: jlemon
Partially submitted by: jlemon
Reviewed by: jlemon
MFC after: 3 weeks
2001-06-20 19:48:35 +00:00
John Baldwin
2e1aacccac Preemption by an interrupt thread is an involuntary switch, not a voluntary
one.

Pointy-hat to:	me
2001-06-20 18:26:41 +00:00
Jim Pirzyk
3398752a77 Applied the patch to fix HARP ATM that was broken when KAME IPv6 came
into FreeBSD.

PR:		kern/23620
Submitted by:	rh@matriplex.com
MFC after:	1 month
2001-06-20 17:09:14 +00:00
Ian Dowse
11fbe665c0 The serial console break-to-debugger support only functioned while
the console device was open. At other times, the interrupts that
are used to detect the break signal or ~^B sequence were disabled,
so these events would not be noticed until the next open (e.g. the
next kernel printf). This was mainly a problem while there was no
getty running on the console, such as during bootup or shutdown.

For serial consoles with break-to-debugger support, we now enable
the generation of interrupts at attach time, and we leave them
enabled while the device is closed.

Reviewed by:	bde (I've since made chages as per his suggestions)
2001-06-20 16:47:23 +00:00
Dag-Erling Smørgrav
0e79fe6f0e Constify (silence warnings introduced by last commit to sys/module.h) 2001-06-20 16:08:45 +00:00
Brian Somers
4b65cac846 Allow individual ports to use alternate pin settings (swap dsr & cd)
via the new DIGIIO_SETALTPIN ioctl, and allow the port's ALTPIN setting
to be queried via DIGIIO_GETALTPIN.

The initial state and lock devices are normally used to set and/or
lock ALTPIN settings although the device itself may also be used.

ALTPIN settings are applied per-device and apply to both the callin
and callout device at the same time.
2001-06-20 14:52:08 +00:00
Brian Somers
4a48819fbc Add DIGIIO_SETALTPIN and DIGIIO_GETALTPIN ioctl values 2001-06-20 14:51:58 +00:00
Hajimu UMEMOTO
ff2428299f made sure to use the correct sa_len for rtalloc().
sizeof(ro_dst) is not necessarily the correct one.
this change would also fix the recent path MTU discovery problem for the
destination of an incoming TCP connection.

Submitted by:	JINMEI Tatuya <jinmei@kame.net>
Obtained from:	KAME
MFC after:	2 weeks
2001-06-20 12:32:48 +00:00
Brian Somers
a48de39daf Close a race where we were releasing the unit resource at the start
of tunclose() rather than the end, and tunopen() grabbed that unit
before tunclose() finished (one process is allocating it while another
is freeing it!).

It may be worth hanging some sort of rw mutex around all specinfo
calls where d_close and the detach handler get a write lock and all
other functions get a read lock.  This would guarantee certain levels
of ``atomicity'' (is that a word?) that people may expect (I believe
Solaris does something like this).
2001-06-20 10:06:28 +00:00
Warner Losh
bd947818c1 Revert last change: it was unintended at this time. 2001-06-20 06:24:28 +00:00
Warner Losh
24236dfc83 Add new entries for:
TI1210, TI4410 and TI4450
and fix what looks like a typo in the OZ6860 entry.

Obtained from: NetBSD
2001-06-20 06:21:17 +00:00
Andrey A. Chernov
531918e6e8 Add B921600 (yes, some serial ports can do this, but generic sio not support
them yet)
2001-06-20 03:26:41 +00:00
John Baldwin
69a78d4666 Put the scheduler, vmdaemon, and pagedaemon kthreads back under Giant for
now.  The proc locking isn't actually safe yet and won't be until the proc
locking is finished.
2001-06-20 00:48:20 +00:00
Dag-Erling Smørgrav
4ee5ccb607 Constify the module name. This silences a few warnings ("initialization
discards qualifier"), and probably adds a few where module names are
compared to or passed as non-const strings.

Not-objected-to-by:	bde
2001-06-19 21:40:14 +00:00
Garrett Wollman
5e331acd24 Actually document TCPDEBUG. 2001-06-19 17:07:15 +00:00
Garrett Wollman
1a02faf608 Fix punctuation in comment. 2001-06-19 17:00:55 +00:00
Munechika SUMIKAWA
64fbad5899 Suppress update ifnet.iflastchange when processing packets for SNMP
requirements(RFC1573, interface MIB). This change for 4.4BSD was
first introduced in if_ethersubr.c:1.17->1.18.

BTW, iflastchange on all of IFs are inconsistent. e.g.
     ether, tun: update
     fddi, tokenring, ppp: not update
I'll make patch later.

Obtained from:	KAME
MFC after:	2 weeks
2001-06-19 15:53:51 +00:00
Munechika SUMIKAWA
05b6760d2a Add IFT_L2VLAN for supported NDP type. IPv6 over VLAN works now.
Obtained from:	KAME
MFC after:	2 weeks
2001-06-19 14:48:02 +00:00
Benno Rice
5fa25b1b0e More verbose version of identifycpu() which also contains many more CPU
versions/revisions.

Modified from the original patch to mark G3 and G4 processors as such.

Submitted by:	Jeff Schottmiller <jeff@neoscale.com>
2001-06-19 13:27:33 +00:00
Peter Wemm
5c9321595d Convert the elf loader to the new linker set layout for elf files.
This should make dependencies at load time work like before.  Oops.

Noticed by:	markm
2001-06-19 07:41:07 +00:00
Peter Wemm
357f511a58 Fix some of the worst formatting bug (seperate commit) 2001-06-19 06:48:58 +00:00
Bill Paul
7437599f41 Fix some memory bugs with regard to jumbo buffers. I made a mistake when
converting from the old external mbuf buffer code to the new (with the
MEXTADD() macro). Also free free list memory correctly in
foo_free_jumbo_mem() routines: grab the head of the list, then
remove it, _then_ free() it.

This fixes the memory corruption problem I've been chasing in the level 1
driver.
2001-06-18 22:04:40 +00:00
Jim Pirzyk
7b32dc4ee4 Added CTLTYPE_{UINT|LONG|ULONG} types.
PR:		kern/21132
Reviewed by:	no objections to by -arch
MFC after:	1 month
2001-06-18 21:07:04 +00:00
Garrett Wollman
37336173d3 After one too many PRs on the subject, bite the bullet and define IOV_MAX
and its associated constants.  Implement _SC_IOV_MAX in the usual way.
Be a bit sloppy about the namespace question; this should get cleared up
in time for 5.0.

MFC after:	1 month
2001-06-18 20:24:54 +00:00
Cameron Grant
b30d115684 stop csa from panicing in clkrun_hack() - we were using free'd memory
don't leak memory in clkrun_hack()

Submitted by:	grog (partially)
2001-06-18 19:58:03 +00:00
John Baldwin
6fad32afc9 Lock Giant in postsig() for the KTRACE case as ktrpsig() needs Giant when
it writes out to the trace file.

Reported by:	peter, gallatin, and others
2001-06-18 19:23:43 +00:00
John Baldwin
ce1a1f42fb Initialize mutexes needed early on all in the same place so that the
startup routine more closely matches that of alpha and ia64.  At some
point the common mutexes shared across all platforms probably should move
into sys/kern_mutex.c.
2001-06-18 19:19:38 +00:00
John Baldwin
0865563a93 - Add support for decoding syscall names. (Brought over from the new alpha
trace code that was brought over from NetBSD.)
- Check for "syscall_with_err_pushed" as the label prior to a syscall trap
  frame rather than "Xlcall_syscall" and "Xint0x80_syscall".  We don't
  have a valid trapframe during the short range of code that those two
  symbols now cover.
- Simplify db_next_frame() to avoid duplicating the code for the different
  trap frame types.
- Don't try to trace a swapped-out process.  (Brought over from NetBSD via
  the new alpha trace code.)
2001-06-18 19:17:30 +00:00
John Baldwin
3128cdd847 Include sys/pcpu.h to get the prototype for globaldata_register() to quiet
a warning.
2001-06-18 19:06:14 +00:00
Thomas Moestl
916076fefc Call bus_teardown_intr when csa_attach fails after the interrupt has
been set up.

PR:		kern/28178
Reviewed by:	cg
MFC after:	2 weeks
2001-06-18 18:36:34 +00:00
Brian Somers
9c4013d76c Use linker_reference_module() instead of hard-coding the digi_*
module path.
2001-06-18 15:10:20 +00:00
Brian Somers
09dbb40410 Add linker_reference_module().
This function loads a module if required, otherwise bumps the reference
count -- the opposite of linker_file_unload().
2001-06-18 15:09:33 +00:00
Brian Somers
3f99abb8b6 Credit John Prince and Eric Hernes for their work. 2001-06-18 15:02:33 +00:00
Hajimu UMEMOTO
c3aacd9ec2 call pfxlist_onlink_check() at the end of in6_tmpifadd(), to make sure
a temporary address generated from a detached public one also detached.

Submitted by:	JINMEI Tatuya <jinmei@isl.rdc.toshiba.co.jp>
Obtained from:	KAME
2001-06-18 11:37:06 +00:00
Brian Somers
21ff14e0f9 Don't remove the SI_CHEAPCLONE for unsupported minors 2001-06-18 09:22:30 +00:00
Brian Somers
2deed49982 Remove the SI_CHEAPCLONE flag when hanging resources off the dev_t 2001-06-18 09:21:59 +00:00
Cameron Grant
74ffd13814 use devclass_get_maxunit() correctly 2001-06-18 00:10:47 +00:00
Cameron Grant
faeebea2b8 revise dsp_clone() to return the first nonbusy channel instead of simply
cycling channel numbers.

remove unused fields from struct snddev_info.
2001-06-17 23:23:06 +00:00
Cameron Grant
5210620e98 fix a potential panic in dsp_clone() if no pcm devices were detected 2001-06-17 20:15:29 +00:00
Yoshihiro Takahashi
6c551e8d24 Don't assume that resource type is ioport and rid equal 0. 2001-06-17 13:33:59 +00:00
Benno Rice
c585bae1c2 The final commit for the first phase of PowerPC support.
This adds the config stuff needed to build kernels.

Reviewed by:	obrien
2001-06-17 09:39:44 +00:00
Yoshihiro Takahashi
3d1421a7f8 Allocate all resources using keyboard controller. 2001-06-17 04:43:28 +00:00
Warner Losh
0c0625cf94 Move cardbus and pccard bus bridge devices to near the bridge chips. This
is so that all the pccard options are together and this reduces diffs with
GENERIC.
2001-06-17 02:02:33 +00:00
Warner Losh
0f51bb10a0 MFGENERIC:
1.307		Turn on kernel debug support
	1.309		Turn off pcm
	1.311		move wx to miibus chipsets
	1.312		Comment out USERCONFIG

Reminded by: mihira-san <sanpei@sanpei.org>
2001-06-17 01:57:39 +00:00
Peter Wemm
b85db19691 Move setugid() a little sooner to before we release tracing in case
crdup() or change_e*id() block on malloc() or mutex.
2001-06-16 23:34:23 +00:00
Warner Losh
8d3428c0b4 Some people are having problems with insert/eject. Add some debug
information until the problems can be tracked down.  Right now these
are unconditional, but later it will be hidden behind a boot verbose.

Also, if there are no events listed in the event mask, return right
away.  Specifically avoid writing back interrupt acks in this case.
2001-06-16 23:26:18 +00:00
Peter Wemm
46700f1259 Use INTR_TYPE_AV for the interrupt handlers because:
1: most drivers are sensitive to timing, and
2: the handlers are MPSAFE and need a chance to get into the kernel
before some other non-mpsafe handler blocks the ithread on Giant in
shared irq cases.

Reviewed by:	cg  (in principle)
2001-06-16 22:59:46 +00:00
Peter Wemm
5a280d9cd1 Add INTR_TYPE_AV so that we can get to the PI_AV priority in the ithread
handlers.  This is beneficial since it means that pcm's MPSAFE handler
can get run before things that will block on Giant in the shared irq
case.
2001-06-16 22:42:19 +00:00
Peter Wemm
c1e152312d Clean up some junk. The bogus trapframe on the stack was removed from the
MI code in August 2000 elsewhere.
2001-06-16 22:07:32 +00:00
Cameron Grant
d95502a838 use a global devclass for all drivers - i'm not entirely sure why this
worked before.

mixer, dsp and sndstat are seperate devices - give them their own cdevsws
instead of demuxing requests sent to a single cdevsw.

use the si_drv1/si_drv2 fields in dev_t structures for holding information
specific to an open instance of mixer/dsp.

nuke /dev/{dsp,dspW,audio}[0-9]* links - this functionality is now provided
using cloning.

various locking fixes.
2001-06-16 21:25:10 +00:00
Hajimu UMEMOTO
c56df4e782 less warning
warning: cast discards qualifiers from pointer target type
2001-06-16 19:32:37 +00:00
Alexander Langer
90f76f2df0 Fix "alignemnt" typo. 2001-06-16 15:28:28 +00:00
Mark Murray
eb6bd5940f This file was a horrible mixture of styles old and new.
Apply style(9).
2001-06-16 10:47:34 +00:00
Benno Rice
707fed2004 OpenFirmware kernel support, as used by the PowerPC and hopefully other
ports later on.

This includes the basic MI interface routines as well as a console driver.
The MD code is kept in the MD directories.

Reviewed by:	obrien
2001-06-16 07:17:56 +00:00
Benno Rice
d27f1d4c12 This commit (along with one pending in sys/dev/ofw and one in sys/conf) give
us our first minimal glimpse of PowerPC support.

With this code we can get to the "mountroot>" prompt on my Apple iMac.  We
can't get any further due to lack of clock and interrupt handling, among other
things.  This does however mean that pmap and VM are initialising.

We're fairly dependant on OpenFirmware at this point, but I hope to add
support for other classes of firmware at a later stage.

Reviewed by:	obrien, dfr
2001-06-16 07:14:07 +00:00
Jonathan Lemon
9fa416ca19 Fix warnings:
112: warning: cast to pointer from integer of different size
125: warning: cast to pointer from integer of different size
2001-06-16 07:02:47 +00:00
Warner Losh
7077bc34aa Save the IRQ that we get in pci attachment.
Print type of pci bridge we find.
Force the IRQ of pci bridges upon all its children.
Allocate the resources on behalf of the bridge when we're testing to see if
they exist.

This should help people who don't read updating instructions very well.

This patch started out with an idea from Shigeru Yamamoto-san in -current.
2001-06-16 06:33:01 +00:00
Peter Wemm
b62ddc1363 Work around what looks like a bad make(1) bug. For some reason,
make(1) wants to build loader.sym *before* the .o files.  Eliminating
one seeminly intermediate step avoids the problem.  Somehow, it seems
that variables are not getting expanded at the right time.
Any explanations would be appreciated...

Changing:
${BASE}.sym: ${OBJS} ${LIBSTAND} ${LIBFICL} ${LIBALPHA} ${CRT} vers.o
	${LD} ...
To:
BASEOBJS= ${OBJS} ${LIBSTAND} ${LIBFICL} ${LIBALPHA} ${CRT} vers.o

${BASE}.sym: ${BASEOBJS}
	echo ${BASEOBJS}
	${LD} ...
.. the echo only shows LIBFICL, CRT and vers.o. ${OBJS} is not included.
2001-06-16 06:28:07 +00:00
Warner Losh
11cedf79a8 On PC-98, map IRQ 6 to IRQ 7 at the pcic level. That is, when we're
told to use IRQ 6, progam the pcic to use irq 7 instead.  Evidentally,
at least some of the cards are wired this way.  If you want to use irq
6, configure it.  All the mapping is done just before we set the
interrupt registers.  See [FreeBSD98-testers 5064] for details.

Added commentary about valid interrupts on some CBUS pc98 CL PD6722
based cards.

Submitted by: Hiroshi TSUKADA-san <hiroshi@kiwi.ne.jp>
2001-06-16 06:18:16 +00:00
David E. O'Brien
5ed2687ff2 style(9) and remove a left over Alpha comment 2001-06-16 06:17:35 +00:00
David E. O'Brien
3caacd361d style cleanup 2001-06-16 06:17:16 +00:00
Warner Losh
1b8dd28309 Add PC-9821RA-E01. This appears that PC-9821 Ra20 has this either
built in, or as an addon card (My Japanese isn't quite good enough to
know which).  [FreeBSD98-testers 5098] contains all the details.

Submitted by: Kawanobe Koh-san <kawanobe@st.rim.or.jp>
2001-06-16 06:10:53 +00:00
David E. O'Brien
41edaa30e9 style police 2001-06-16 05:59:45 +00:00
David E. O'Brien
a1881c1e89 This Intel derived file uses C++ style comments.
(I'll be we know which compiler and platform they developed this on...)
Minimally change them to C89 comments to make GCC happy.  (this is kinda funny
as the file has piece derived from FreeBDS 3.2)

Also fix FreeBSD id style.
2001-06-16 05:58:54 +00:00
David E. O'Brien
c38fe280a8 Fix FreeBSD id style. 2001-06-16 05:56:13 +00:00
David E. O'Brien
16aaa88017 style(9) 2001-06-16 05:55:32 +00:00
Bill Paul
80782fbf93 Mind-o in last commit: s/==/>=/ when checking MTU size. *blush* 2001-06-16 04:02:37 +00:00
Bill Paul
cb2f755c7f Fix the last serious bug I've been chasing:
The DP83820/83821 has an undocumented limitation concerning jumbo frames
and TX checksum offload. In order for TX checksum offload to work, the
outgoing frame must fit entirely within the TX FIFO, which is 8192 bytes
in size. This isn't a problem, until you try to send a 9000-byte frame,
at which point the TX DMA engine goes to sleep. It turns out that if
you want to send a jumbo frame larger than 8170 bytes (8192 - 64), you
have to turn off the TX checksum support.

As a workaround, I changed nge_ioctl() so that if the user selects an
MTU larger than 8152 bytes, we clear the if_hwassist flags. The flags
will be set again once the MTU is reduced to a smaller value.
2001-06-16 03:38:44 +00:00
David E. O'Brien
cb38c47462 style(9) + fix FreeBSD id's. 2001-06-16 02:12:36 +00:00
David E. O'Brien
09e40de52f Add CVS id. 2001-06-15 22:54:33 +00:00
Andrey A. Chernov
e566a4211b Bump FreeBSD_version to indicate locale renaming 2001-06-15 22:40:10 +00:00
John Baldwin
7474a22698 I'm a dunce. Clean up some warnings by axeing some unused variables from
the previous commit.
2001-06-15 21:09:44 +00:00
Jonathan Lemon
08aadfbb98 Do not perform arp send/resolve on an interface marked NOARP.
PR: 25006
MFC after: 2 weeks
2001-06-15 21:00:32 +00:00
Jonathan Lemon
7b748f0a21 Correctly hook up the write kqfilter to pipes.
Submitted by:  Niels Provos <provos@citi.umich.edu>
2001-06-15 20:45:01 +00:00
John Baldwin
931c1e20e4 Updates and tweaks to the new trace functionality:
- Use db_printf() instead of printf().
- Clean up decode_syscall() to use regular if-then-else rather than goto's.
- Use the same method of parsing PID's for per-process traces as the x86
  code does: that is, if the address passed in is not a valid kernel
  address, treat it is a decimal pid.
- If the pid of the current process is specified, fall back to using the
  "default" parameters for the trace as curproc's pcb is not valid at this
  point.

MFC after:	1 week
2001-06-15 20:27:44 +00:00
Bill Paul
c921560563 Turn TCP and UDP hardware RX checksumming back on. jlemon pointed out where
I'd gone wrong before: we have to set csum_data to 0xffff, not 0.
2001-06-15 19:02:55 +00:00
Bill Paul
1bacd83aea Fix TX bug: when using TCP/IP checksum offload on TX, we tell the chip
we want the checksums calculated on a per-packet basis using control bits
in the extsts field of the DMA descriptor structure. For TX, the chip
seems to want these bits set in the field of the first descriptor in
a fragment chain, not the last.
2001-06-15 18:43:19 +00:00
Dag-Erling Smørgrav
56fe60b131 #if 0 out pfs_null() to silence the warning about it not being referenced. 2001-06-15 12:30:46 +00:00
Peter Wemm
e634a8c804 oops. prepare_usermode() died in August 2000 in the MI and x86 code.
Issue raised by:	scottl
2001-06-15 09:59:27 +00:00
Peter Wemm
67b6051349 Bah, back out part of previous commit. I got too carried away.
linux_debug_map[] is referred to from elsewhere.
2001-06-15 08:18:24 +00:00
Peter Wemm
c864c67bad Fix warning:
163: passing arg 4 of `resource_string_value' from incompatible pointer type
2001-06-15 08:01:21 +00:00
Peter Wemm
e9813a0763 Fix warnings:
585: warning: missing braces around initializer
605: warning: missing braces around initializer
2001-06-15 07:56:36 +00:00
Peter Wemm
17e904e08d Fix warnings:
908: warning: long unsigned int format, unsigned int arg (arg 3)
887: warning: `timezero' defined but not used
2001-06-15 07:53:20 +00:00
Peter Wemm
a2c94cc717 Fix warnings:
235: warning: unsigned int format, pointer arg (arg 3)
621: warning: cast discards qualifiers from pointer target type
2001-06-15 07:50:54 +00:00
Peter Wemm
ec0b1e6727 Fix warning:
239: warning: no previous prototype for `linux_debug'
2001-06-15 07:48:21 +00:00
Peter Wemm
2e17a05929 Fix warning:
413: warning: long unsigned int format, vm_offset_t arg (arg 2)
2001-06-15 07:46:18 +00:00
Peter Wemm
78236790cd Fix warning:
1973: warning: int format, long int arg (arg 5)
2001-06-15 07:44:39 +00:00
Peter Wemm
d43c883ddc Fix warning:
298: warning: assignment makes pointer from integer without a cast
2001-06-15 07:42:58 +00:00
Peter Wemm
a074038186 Fix warnings:
412: warning: long unsigned int format, unsigned int arg (arg 3)
418: warning: long unsigned int format, unsigned int arg (arg 3)
424: warning: long unsigned int format, unsigned int arg (arg 3)
2001-06-15 07:39:12 +00:00
Peter Wemm
69223861fe Fix warning: 203: implicit declaration of function `kernel_sysctlbyname' 2001-06-15 07:37:01 +00:00
Peter Wemm
bc66c1fd1f Fix warning: (int/long mixup in printf)
475: warning: unsigned int format, long unsigned int arg (arg 3)
2001-06-15 07:35:25 +00:00
Peter Wemm
65f1bb65fe Fix warning. s/char/unsigned char/ in "(char *)eth"
294: warning: ethernet address is not type unsigned char *
2001-06-15 07:34:29 +00:00
Peter Wemm
6cac567e1b Fix warning: 848: warning: label `nosupport' defined but not used 2001-06-15 07:33:09 +00:00
Peter Wemm
d490e63aa7 Fix warning; remove unused variable 2001-06-15 07:32:25 +00:00
Peter Wemm
bd1c51b1e7 Remove unused variable 2001-06-15 07:31:15 +00:00
Peter Wemm
b93c3c5ed6 Fix some warnings in kern_environment.c. Make the getenv*() family
take a const 'name', since they dont modify anything.
159: warning: passing arg 1 of `getenv_int' discards qualifiers...
167: warning: passing arg 1 of `getenv' discards qualifiers from pointer..
2001-06-15 07:29:17 +00:00
Peter Wemm
b48746a5da Fix warning: 186: warning: label `done' defined but not used 2001-06-15 07:26:39 +00:00
Peter Wemm
70439d2750 Fix warning: 568: warning: `portal_badop' defined but not used 2001-06-15 00:38:03 +00:00
Peter Wemm
215db1379e Fix a stack of KAME netinet6/in6.h warnings:
592: warning: `struct mbuf' declared inside parameter list
595: warning: `struct ifnet' declared inside parameter list
2001-06-15 00:37:27 +00:00
Peter Wemm
f14f48a226 Fix warning (exposed NetBSD code):
94: warning: `ntfs_bmap' declared `static' but never defined
2001-06-15 00:32:07 +00:00
Peter Wemm
e75a45be56 Fix warnings (mostly harmless, due to struct bio being embedded in buf):
738: warning: passing arg 1 of `biodone' from incompatible pointer type
745: warning: passing arg 1 of `biodone' from incompatible pointer type
2001-06-15 00:30:27 +00:00
Peter Wemm
42c187b77e Fix warning: 552: warning: `fdesc_badop' defined but not used 2001-06-15 00:27:21 +00:00
Peter Wemm
1d63bf5236 Fix warning: 128: warning: initialization makes pointer from integer
Note: this file has lots of #if __FreeBSD__ >= 4 etc which needs to be
changed to __FreeBSD_version >= 400000 etc.
2001-06-15 00:26:41 +00:00
Peter Wemm
953d6e00e9 Fix warnings:
vinumhdr.h:80: warning: redundant redeclaration of `vinum_cdevsw'
 vinumext.h:239: warning: previous declaration of `vinum_cdevsw'
in each of the following files:
 vinum.c, vinumconfig.c, vinumdaemon.c, vinuminterrupt.c, vinumio.c,
 vinumioctl.c, vinumlock.c, vinummemory.c, vinumraid5.c, vinumrequest.c,
 vinumrevive.c, vinumstate.c, vinumutil.c
2001-06-15 00:23:11 +00:00
Peter Wemm
c5d8f2e6b1 Fix warnings:
musycc.c:449: warning: long unsigned int format, unsigned int arg (arg 3)
musycc.c:449: warning: long unsigned int format, unsigned int arg (arg 4)
musycc.c:453: warning: long unsigned int format, unsigned int arg (arg 3)
musycc.c:453: warning: long unsigned int format, unsigned int arg (arg 4)
musycc.c:453: warning: long unsigned int format, unsigned int arg (arg 5)
These warnings used to be confined to the alpha but are on all now.
2001-06-15 00:19:43 +00:00
Peter Wemm
5c176b95c2 Fix warning: 110: initialization makes pointer from integer without a cast
This was passing a (d_kqfilter_t *)-1 as the kqfilter function pointer.
Fortunately there was no D_KQFILTER in d_flags, so this was harmless.
2001-06-15 00:16:59 +00:00
Peter Wemm
14aa34173c Fix warning: 193: warning: label `done' defined but not used 2001-06-15 00:13:54 +00:00
Peter Wemm
22941bd78f Fix warnings:
554: passing arg 4 of `resource_string_value' from incompatible pointer type
576: passing arg 4 of `resource_string_value' from incompatible pointer type
593: passing arg 4 of `resource_string_value' from incompatible pointer type
2001-06-15 00:13:18 +00:00
Peter Wemm
70d73137b9 Fix warnings:
1831: warning: unused variable `noise'
1831: warning: unused variable `sig'
2001-06-15 00:10:30 +00:00
Peter Wemm
3a88b43443 Fix warning: 179: warning: label `done' defined but not used 2001-06-15 00:09:28 +00:00
Peter Wemm
988401088c Fix warnings:
1267: warning: suggest parentheses around comparison in operand of &
2087: warning: unused variable `li'
2001-06-15 00:07:27 +00:00
Peter Wemm
13f961dbfd Warning fix: coda_fbsd.c:113: warning: unused variable `ret' 2001-06-15 00:02:27 +00:00
Matt Jacob
773fa867f2 If we're not going to use am7990_shutdown, comment it all out.
MFC after:	2 weeks
2001-06-14 19:36:37 +00:00
Matt Jacob
1aaf1de145 Fix Assembler buglet: Warning: .end directive names different symbol than .ent
MFC after:	2 weeks
2001-06-14 19:33:16 +00:00
Matt Jacob
cb62bc53d1 We've had problems with data corruption occuring on
commands that complete (with no apparent error) after
we receive a LIP. This has been observed mostly on
Local Loop topologies. To be safe, let's just mark
all active commands as dead if we get a LIP and we're
on a private or public loop.

MFC after:	4 weeks
2001-06-14 17:13:24 +00:00
Joerg Wunsch
c45b4c1e58 Implement a loadable module for the oltr Olicom Token Ring driver. I
could only get a chance of testing it under 4.3, but together with the
if_oltr.c fixes at least it seems to work now.  If someone has the chance
to test this under -current, please do.

Unfortunaltey, the TR code itself (if_iso88025subr.c) is not written
in a way that would allow to make a seaparate KLD out of it.  By now,
just link it directly into the oltr KLD since it's probably the POLA
to be able to load the TR code together with the only TR hardware
driver we've got by now.

I've got one single unexplained panic (in doreti_switch or somewhere
there, calling a 0xc1XXXXXX address that did no longer belong to the
kernel at all) after unloading the modules once, thus i don't propose
a MFC of this module despite my testing has been done solely on 4.3,
unless someone is really going to test this stuff in -current.
2001-06-14 15:16:04 +00:00
Joerg Wunsch
d6287c5081 Do only call oltr_stop() if we are not already in OL_STOPPED state.
This avoids a null pointer deref panic in TRlldClose() inside the
vendor-supplied object code.  It's now possible to unload the driver
at all.

Implement deallocation of malloc()ed memory regions.

MFC after:	2 months
2001-06-14 15:08:40 +00:00