164253 Commits

Author SHA1 Message Date
Jonathan Anderson
54350dfa33 Remove redundant Capsicum sysctl.
Since we're now declaring FEATURE(security_capabilities), there's no need for an explicit SYSCTL_NODE.

Approved by: rwatson
2011-06-25 12:37:06 +00:00
Sergey Kandaurov
76341556c9 Add missing libkvm and libutil dependencies.
Now libprocstat takes care of its own dependencies and does not
require applications to specify them.

Reviewed by:	stas, jilles
2011-06-25 11:21:23 +00:00
Andriy Gapon
31c5a6e2b8 unconditionally stop other cpus when entering kdb in smp system
... and thus retire debug.kdb.stop_cpus tunable/sysctl.
The knob was to work around CPU stopping issues, which since have been
either fixed or greatly reduced.  kdb should really operate in a special
environment with scheduler stopped and interrupts disabled to provide
deterministic debugging.

Discussed with:	attilio, rwatson
X-MFC after:	2 months or never
2011-06-25 10:28:16 +00:00
Andriy Gapon
1aac6ac94a generic_stop_cpus: pull timeout logic from under DIAGNOSTIC
... and also increase the timeout.
It's better to try to proceed somehow despite stuck CPUs than to hang
indefinitely.  Especially so during shutdown and when entering kdb or panic.

Timeout value is still an aribitrary value.
Timeout diagnostic is just a printf; the work on something more
debuggable is planned by attilio.  Need to be careful here as
stop_cpus_hard is called very early while enetering kdb and soon(-ish)
it may become called very early when entering panic.

Reviewed by:	attilio
MFC after:	2 months
2011-06-25 10:01:43 +00:00
Marcel Moolenaar
dbd57cbf8f Replace the original copyright notice with my own. Everything in
this file is written by me and has no bearing on the initial or
original version.
2011-06-25 03:43:58 +00:00
Marcel Moolenaar
3f5deb80b7 Update copyright. 2011-06-25 03:37:40 +00:00
Marcel Moolenaar
6d064c9758 Now that ia64 has been switched to the event timers, remove the
conditional compilation work-arounds.
2011-06-25 02:49:47 +00:00
Marcel Moolenaar
e920e3978e Switch to the event timers infrastructure. This includes:
o   Setting td_intr_frame to the XIVs trap frame because it's referenced
    by the ET event handler.
o   Signal EOI to the CPU before calling the registered XIV handlers.
    This prevents lost ITC interrupts, which cause starvation in one-shot
    mode.
o   Adding support for IPI_HARDCLOCK with corresponding per-CPU counters.
o   Have the APs call cpu_initclocks() so as to limited the scattering of
    clock related initialization. cpu_initclocks() calls the <self>_bsp()
    or <self>_ap() version accordingly.
o   Uncomment the ET clock handling in cpu_idle().
o   Update the DDB 'show pcpu' output for the new MD fields.
o   Entirely rewritten ia64_ih_clock(). Note that we don't create as many
    clock XIVs as we have CPUs, as is done on PowerPC. It doesn't scale.
    We can only have 240 XIVs and we can have more CPUs than that. There's
    a single intrcnt index for the cumulative clock ticks and we keep per
    CPU counts in the PCPU stats structure.
o   Register the ITC by hooking SI_SUB_CONFIGURE (2nd order).

Open issues:
o   Clock interrupts can still be lost. Some tweaking is still necessary.

Thanks to: mav@ for his support, feedback and explanations.

ET stats while committing:
eris% sysctl machdep.cpu | grep nclks

