Commit graph

158577 commits

Author SHA1 Message Date
David E. O'Brien 9d22cd9be8 If DEBUG is 3 or greater, disable STATICization of functions.
Also correct the documented location of the trace file.
2010-10-12 19:24:41 +00:00
Matthew D Fleming 45b40ad0da Always set cm_complete_data before calling mps_config_complete().
Reviewed by:	ken
2010-10-12 19:24:29 +00:00
Pyun YongHyeon 5e2f96bf69 Fix a regression introduced in r213495. r213495 disabled mini
receive producer ring only for BCM5700. It was believed that
BCM5700 with external SSRAM is the only controller that supports
mini ring but it seems all BCM570[0-4] requires to disable mini
receive producer ring. Otherwise, it caused unexpected RX DMA
error or watchdog timeouts.

Reported by:	marius, Steve Kargl <sgk <> troutmask dot apl dot washington dot edu>
Tested by:	marius, Steve Kargl <sgk <> troutmask dot apl dot washington dot edu>
2010-10-12 19:22:03 +00:00
Joel Dahl 3fb1541d40 Document the fact that bwn works really well on the laptop I'm using
right now (HP 6715b).
2010-10-12 19:00:18 +00:00
Matthew D Fleming a92f0ee866 Re-expose and briefly document taskqueue_run(9). The function is used
in at least one 3rd party driver.

Requested by:	jhb
2010-10-12 18:36:03 +00:00
David E. O'Brien f3bf9b7a16 Allow one to regression test 'sh' changes without having to install
a potentially bad /bin/sh first.
2010-10-12 18:20:38 +00:00
Andriy Gapon 5ff14fa9b4 acpi_ec: changes in communication with hardware
Short description of the changes:
- attempt to retry some commands for which it is possible (read, query)
- always make a short sleep before checking EC status in polled mode
- periodically poll EC status in interrupt mode
- change logic for detecting broken interrupt delivery and falling back
  to polled mode
- check that EC is ready for input before starting a new command, wait
  if necessary

This commit is based on the original patch by David Naylor.

PR:		kern/150517
Submitted by:	David Naylor <naylor.b.david@gmail.com>
Reviewed by:	jkim
MFC after:	3 weeks
2010-10-12 17:53:01 +00:00
Andriy Gapon 9ddb6637b8 generic_stop_cpus: prevent parallel execution
This is based on the same approach as used in panic().
In theory parallel execution of generic_stop_cpus()  could lead to two CPUs
stopping each other and everyone else, and thus a total system halt.
Also, in theory, we should have some smarter locking here, because two
(or more CPUs) could be stopping unrelated sets of CPUs.
But in practice, it seems, this function is only used to stop
"all other" CPUs.

Additionally, I took this opportunity to make amd64-specific suspend_cpus()
function use generic_stop_cpus() instead of rolling out essentially
duplicate code.

This code is based on code by Sandvine Incorporated.

Suggested by:	mdf
Reviewed by:	jhb, jkim (earlier version)
MFC after:	2 weeks
2010-10-12 17:40:45 +00:00
Andriy Gapon e07b64c567 tmpfs + sendfile: do not produce partially valid pages for vnode's tail
See r213730 for details of analogous change in ZFS.

MFC after:	3 days
2010-10-12 17:16:51 +00:00
Andriy Gapon f6bb41924c zfs + sendfile: do not produce partially valid pages for vnode's tail
Since r212650 and before this change sendfile(2) could produce
a partially valid page for a trailing portion of a ZFS vnode.
vm_fault() always wants to see a fully valid page even if it's the last
page that partially extends beyond vnode's end.  Otherwise it calls
vop_getpages() to bring in the page.  In the case of ZFS this means
that the data is read from the page into the same page and this breaks
checks in ZFS mappedread() - a thread that set VPO_BUSY on the page in
vm_fault() will get blocked forever waiting for it to be cleared.

Many thanks to Kai and Jeremy for reproducing the issue and providing
important debugging information and help.

Reported by:	Kai Gallasch <gallasch@free.de>,
		Jeremy Chadwick <freebsd@jdc.parodius.com>
Tested by:	Kai Gallasch <gallasch@free.de>,
		Jeremy Chadwick <freebsd@jdc.parodius.com>
Reviewed by:	kib
MFC after:	3 days
To-Do:		apply the same treatment to tmpfs + sendfile
2010-10-12 17:04:21 +00:00
Bernhard Schmidt 40668dc52b Fix monitor mode which is implemented by doing a firmware scan. This
is a port of stable/6, seems like the code got lost during the
background scan changes in r170530.

Pointed out by:	danfe
MFC after:	2 weeks
2010-10-12 16:52:13 +00:00
Jaakko Heinonen 27877c9903 Format prototypes to follow style(9) more closely.
Discussed with:	kib, phk
2010-10-12 15:58:52 +00:00
Joel Dahl 4e33fc946d Small grammar nit in a printf message. 2010-10-12 11:05:32 +00:00
Florent Thoumie 1784fdea2e - Add support for xz compression to pkg_create, bzip2 remains the default
compression algorithm.
- Bump PKG_INSTALL_VERSION to 20101012.

