Commit Graph

119043 Commits

Author SHA1 Message Date
Yaroslav Tykhiy
10d645b7e5 In preparation for making the modules actually use opt_*.h files
provided in the kernel build directory, fix modules that were
failing to build this way due to not quite correct kernel option
usage.  In particular:

ng_mppc.c uses two complementary options, both of which are listed
in sys/conf/files.  Ideally, there should be a separate option for
including ng_mppc.c in kernel build, but now only
NETGRAPH_MPPC_ENCRYPTION is usable anyway, the other one requires
proprietary files.

nwfs and smbfs were trying to ensure they were built with proper
network components, but the check was rather questionable.

Discussed with:	ru
2005-10-14 23:17:45 +00:00
Jung-uk Kim
9c3acb0bc1 - Print number of physical/logical cores and more CPUID info.
- Add newer CPUID definitions for future use.

Many thanks to Mike Tancsa <mike at sentex dot net> for providing test
cases for Intel Pentium D and AMD Athlon 64 X2.

Approved by:	anholt (mentor)
2005-10-14 22:52:01 +00:00
Don Lewis
12d360453c Close a race in the ufs_lookup() code that handles the ISDOTDOT
case by saving the value of dp->i_ino before unlocking the vnode
for the current directory and passing the saved value to VFS_VGET().

Without this change, another thread can overwrite dp->i_ino after
the current directory is unlocked, causing  ufs_lookup() to lock
and return the wrong vnode in place of the vnode for its parent
directory.  A deadlock can occur if dp->i_ino was changed to a
subdirectory of the current directory because the root to leaf vnode
lock ordering will be violated.  A vnode lock can be leaked if
dp->i_ino was changed to point to the current directory, which
causes the current vnode lock for the current directory to be
recursed, which confuses lookup() into calling vrele() when it
should be calling vput().

The probability of this bug being triggered seems to be quite low
unless the sysctl variable debug.vfscache is set to 0.

Reviewed by:	jhb
MFC after:	2 weeks
2005-10-14 22:13:33 +00:00
John Baldwin
4fdd2813ff Merge over the remaining changes from i386 of the ksiginfo_t changes so
that this compiles.

Pointy hat to:	davidxu
2005-10-14 22:03:39 +00:00
Andrew Thompson
4c84347939 Make four more functions static that were missed in the last commit. 2005-10-14 20:57:02 +00:00
Kris Kennaway
3c2adf40e9 Add a default value for VM_BCACHE_SIZE_MAX of 400MB. This is copied from
amd64, and is a factor of 3 less than the value previously auto-sized on
a 12GB machine, which would cause an overflow in calculations involving the
maxbcache int, causing bufinit() to loop forever at boot.

Reviewed by:	mlaier, peter
2005-10-14 20:31:12 +00:00
John Baldwin
728ef95410 The signal code is now an int rather than a long, so update debug printfs. 2005-10-14 20:22:57 +00:00
Kris Kennaway
f098dcded5 Partially revert revision 1.66, which contained a change that did not
correspond to the commit log.  It changed the maxswzone and maxbcache
parameters from int to long, without changing the extern definitions
in <sys/buf.h>.

In fact it's a good thing it did not, because other parts of the system
are not yet ready for this, and on large-memory sparc machines it causes
severe filesystem damage if you try.

The worst effect of the change was that the tunables controlling the
above variables stopped working.  These were necessary to allow such
large sparc64 machines (with >12GB RAM) to boot, since sparc64 did not
set a hard-coded upper limit on these parameters and they ended
up overflowing an int, causing an infinite loop at boot in bufinit().

Reviewed by:	mlaier
2005-10-14 19:15:10 +00:00
John Baldwin
26390635de Only allow the sk(4) driver to attach to revision 2 of the LinkSys EG1032
cards and teach the re(4) driver to attach to revision 3 cards.

Submitted by:	Fredrik Lindberg fli+freebsd-current at shapeshifter dot se
MFC after:	2 weeks
Reviewed by:	imp, mdodd
2005-10-14 18:51:30 +00:00
John Baldwin
21aa010bb5 Whitespace. 2005-10-14 18:36:49 +00:00
John Baldwin
021eda1d85 Remove the sx(4) driver at the request of the author. The author
originally wrote it for 4.x and hasn't really had the time to fully update
it to 5.x and later.  Also, the author doesn't use the hardware anymore as
well.  If someone does need this driver they can always resurrect it from
the Attic.

