122727 Commits

Author SHA1 Message Date
pjd
b4b6876e6e Assert proper use of bio_caller1, bio_caller2, bio_cflags, bio_driver1,
bio_driver2 and bio_pflags fields.

Reviewed by:	phk
2006-03-01 19:01:58 +00:00
ceri
1206eaa789 Add new NTP servers for Taiwan.
PR:		bin/92160
Submitted by:	Jose Liang <jose at jose dot idv pinkt tw>
Approved by:	jhb
MFC After:	2 days
2006-03-01 18:37:41 +00:00
emax
2df6f852fc Provide ability to disable kbdmux(4) with the hint.kbdmux.0.disabled="1" hint.
Document hint in the kbdmux(4) man page.

Requested by:	scottl
MFC after:	1 day
2006-03-01 18:34:48 +00:00
cognet
979dd3001b userret() now only takes 2 parameters. 2006-03-01 18:33:45 +00:00
jkoshy
d0959699cf Typo fix; "ing" -> "in". 2006-03-01 16:49:07 +00:00
jhb
9496d6d3d4 Wrap keymap menu helper functions in #ifdef WITH_SYSCONS to unbreak the
build on archs that don't include syscons support in sysinstall.

Reported by:	sparc64 tinderbox
2006-03-01 16:37:09 +00:00
wkoszek
89ae2aab62 Note that ACPI_DEBUG depends on DDB.
Reviewed by:	njl
Approved by:	cognet (mentor)
MFC after:	3 days
2006-03-01 16:31:37 +00:00
ume
2fdbdd8436 - Reduce needless DNS query by lookup only appropriate address
family. [1]
- Specify appropriate hints to getaddrinfo(3). [1]
- Obtain address family from peername in inet mode.

Submitted by:	Rostislav Krasny <rosti.bsd__at__gmail.com> [1]
Tested by:	yar, Rostislav Krasny <rosti.bsd__at__gmail.com>
MFC after:	1 week
2006-03-01 16:13:17 +00:00
ume
5e1521cce3 Handle the errors returned by res_querydomain() in same manner.
Reported by:	yar
Tested by:	yar, Rostislav Krasny <rosti.bsd__at__gmail.com>
MFC after:	1 week
2006-03-01 15:53:49 +00:00
simon
1b31e5fc10 Correct a remote kernel panic when processing zero-length RPC records
via TCP. [06:10]

Security:	FreeBSD-SA-06:10.nfs
Approved by:	cperciva
2006-03-01 14:17:32 +00:00
yar
8d6d9efea2 Do not discard the current value of __MAKE_CONF when testing
whether MAKEOBJDIRPREFIX is set at a wrong place.

Reviewed by:	ru
MFC after:	3 days
2006-03-01 13:07:17 +00:00
rik
a4f54d5818 Update low-level code. (to version 1.4)
Obtained from:	Cronyx Engineering
MFC after:	3 days
2006-03-01 09:50:20 +00:00
davidxu
8ddf0913dd Forgot to revert to use weak symbols when I was debugging, fix it! 2006-03-01 08:50:36 +00:00
davidxu
c652436886 Add missing parameter mq_attr * for mq_open. 2006-03-01 08:06:09 +00:00
sos
ba86c198c3 Work around the deadlock that occours when ATA waits for the taskqueue
to call back for completition and something else is holding the taskqueue
waiting for ATA to return data.
This should clear up the "semaphore timeout !! DANGER Will Robinson !!"
in most situations, and log "taskqueue timeout - completing request directly"
instead, with a delayed "WARNING - freeing taskqueue zombie request" when
the taskqueue finally calls us back with the now stale request.
(It would have been nice if there was a way to remove a scheduled item from
 a taskqueue, but that is not currently implemented in the kernel).

A real fix for this is in the works but wont make it to 6.1RELEASE

definite MFC candidate.
2006-03-01 07:48:41 +00:00
scottl
ff94cb013a Big update to the iir driver:
- Don't use a common buffer in the softc to store per-command data.  Reserve
  a buffer in the command itself.
- Don't allocate DMA memory for the kernel command structures when all you
  really need is DMA memory for the scratch buffer embedded in them.  Instead
  allocate a slab for the scratch buffers and divide it up as needed.