machdep.cpu.0.nclks: 24007
machdep.cpu.1.nclks: 22895
machdep.cpu.2.nclks: 13523
machdep.cpu.3.nclks: 9342
machdep.cpu.4.nclks: 9103
machdep.cpu.5.nclks: 9298
machdep.cpu.6.nclks: 10039
machdep.cpu.7.nclks: 9479
eris% vmstat -i | grep clock
clock                      108599         50
2011-06-25 02:15:14 +00:00
Adrian Chadd
1a940429c7 Commit missing piece from a couple days ago - re-add ath_hal_debug. 2011-06-25 00:34:40 +00:00
Adrian Chadd
8fc0556a5e Small fix to bring the non-debug definitions of HALDEBUG/HALDEBUG_G in line
with the debug definitions.
2011-06-24 23:59:14 +00:00
Olivier Houchard
3a1b9c049e Comment out AH_DEBUG, to get this kernel to compile, until AH_DEBUG is fixed. 2011-06-24 23:26:45 +00:00
Jilles Tjoelker
519c4ef391 sh(1): Improve documentation of shell patterns:
* Shell patterns are also for ${var#pat} and the like.
* An '!' by itself will not trigger pathname generation so do not call it a
  meta-character, even though it has a special meaning directly after an
  '['.
* Character ranges are locale-dependent.
* A '^' will complement a character class like '!' but is non-standard.

MFC after:	1 week
2011-06-24 22:08:26 +00:00
Hans Petter Selasky
9c916c627f - Export more USB device ID's.
- Update bus_auto.conf accordingly.

MFC after:	3 days
2011-06-24 22:01:56 +00:00
John Baldwin
0dbe859d2f Split out host_pcib_get_busno() from the generic PCI-PCI bridge driver to
start a new file that will hold utility APIs used by various Host-PCI
bridge drivers and drivers that provide PCI domains.
2011-06-24 21:39:38 +00:00
Hans Petter Selasky
2854ca4726 - Add auto-load devd config file for USB kernel modules.
MFC after:	14 days
2011-06-24 21:32:03 +00:00
Hans Petter Selasky
a433a3d8c9 - We need to sort all USB device ID's together. Else the matching order will
be wrong. This is required because devd only executes one entry.

MFC after:	14 days
2011-06-24 21:27:33 +00:00
Jilles Tjoelker
b97989d659 sh(1): Document the case command better.
Suggested by:	netchild
Reviewed by:	gjb
2011-06-24 20:23:50 +00:00
Hans Petter Selasky
9cfbe3e76b - Export more USB device ID's.
MFC after:	3 days
2011-06-24 19:32:29 +00:00
Hans Petter Selasky
d43ffe9465 - Ensure that we get all the required nomatch devd events.
MFC after:	3 days
2011-06-24 19:02:56 +00:00
Hans Petter Selasky
a6b6015063 - Move execution of event handlers into the probe and attach function so that
dynamically loaded device drivers get a chance to run their event hooks.

- Decouple the USB suspend and resume lock from witness. It produces some
false warnings due to reusing the lock name among multiple devices.

MFC after:	3 days
2011-06-24 18:14:43 +00:00
Hans Petter Selasky
d16e5e1a84 - Export the URIO USB device ID's.
- Add checks for configuration and interface index.

MFC after:	3 days
2011-06-24 18:11:55 +00:00
John Baldwin
0b6d7bb4e8 Don't die if either of INET or INET6 aren't in the running kernel.
Instead, report "protocol not supported" errors at runtime if a user
attempts to use a protocol that the kernel doesn't support.

Reviewed by:	bz
MFC after:	1 week
2011-06-24 17:54:45 +00:00
Sergey Kandaurov
f253603f0c Add support for string values with white spaces for ifconfig(8)
parameters accepting them (such as description, group).

Changes discussed on freebsd-rc.

PR:		conf/156675
Reported by:	"Alexander V. Chernikov" <melifaro att ipfw ru>
Suggested by:	hrs
Analyzed with:	Alexander V. Chernikov via IRC
MFC after:	2 weeks
2011-06-24 14:56:38 +00:00
Jonathan Anderson
5e26234ff1 Tidy up a capabilities-related comment.
This comment refers to an #ifdef that hasn't been merged [yet?]; remove it.

Approved by: rwatson
2011-06-24 14:40:22 +00:00
Adrian Chadd
0b73ba9c97 Fix another broken HT40 channel band reference. 2011-06-24 14:31:30 +00:00
John Baldwin
f6133e7144 Typo. 2011-06-24 13:58:56 +00:00
Gleb Smirnoff
6ca60beb25 Actually, if code had followed style(9), there would be less stupid errors
like the one fixed in r223416.

Noticed by:	julian
2011-06-24 12:55:16 +00:00
Adrian Chadd
9b9fc082ba More incorrect HT/40 setups in FCC.
Noticed-by:	bschmidt@
2011-06-24 12:50:18 +00:00
Adrian Chadd
74024442b7 Fix an incorrect frequency band for HT/40 in the FCC SKU.
Noticed by: bschmidt@
2011-06-24 12:31:36 +00:00
Adrian Chadd
796fd09a90 Import one of the two missing US FCC DFS bands to FCC3.
The FCC opened up this band sometime in 2009 (and ath was updated);
but regdomain.xml wasn't updated.
2011-06-24 12:30:43 +00:00
Hans Petter Selasky
2485d8a793 - Add two new API's to libusb20 which can be used to retrive information
about the parent USB device:
  - libusb20_dev_get_parent_address
  - libusb20_dev_get_parent_port

- Rename libusb20_compat01.c into libusb01.c

MFC after:	3 days
2011-06-24 11:14:09 +00:00
Kevin Lo
ecd9e552d0 Remove duplicated header files 2011-06-24 07:29:04 +00:00
Kevin Lo
aa7e4bb466 Remove duplicated header files 2011-06-24 07:18:44 +00:00
Kevin Lo
fdb6437f73 Remove duplicated header files 2011-06-24 07:05:20 +00:00
Craig Rodrigues
f6c506d9cf Acknowledge Edwin Groothuis for the major rewrite he
did of the tftpd and tftp code to support TFTP blocksize.
2011-06-24 05:41:38 +00:00
Hans Petter Selasky
160d9dc32b - Make sure we don't match the wrong device by adding
a match for the bus the device belongs to.

PR:		misc/157903
MFC after:	14 days
2011-06-24 04:35:58 +00:00
Hans Petter Selasky
e71c21385e - Add additional information to the PnP info of USB HUBs children which
is now required by bus_autoconf.
- Allow interface class matching even if device class is vendor specific.
- Update bus_autoconf tool to not generate system and subsystem match lines
  for the nomatch event.

PR:		misc/157903
MFC after:	14 days
2011-06-24 04:16:06 +00:00
Craig Rodrigues
23a5bce73f Fixes to newer tftp code in libstand:
(1) Coding style changes.
 (2) If the server does not acknowledge any blocksize option,
     revert to the default blocksize of 512 bytes.
 (3) Send ACK if the first packet happens to be the last packet.
 (4) Do not accept blocksize greater than what was requested.
 (5) Drop any unwanted OACK received if a tftp transfer is already
     in progress.
 (6) Terminate incomplete transfers with a special no-error ERROR packet.
     Otherwise we rely on the tftp server to time out, which it does
     eventually, after re-sending the last packet several times and spamming
     the system log about it every time.  This idea is borrowed from the
     PXE client, which does exactly that.

Submitted by:  Alexander Kabaev <kan@FreeBSD.org>
Reviewed and Tested by: Santhanakrishnan Balraj <sbalraj at juniper dot net>
2011-06-24 03:50:54 +00:00
Craig Rodrigues
14de21443e Bring back synchnet() implementation from older
tftp implementation.  The synchnet() function
was converted to a no-op when the new TFTP implementation
was committed to FreeBSD.  However, this function, as it was
in the older code, is needed
in order to synchronize between the tftpd server and tftp clients,
which may be buggy.

Specifically, we had a buggy TFTP client which would send
TFTP ACK packets for non-TFTP packets, which would cause
the count of packets to get out of whack, causing transfers
to fail with the new TFTPD implementation.

Obtained from:  Juniper Networks
Submitted by: Santhanakrishnan Balraj <sbalraj at juniper dot net>
2011-06-24 02:56:24 +00:00
Hans Petter Selasky
f1a16106b6 - Move all USB device ID arrays into so-called sections,
sorted according to the mode which they support:
	host, device or dual mode
- Add generic tool to extract these data:
	tools/bus_autoconf

Discussed with:	imp
Suggested by:	Robert Millan <rmh@debian.org>
PR:		misc/157903
MFC after:	14 days
2011-06-24 02:30:02 +00:00
Nathan Whitehorn
e69dff491d Use the ABI-mandated thread pointer register (r2 for ppc32, r13 for ppc64)
instead of a PCPU field for curthread. This averts a race on SMP systems
with a high interrupt rate where the thread looking up the value of
curthread could be preempted and migrated between obtaining the PCPU
pointer and reading the value of pc_curthread, resulting in curthread being
observed to be the current thread on the thread's original CPU. This played
merry havoc with the system, in particular with mutexes. Many thanks to
jhb for helping me work this one out.

Note that Book-E is in principle susceptible to the same problem, but has
not been modified yet due to lack of Book-E hardware.

MFC after:	2 weeks
2011-06-23 22:21:28 +00:00
Dimitry Andric
6a4ba2279d Make GNU as recognize the ARM 'rrx' mnemonic, which can be generated by
clang for certain expressions.  Code taken from Apple cctools (GPLv2).

Submitted by:	damjan.marion@gmail.com
2011-06-23 20:54:44 +00:00
Ulrich Spörlein
898dec7830 Fix make buildworld -DMODULES_WITH_WORLD
Sort opt_ srcs
2011-06-23 20:31:52 +00:00
Jack F Vogel
61cf9896b6 Put back the global for rx processing due to popular demand. 2011-06-23 17:42:27 +00:00
Nathan Whitehorn
045aee08f3 Clear any outstanding atomic reservations when traps are taken. This fixes
some interesting bugs (mostly on SMP systems) with atomic operations
silently failing in interrupt heavy situations, especially when using
overflow pages.
2011-06-23 16:34:41 +00:00
Marcel Moolenaar
ded49c2eae Unblock the outgoing thread after we performed pmap_switch() to
switch the region registers. pmap_switch() returns the pmap for
which the region register are currently programmed, which needs
to be re-programmed on the CPU the ougoing thread gets switched
in.  This change does not noticibly change anything or fix known
bugs, but does give me a warm fuzzy feeling by being more
correct.
2011-06-23 16:21:43 +00:00
John Baldwin
e1b4a23921 The recent change to increase the zfsboot size to 64k made a few BIOSes
unhappy (probably they don't handle crossing the 64k boundary, etc.).
Fix this by changing zfsldr to use a loop reading from the disk one
sector at a time.  To avoid trashing the saved copy of the MBR which is
used for disk I/O, read zfsboot2 at address 0x9000.  This has the
advantage that BTX no longer needs to be relocated as it is read into
the correct location.  However, the loop to relocate zfsboot2.bin can
now cross a 64k boundary, so change it to use relative segments instead.
(This will need further work if zfsboot2.bin ever exceeds 64k.)

While here, stop storing a relocated copy of zfsldr at 0x700.  This was
only used by the xread hack which has recently been removed (and even
that use was dubious).  Also, include the BIOS error code as hex when
reporting read errors to aid in debugging.

Much thanks to Henri Hennebert for patiently testing various iterations
of the patch as well as fixing the zfsboot2.bin relocation to use
relative segments.

MFC after:	1 week
2011-06-23 15:53:17 +00:00
Alexander Motin
ee2b236b98 Fix ATAPI breakage introduced by r223443. It made SCSI commands to ATAPI
device to never complete, that caused probe process (system boot) stuck.
2011-06-23 15:10:44 +00:00
Adrian Chadd
dc6ebb1bca add missing #define for the non-debug case. 2011-06-23 12:11:43 +00:00
Gleb Smirnoff
79ddde082a Document that autoSrcAddr isn't re-enabled on NGM_SHUTDOWN.
Submitted by:	Vadim Goncharov <vadim_nuclight mail.ru>
2011-06-23 10:43:36 +00:00