Requested by:	Frank Mayhar frank at exit dot com
2005-10-14 18:24:58 +00:00
Joel Dahl
20e7938c05 The snd_via8233(4) support on amd64 isn't something new. Remove it.
Reviewed by:	hrs
2005-10-14 18:12:18 +00:00
John Baldwin
43e2ef2bb6 Change the userland atomic operations on arm to use memory operands for
the modified memory rather than using register operands that held a pointer
to the memory.  The biggest effect is that we now correctly tell the
compiler that these functions change the memory that these functions
modify.

Reviewed by:	cognet
2005-10-14 18:07:45 +00:00
Ruslan Ermilov
6f6b430e2f Sort ath_rate_* entries. Mark ath_rate_sample as the desired algorithm.
Discussed with:	sam
2005-10-14 17:22:28 +00:00
Tim Kientzle
2d0d7187c0 Fix installworld breakage. <sigh>
expr and printf are not available during installworld, so
use /bin/sh arithmetic expansion instead of expr and simply
give up on vanity formatting. ;-)
2005-10-14 16:32:50 +00:00
Xin LI
9e4434ae7a Better translation: language improvements, typos, etc.
Submitted by:   BSDunix at newsmth org,
		carplee at newsmth org,
		ThunderW at newsmth org (in part)
MFC After:	1 days
2005-10-14 16:25:53 +00:00
Scott Long
a441b3fc97 Fix a regression that prevented PERC3 hardware from working. Apparently they
do not support the GETINFO immediate command, unlike just about every other
variant of the hardware.  Also document some magic values and fix some minor
nearby whitespace.

MFC After: 3 days
2005-10-14 16:22:45 +00:00
Ruslan Ermilov
f329a1513a Style: move .PATH to where it belongs. 2005-10-14 15:50:22 +00:00
Ruslan Ermilov
b122ac0407 Remove redundant (in FreeBSD) include. 2005-10-14 15:45:38 +00:00
Ruslan Ermilov
91c89b0c2b Style: move .PATH to where it belongs. 2005-10-14 15:41:09 +00:00
Ruslan Ermilov
84f59115ec Remove redundant include. 2005-10-14 15:26:23 +00:00
Ruslan Ermilov
e6cb7d6cd5 Get rid of duplicate -I's in CFLAGS. 2005-10-14 15:13:36 +00:00
Ruslan Ermilov
d4df4850e6 Sort SUBDIR and surrounding definitions. 2005-10-14 15:12:45 +00:00
Warner Losh
9f973790d2 Change I-O data WB-B11/CFZ entry to ELSA XI330 as the former is a
rebadged version of the latter.
2005-10-14 15:07:13 +00:00
Warner Losh
29d8617285 Add ELSA XI330 product. This is rebadged and sold as SMC 2532W-B and
I/O Data also resells it.  Add an alternative airvast an100 id.
2005-10-14 15:06:16 +00:00
David Xu
05e72fac12 Add sigqueue function prototype. 2005-10-14 13:12:27 +00:00
David Xu
823acd70b6 Regen for sigqueue syscall. 2005-10-14 12:56:28 +00:00
David Xu
9104847f21 1. Change prototype of trapsignal and sendsig to use ksiginfo_t *, most
changes in MD code are trivial, before this change, trapsignal and
   sendsig use discrete parameters, now they uses member fields of
   ksiginfo_t structure. For sendsig, this change allows us to pass
   POSIX realtime signal value to user code.

2. Remove cpu_thread_siginfo, it is no longer needed because we now always
   generate ksiginfo_t data and feed it to libpthread.

3. Add p_sigqueue to proc structure to hold shared signals which were
   blocked by all threads in the proc.

4. Add td_sigqueue to thread structure to hold all signals delivered to
   thread.

5. i386 and amd64 now return POSIX standard si_code, other arches will
   be fixed.