- Call bus_dmamap_unload() at the completion of commands.
- Preserve and clear the CAM CCB status flags at completion.
- Reorder some low-level command operations to try to close races.
- Limit the simq to 32 commands for now.  There are some serious problems
  with the driver under load that are not well understood, so keeping the
  simq lower helps avoid this.  It has been tested at a higher value, but
  this is a safe value that doesn't show much performance degredation.

These changes allow the driver to work reliably with >4GB of memory on i386
and amd64, and also work around deadlocks seen under very high load in
certain situations.  The work-around is far from ideal, but without and
documentation it is hard to know what the right fix is.

MFC candidate
2006-03-01 07:24:39 +00:00
davidxu
ad462fd146 Regenerate. 2006-03-01 06:49:38 +00:00
davidxu
5df3de7e8b s/timer_t/int/g 2006-03-01 06:48:31 +00:00
davidxu
22fb15cfe9 Bring in my initial version of POSIX realtime extension library.
Current the library implements mqueue, timer and aio with SIGEV_THREAD
notification supported.

Earlier version reviewed by: deischen
2006-03-01 06:37:34 +00:00
imp
1d823bfa30 Don't free ifaces yet, should fix a panic 2006-03-01 06:31:24 +00:00
davidxu
7c0be85c50 Let kernel POSIX timer code and mqueue code to use integer as a resource
handle, the timer_t and mqd_t types will be a pointer which userland
will define it.
2006-03-01 06:29:34 +00:00
davidxu
f29e4c0c75 Disconnect mqueue from buildworld, as I will implement it in seperated
library.
2006-03-01 06:25:46 +00:00
sam
2c5d022749 guard function decls with _KERNEL so user code can include this file 2006-03-01 05:59:56 +00:00
emax
1fe6de0cf4 Integrate kbdmux(4) into syscons(4) and kbd code.
By default syscons(4) will look for the kbdmux(4) keyboard first, and then,
if not found, look for any keyboard.

Current kbd code is modified so if kbdmux(4) is the current keyboard, all
new keyboards are automatically added to the kbdmux(4).

Switch to kbdmux(4) can be done at boot time, by loading kbdmux module at
the loader prompt, or at runtime, by kldload'ing the kbdmux module and
releasing current active keyboard.

If, for whatever reason, kbdmux(4) is not required/desired then just do
not load it and everything should work as before. It is also possible to
kldunload kbdmux at runtime and syscons(4) will automatically switch to
the first available keyboard.

No response from:	freebsd-current@
MFC after:		1 day
2006-02-28 23:46:23 +00:00
andre
8bb537fa79 Rework TCP window scaling (RFC1323) to properly scale the send window
right from the beginning and partly clean up the differences in handling
between SYN_SENT and SYN_RCVD (syncache).

Further changes to this code to come.  This is a first incremental step
to a general overhaul and streamlining of the TCP code.

PR:		kern/15095
PR:		kern/92690 (partly)
Reviewed by:	qingli (and tested with ANVL)
Sponsored by:	TCP/IP Optimization Fundraise 2005
2006-02-28 23:05:59 +00:00
jhb
3478c467ee Rework how we wire up interrupt sources to CPUs:
- Throw out all of the logical APIC ID stuff.  The Intel docs are somewhat
  ambiguous, but it seems that the "flat" cluster model we are currently
  using is only supported on Pentium and P6 family CPUs.  The other
  "hierarchy" cluster model that is supported on all Intel CPUs with
  local APICs is severely underdocumented.  For example, it's not clear
  if the OS needs to glean the topology of the APIC hierarchy from
  somewhere (neither ACPI nor MP Table include it) and setup the logical
  clusters based on the physical hierarchy or not.  Not only that, but on
  certain Intel chipsets, even though there were 4 CPUs in a logical
  cluster, all the interrupts were only sent to one CPU anyway.
- We now bind interrupts to individual CPUs using physical addressing via
  the local APIC IDs.  This code has also moved out of the ioapic PIC
  driver and into the common interrupt source code so that it can be
  shared with MSI interrupt sources since MSI is addressed to APICs the
  same way that I/O APIC pins are.
- Interrupt source classes grow a new method pic_assign_cpu() to bind an
  interrupt source to a specific local APIC ID.