Submitted by:	mm
MFC after:	1 month
2010-10-12 10:04:44 +00:00
Gleb Smirnoff 19f5434963 We already have dummy receive buffer in sc->buffer.
Suggested by:	hselasky
2010-10-12 09:41:42 +00:00
Konstantin Belousov 78ae4338a2 Add macro DECLARE_MODULE_TIED to denote a module as requiring the
kernel of exactly the same __FreeBSD_version as the headers module was
compiled against.

Mark our in-tree ABI emulators with DECLARE_MODULE_TIED. The modules
use kernel interfaces that the Release Engineering Team feel are not
stable enough to guarantee they will not change during the life cycle
of a STABLE branch. In particular, the layout of struct sysentvec is
declared to be not part of the STABLE KBI.

Discussed with:	bz, rwatson
Approved by:	re (bz, kensmith)
MFC after:	2 weeks
2010-10-12 09:18:17 +00:00
David Xu 96f231fde9 Add a flag TDF_TIDHASH to prevent a thread from being
added to or removed from thread hash table multiple times.
2010-10-12 00:36:56 +00:00
David E. O'Brien 5f7f699749 Correct regression test to not show a false positive when run as root. 2010-10-11 23:24:57 +00:00
Rick Macklem db0a33d219 Try and make the nfsrv_localunlock() function in the experimental
NFSv4 server more readable. Mostly changes to comments, but a
case of >= is changed to >, since == can never happen. Also, I've
added a couple of KASSERT()s and a slight optimization, since
once the "else if" case happens, subsequent locks in the list can't
have any effect. None of these changes fixes any known bug.

MFC after:	2 weeks
2010-10-11 23:15:18 +00:00
Pyun YongHyeon 66151edf96 The IFF_DRV_RUNNING flag is set at the end of bge_init_locked. But
before setting the flag, interrupt was already enabled such that
interrupt handler could be run before setting IFF_DRV_RUNNING flag.
This can lose initial link state change interrupt which in turn
make bge(4) think that it still does not have valid link. Fix this
race by protecting the taskqueue with a driver lock.
While I'm here move reenabling interrupt code after handling of link
state chage.

Reviewed by:	davidch
2010-10-11 23:07:12 +00:00
Pyun YongHyeon 6ede2cfa12 Remove one last reference of BGE_MI_MODE register for auto polling.
Previously bge(4) always enabled auto polling for non-BGE_FLAG_TBI
controllers. With this change, auto polling is not used anymore so
polling through mii(4) was introduced.

Reviewed by:	davidch
2010-10-11 22:56:23 +00:00
Matthew D Fleming d95f15e7aa Re-work the internal user ioctl command table, and support the FW_UPLOAD
command.

Reviewed by:	ken (previous version)
2010-10-11 22:44:15 +00:00
Matthew D Fleming 452909d7d9 Add function prototypes for static functions.
Requested by:	ken
2010-10-11 22:44:05 +00:00
Andrew Thompson 857508a36c Add the XHCI USB controller to NOTES.
Reviewed by:	hselasky
2010-10-11 21:53:03 +00:00
Matthew D Fleming 01095e3bf1 Fix a memory leak and locking inconsistency in mps(4) ioctl handling.
Check copyin(9) for error and sanity check the length before copyin.

Reviewed by:	ken
2010-10-11 21:38:31 +00:00
Andriy Gapon 84803238a8 camlib.c: update one overlooked comment 2010-10-11 21:34:35 +00:00
Matthew D Fleming 5ef9804274 Fix up the COMPAT_FREEBSD32 ioctl logic for mps(4).
Reviewed by:	ken
2010-10-11 21:26:24 +00:00
Martin Matuska e0f0e66dfe Upgrade xz to git snapshot as of 20101010
Approved by:	delphij (mentor)
MFC after:	1 month
2010-10-11 21:16:50 +00:00
Martin Matuska 140cf3d5f2 Remove two non-vendor files as recommended.
Approved by:	delphij (mentor)
2010-10-11 20:34:35 +00:00
Ed Schouten eaeeb89e75 Fix reference to nonexistent manpage getuid(3).
Submitted by:	pluknet
2010-10-11 20:30:57 +00:00
Ed Schouten 5a25553cc3 Remove stale reference to wtmp(5).
Reported by:	pluknet
2010-10-11 20:17:23 +00:00
Pyun YongHyeon f95779d97e Do not setup interrupt endpoint for axe(4).
It seems axe(4) controllers support interrupt endpoint such that
enabling interrupt endpoint generates about 1000 interrupts/sec.
Controllers transfer 8 bytes data through interrupt endpoint and
the data include link UP/DOWN state as well as some PHY related
information. Previously axe(4) didn't use the transferred data and
didn't even try to read the data. Because axe(4) counts on mii(4)
to detect link state changes there is no need to use interrupt
endpoint here.

This change fixes generation of unnecessary interrupts which was
seen when interface is brought to UP.