6. In this sigqueue implementation, pending signal set is kept as before,
   an extra siginfo list holds additional siginfo_t data for signals.
   kernel code uses psignal() still behavior as before, it won't be failed
   even under memory pressure, only exception is when deleting a signal,
   we should call sigqueue_delete to remove signal from sigqueue but
   not SIGDELSET. Current there is no kernel code will deliver a signal
   with additional data, so kernel should be as stable as before,
   a ksiginfo can carry more information, for example, allow signal to
   be delivered but throw away siginfo data if memory is not enough.
   SIGKILL and SIGSTOP have fast path in sigqueue_add, because they can
   not be caught or masked.
   The sigqueue() syscall allows user code to queue a signal to target
   process, if resource is unavailable, EAGAIN will be returned as
   specification said.
   Just before thread exits, signal queue memory will be freed by
   sigqueue_flush.
   Current, all signals are allowed to be queued, not only realtime signals.

Earlier patch reviewed by: jhb, deischen
Tested on: i386, amd64
2005-10-14 12:43:47 +00:00
Ralf S. Engelschall
de90a634cb Fix parsing of mdmfs(8) option "-w <user>:<group>" in case <user> or
<group> is a numeric user/group ID instead of a user/group name (as
explicitly intended to be allowed by both the manual page and the
implementation).

Before this fix, mdmfs(8) aborted:

| # mdmfs -s 32m -w 0:0 md /var/tmp/foo
| Assertion failed: (mip->mi_have_uid), function extract_ugid, file /usr/src/sbin/mdmfs/mdmfs.c, line 555.
| Abort trap (core dumped)

The "mi_have_[ug]id" fields were only set in case a name lookup was
successful. Instead they also have to be set in case the string to
integer conversion was successful.

Additionally, as a result of this fix, two assertions at the end of
the function are now always true and hence can be just be removed. It
is guarrantied that both the UID and the GID are set when the function
returns regularily, else it would have been already bailed out with
usage()/exit(3) or errx(3) before.

Spotted by:	Christoph Schug <chris@schug.net>
MFC after:	3 days
2005-10-14 11:21:21 +00:00
Gleb Smirnoff
66e58c20dd From the PR:
The receive function em_process_receive_interrupts() unlocks the
  adapter while ether_input() processes the packet, and then locks
  it back. In the meantime, em_init() may be called, either from
  em_watchdog() from softclock interrupt or from the ifconfig(8)
  program. The em_init() resets the card, in particular it sets
  adapter->next_rx_desc_to_check to 0 and resets hardware RX Head
  and Tail descriptor pointers. The loop in
  em_process_receive_interrupts() does not expect these things to
  change, and a mess may result.

This fixes long wedges of em(4) interfaces receive part under high
load and IP fastforwarding enabled.

PR:		kern/87418
Submitted by:	Dmitrij Tejblum <tejblum yandex-team.ru>
2005-10-14 11:00:15 +00:00
Andrew Thompson
6b32f3d3f2 Change most of the bridge and stp funtions to static. This has highlighted
that the following funtions are not used, wrap in '#ifdef noused' for the
moment.

 bstp_enable_change_detection
 bstp_disable_change_detection
 bstp_set_bridge_priority
 bstp_set_port_priority
 bstp_set_path_cost
2005-10-14 10:38:12 +00:00
Gleb Smirnoff
106e9401db Cleanup from __FreeBSD_version. 2005-10-14 10:34:46 +00:00
Yaroslav Tykhiy
786d82a129 New release notes:
ifconfig(8) -tunnel parameter,
	interface argument to ifconfig(8) -vlandev deprecated.

The changes already are in RELENG_6, too.

MFC after:	3 days
2005-10-14 09:57:08 +00:00
Warner Losh
1d508c2092 MFP4: Minor tweaks. 2005-10-14 04:48:11 +00:00
Warner Losh
2ae7662803 Merge in WIP from p4 for supporting ISA pccard bridges conforming to
the ExCA spec, and close cousins:

o Write an activate routine that works.
o merge a couple of items from oldcard before they are lost
o write a deactivate routine

I suspect we're still a ways away from having this work, but maybe for
6.1/5.5?
2005-10-14 04:47:18 +00:00
David Xu
5ad54b96fc Add ksiginfo_t which is a wrapper of siginfo_t but allows us to carry
more information which should not be in siginfo_t.