- The SMP code now tells the interrupt code which CPUs are avaiable to
  handle interrupts in a simpler and more intuitive manner.  For one thing,
  it means we could now choose to not route interrupts to HT cores if we
  wanted to (this code is currently in place in fact, but under an #if 0
  for now).
- For now we simply do static round-robin of IRQs to CPUs when the first
  interrupt handler just as before, with the change that IRQs are now
  bound to individual CPUs rather than groups of up to 4 CPUs.
- Because the IRQ to CPU mapping has now been moved up a layer, it would
  be easier to manage this mapping from higher levels.  For example, we
  could allow drivers to specify a CPU affinity map for their interrupts,
  or we could allow a userland tool to bind IRQs to specific CPUs.

The MFC is tentative, but I want to see if this fixes problems some folks
had with UP APIC kernels on 6.0 on SMP machines (an SMP kernel would work
fine, but a UP APIC kernel (such as GENERIC in RELENG_6) would lose
interrupts).

MFC after:	1 week
2006-02-28 22:24:55 +00:00
jhb
1ec49d602a Fix numerous warnings. Aside from menu items in system.c and menu.c
this now compiles on i386 with WARNS?= 3.  Most of the fixes included
adding missing 'static' keywords to internal functions, using fully-defined
terminators in statically defined arrays of structs, and various
signed vs unsigned mismatches.  Also G/C'd unused configSecurity()
function.
2006-02-28 21:49:33 +00:00
brueffer
6dd5abcf92 Fix a c/p error.
Obtained from:	The TrustedBSD Project
Approved by:	rwatson (mentor)
2006-02-28 21:25:00 +00:00
jhb
ea13fb1a9c Use some helper macros for the device table so it can fit in 80 columns and
to allow us to use default values in some entries to quiet warnings.  This
table is actually readable again now.
2006-02-28 21:12:16 +00:00
jhb
ce138ec14d Drop unused major, minor, and delta values from device table. 2006-02-28 20:56:58 +00:00
jhb
d96acf1070 G/C some cruft. 2006-02-28 20:34:50 +00:00
jhb
0aeeea8f00 - Autogenerate a menu containing a list of countries and keymaps supported
by syscons.
- If we are running as init, popup the country menu before the main menu.
  If a non-default country is chosen, then a second menu is brought up
  to let the user choose a keymap.  By default the default keymap for
  the country that was selected is highlighted.  If the user chooses the
  default country, then the default keymap is just assumed and the user
  is not presented with the keymap menu.  Currently the default country
  is set to "United States" except for PC98 which assumes "Japan".

PR:		bin/93853
Submitted by:	Seth Kingsley sethk at magnesium dot net
MFC after:	3 days
2006-02-28 20:29:43 +00:00
jhb
f4fef487da Allow PHOLD()'s of curproc even if P_WEXIT is set. Normally we don't want
to allow PHOLD()'s of processes that have P_WEXIT set as once that flag
is set we aren't guaranteed to block in exit1() waiting for the PRELE()
(we might already be past the wait).  However, curproc is a bit of a
special case.  By the time P_WEXIT is set, the process is single-threaded,
so the only thread for which can do a PHOLD(curproc) is the thread
executing in exit1().  The fact that this thread is executing ensures
that the process won't go away before the current hold is released via
PRELE().  This fixes some panics due to kicking off softupdate operations
inside of exit1() after the recent PHOLD changes to fix ptrace/procfs vs
exit races.

MFC after:	1 week
Tested by:	pho
2006-02-28 20:11:30 +00:00
jmg
7f0fea077c update examples to use the correct terms that was never updated when the
earlier descriptions were gone over...

MFC after:	3 days
2006-02-28 19:58:57 +00:00
ps
02a7a75f38 regen for 32bit sendfile 2006-02-28 19:39:52 +00:00
ps
6014145f38 Fix 32bit sendfile by implementing kern_sendfile so that it takes
the header and trailers as iovec arguments instead of copying them
in inside of sendfile.

Reviewed by:	jhb
MFC after:	3 weeks
2006-02-28 19:39:18 +00:00
sam
87272c821c when acpi does not explicitly enumerate lapic/cpu's there should
only be 1