No objections from:	hselasky
2010-10-11 19:20:53 +00:00
Dimitry Andric 361680a519 Remove more unneeded files and directories from contrib/llvm. This
still allows us to build tblgen and clang, and further reduces the
footprint in the tree.

Approved by:	rpaulo (mentor)
2010-10-11 17:22:16 +00:00
Rui Paulo 72578a23bf Rework the analysis of the 'r' specifier. It turns out that we can't
make it like xArg because they are different ('x' doesn't accept sign,
but 'r' does).
This fixes some warnings when building DDB with clang.

With help from:	rdivacky
2010-10-11 17:18:23 +00:00
George V. Neville-Neil 88660748b0 Add code to print the number and type of the CPU that is present in
the system as well has how many PMCs there are per CPU.  In this code
CPU and core are equivalent.

MFC after:	1 day
2010-10-11 14:31:24 +00:00
Martin Matuska 42ec4a8d70 Vendor import of xz (stripped)
Git revision:	d52b411716a614c202e89ba732492efb9916cd3f

Approved by:	delphij (mentor)
2010-10-11 12:43:51 +00:00
Andriy Gapon 5bcc8fafda cam_get_device, cam_open_device: make behavior simpler and more deterministic
Remove or re-work support for the several features from the past:
- remove incomplete support for trimming slice/partition names
- remove mapping from old device names "sd" and "st"
- remove whitespace trimming
- remove unconditional skipping of leading 'r' in a device name
- skip leading 'n' or 'e' only if the following device name matches
  a list of known devices that support no-rewind and eject-on-close
  features; currently this is only sa(4)
- reflect the above changes in comments in code and in cam(3)
- remove a note cautioning against use of cam_get_device and
  cam_open_device in cam(3)

Reviewed by:	mjacob
2010-10-11 09:27:37 +00:00
Rui Paulo 921f8a1b40 Restore the support for the 'r' and the 'y' conversion specifiers, first
added on r208987.
These are undocumented but are part of printf(9).
2010-10-11 08:10:12 +00:00
Randi Harper 0c019d8c6e Fix compile with -DDEBUG by using the correct mfi_pd_ref union definition
in mfireg.h.

Submitted by:	gcooper
Reviewed by:	jhb
Approved by:	cperciva (mentor)
MFC after:	1 week
2010-10-10 20:54:01 +00:00
Pawel Jakub Dawidek 19ebc67beb Provide internal ioflags() function that converts ioflag provided by FreeBSD's
VFS to OpenSolaris-specific ioflag expected by ZFS. Use it for read and write
operations.

Reviewed by:	mm
MFC after:	1 week
2010-10-10 20:49:33 +00:00
Randi Harper 4ee8bfc521 Report subcommand handler errors in mfiutil/mptutil so that tools that
invoke the utilities can robustly report errors.

Submitted by:	gcooper
Reviewed by:	jhb
Approved by:	cperciva (mentor)
MFC after:	1 week
2010-10-10 20:37:38 +00:00
Jaakko Heinonen 7f79e870d2 - Print the nmount(2) provided error message only when it is set.
- Ensure that the error message is NUL-terminated before printing it.

PR:		bin/147482
MFC after:	2 weeks
2010-10-10 09:24:19 +00:00
Konstantin Belousov d0cc54f3b4 The r184588 changed the layout of struct export_args, causing an ABI
breakage for old mount(2) syscall, since most struct <filesystem>_args
embed export_args. The mount(2) is supposed to provide ABI
compatibility for pre-nmount mount(8) binaries, so restore ABI to
pre-r184588.

Requested and reviewed by:	bde
MFC after:    2 weeks
2010-10-10 07:05:47 +00:00
Andrey V. Elsukov 21bf062e7e Replace strlen(_PATH_DEV) with sizeof(_PATH_DEV) - 1.
Suggested by:	kib
Approved by:	kib (mentor)
MFC after:	5 days
2010-10-09 20:20:27 +00:00
Ulrich Spörlein 9c398cc7e0 mdoc: drop redundant .Pp calls, kill EOL whitespace 2010-10-09 11:43:00 +00:00
Andriy Gapon 95bb9d38b8 add kmem_map_free sysctl: query largest contiguous free range in kmem_map
Suggested by:	alc
Reviewed by:	alc
MFC after:	1 week
2010-10-09 09:03:17 +00:00
Warner Losh 0f74b3f3ed Initial patches to install images...
PR: 150921
2010-10-09 08:52:09 +00:00
Warner Losh 7dae3d772a Fix typo: thanks Kris for pointing this out. 2010-10-09 08:39:14 +00:00
Andriy Gapon 64dd590ece panic_cpu variable should be volatile
This is to prevent caching of its value in a register when it is checked
and modified by multiple CPUs in parallel.
Also, move the variable  into the scope of the only function that uses it.

Reviewed by:	jhb
Hint from:	mdf
MFC after:	1 week
2010-10-09 08:07:49 +00:00
Warner Losh 6f0ebf473d Enable softupdate + journals support.
PR: 150862
Submitted by: Kris Moore
2010-10-09 07:45:24 +00:00