Reviewed by: jhb, deischen
2005-10-14 03:36:44 +00:00
David Xu
ac2587e125 Add POSIX siginfo_t's si_code, this is for upcoming POSIX realtime signal
support in kernel.

Earlier patch reviewed by: jhb, deischen
2005-10-14 03:01:14 +00:00
Andrew Thompson
fd6238a659 Further clean up the bridge hooks in if_ethersubr.c and ng_ether.c
- move the function pointer definitions to if_bridgevar.h
- move most of the logic to the new BRIDGE_INPUT and BRIDGE_OUTPUT macros
- remove unneeded functions from if_bridgevar.h and sort a little.
2005-10-14 02:38:47 +00:00
Alan Cox
c71c8706fe Restore the UP optimization to reduce the number of TLB invalidations. The
previous revision only restored the MP optimization.

Describe the optimization strategy for TLB invalidations in a comment.

Reviewed by: ups@
MFC after: 3 days
2005-10-13 23:42:12 +00:00
Andrew Thompson
20a65f37a0 From 101 ways to panic your kernel.
Use bridge_ifdetach() to notify the bridge that a member has been detached. The
bridge can then remove it from its interface list and not try to send out via a
dead pointer.
2005-10-13 23:05:55 +00:00
Warner Losh
92a6736a5b If we can't probe the RTL80x9 for some reason, fall back to probing it
as a Novell NE-2000.  This is necessary for unpatched qemu working
correctly.  qemu claims to be a RTL8029, but doesn't implement the
RTL8029 specific registers at this time.  I've created patches for
that, but there's no reason we can't use qemu's emulation w/o these
patches.  This should make life easier for those folks that boot
FreeBSD via qemu.
2005-10-13 22:12:34 +00:00
Warner Losh
fab4f06582 o Fix probing of rtl80x9 parts. We shouldn't be calling
ed_probe_generic8390 where we're calling it.  It will be done as part
  of ed_probe_Novel_generic after things are setup in a way that
  ed_probe_generic8390 will grok.
o Fix operator precedence botch that causes a panic when setting the media
  type for 10baseT connections.
o Save the type of device so that it prints with the rest of the probe.

# this should make it work with qemu again, but only if it has my patches
# to actually implement the RTL8029 specific registers.
2005-10-13 22:06:02 +00:00
Julian Elischer
d0a2acd430 Consolidate two adjacent conditional blocks
I actually believe the code in question should be elsewhere (in the preceding
function).

MFC after:	1 week
2005-10-13 21:48:27 +00:00
Ruslan Ermilov
e019908ee7 In detach method, move if_free() after bus_teardown_intr(). 2005-10-13 21:11:20 +00:00
John Baldwin
646abee6e3 Minor tweaks and fixups:
- Use device_printf() and if_printf() and remove nge_unit.
- Use callout_init_mtx() and remove nge_tick_locked() as nge_tick() is now
  always called with the driver lock held.
- Use M_ZERO to contigmalloc() when allocating nge_ldata.  It was possible
  for the random garbage to be used in certain cases otherwise.
- Cleanup attach error handling including no longer leaking nge_ldata.
- Add locking to the ifmedia callouts.
- Lock accesses to if_hwassist and if_capenable in nge_ioctl().

Submitted by:	Yuriy N. Shkandybin jura at networks dot ru (1, 3, 4)
Tested by:	Yuriy N. Shkandybin jura at networks dot ru
MFC after:	3 days
2005-10-13 20:22:07 +00:00
Joel Dahl
3a22b03d6c Add support for ATI IXP[234]00. 2005-10-13 18:28:26 +00:00
Hajimu UMEMOTO
d02b24bc22 fixed a crush when either -lh or -ls option is used.
Obtained from:	KAME
2005-10-13 18:12:46 +00:00
Hajimu UMEMOTO
0625d8dcb8 setkey(8) is not WARNS=2 compliant, yet. 2005-10-13 17:57:34 +00:00
Ruslan Ermilov
199474fd36 Remove a stale comment. 2005-10-13 17:26:14 +00:00
Xin LI
7c775ce110 Language nits.
Submitted by:	nukq at newsmth org, me
2005-10-13 17:25:28 +00:00