Reviewed by:	jhb
2006-02-28 17:48:33 +00:00
deischen
b028e2897b Const'ify arguments to a couple of functions to fix breakage
with -O2.
2006-02-28 16:02:26 +00:00
luigi
883415e84d use standard mode instead of 500 for /sbin/init.
As discussed on -current, there is no sensitive info in /sbin/init
to prevent reading it from non-privileged users, nor any reason to
remove the 'x' bit as the first thing the program does is check the
uid and exit if it is not run by root.

Instead (and this is why i make the change), mode 500 prevents
operation when exporting the partition without -maproot=0 to diskless
clients.

All previuos releases are affected by the same problem, so a merge
to RELENG_6 at least would be appropriate (after proper re@ approval
of course).
2006-02-28 08:02:28 +00:00
mjacob
adf2710156 Fix mpt_reset to try mpt_hard_reset more than once, and to try
mpt_soft_reset more than once. And to wait for MPT_DB_STATE_READY
twice. I mean, this is crucial- give the IOC a chance to get
ready.

If mpt_reset is called to reinit things, and we succeed, make
sure to re-enable interrupts. This is what has mostly led to
system lockup after having to hard reset the chip. Also, if
we think that interrupts aren't function in mpt_cam_timeout,
for goodness sake, turn them on again.

In read_cfg_header, return distinguishing errnos so the caller
can decide what's an error. It's *not* an error to fail to
read a RAID page from a non-RAID capable device like the FC929X.

Some whitespace fixes (removing spaces from ends of lines).
2006-02-28 07:44:50 +00:00
delphij
3acbd90cd9 Don't do a time travel to 12006... 2006-02-28 07:36:25 +00:00
davidxu
6fdf2b7d81 Reimplement mutex_init to get rid of compile warning. 2006-02-28 06:06:19 +00:00
emax
4140adf60b Make ukbd(4) to not delay break scancodes in "raw" mode.
Developed with:		Norbert Koch < NKoch at demig dot de >
No response from:	freebsd-current@
Tested by:		Norbert Koch < NKoch at demig dot de >
MFC after:		1 day
2006-02-28 03:34:06 +00:00
thompsa
6eb8472623 Fix up the Bridge Identifier field in the BPDU packet.
- use the cu_bridge_id rather than the cu_rootid for the bridge address [1]
 - the memcmp return value is not signed so the wrong interface may have been
   selected
 - fix up the calculation of sc_bridge_id

PR:		kern/93909 [1]
MFC after:	3 days
2006-02-28 00:13:24 +00:00
kris
f1759f2396 Correct the vnode locking in fdescfs.
PR:		kern/93905
Submitted by:	Kostik Belousov <kostikbel@gmail.com>
Reviewed by:	jeff
MFC After:	1 week
2006-02-28 00:05:44 +00:00
cognet
ce247bd774 Get this to compile with the recent UART changes. 2006-02-27 23:19:13 +00:00
wkoszek
d85c4ef4cd Bump a date in .Dd field. Last change brought some new functionality.
Spotted by:	brueffer
Approved by:	cognet (mentor)
MFC after:	1 week
2006-02-27 22:48:58 +00:00
wkoszek
69303cd40f Extend kldunload(8) functionality and fix minor problems:
o multiple modules can be unloaded at once (specified either by id or be
  module name)
o exit with EX_USAGE after usage() is called.
o remove unused variables, since we keep command line flags as bitmask,
  in 'opt'.
o 'kldload -n ...' does nothing. Add comment to this options.

Additionally:
o Update manual page to conform new functionality.
o Increace WARNS to 6. Because we can.

Approved by:	cognet (mentor)
MFC after:	1 week
2006-02-27 22:20:57 +00:00
deischen
97af573880 Staticize a couple of functions.
Remove a few unused locks.

Remove locks from application namespace.
2006-02-27 22:10:59 +00:00
deischen
2a2559a103 Correct a comment.
Staticize two tables thare are not visible in <resolv.h>
and which are also local in Solaris' libresolv.

Remove two functions that are not referenced in libc nor
anywhere else I can find, not visible in <resolv.h> and
which are also local in Solaris libresolv.
2006-02-27 22:08:16 +00:00