Commit Graph

178311 Commits

Author SHA1 Message Date
tijl
212d562cf9 Remove some unnecessary includes. 2012-03-18 19:15:11 +00:00
jh
683a986c03 Cast wallclock.tv_sec to uint64_t to avoid overflow in the calculation.
PR:		kern/161552
Reviewed by:	trasz
Tested by:	Nikos Vassiliadis
MFC after:	1 week
2012-03-18 19:13:32 +00:00
tijl
35c7447060 Eliminate ia32_reg.h by moving its contents to x86 and ia64 reg.h.
Reviewed by:	kib
2012-03-18 19:12:11 +00:00
tijl
2bf580ea66 Copy i386 reg.h to x86 and merge with amd64 reg.h. Replace i386/amd64/pc98
reg.h with stubs.

The tREGISTER macros are only made visible on i386. These macros are
deprecated and should not be available on amd64.

The i386 and amd64 versions of struct reg have been renamed to struct
__reg32 and struct __reg64. During compilation either __reg32 or __reg64
is defined as reg depending on the machine architecture. On amd64 the i386
struct is also available as struct reg32 which is used in COMPAT_FREEBSD32
code.

Most of compat/ia32/ia32_reg.h is now IA64 only.

Reviewed by:	kib (previous version)
2012-03-18 19:06:38 +00:00
tijl
f36691a4af Use exact width integer types in amd64/i386 reg.h to prepare for a merge.
The only real change is replacing long with int on i386.
2012-03-18 18:44:42 +00:00
alc
9f2db48abf Style fix to pmap_protect().
Submitted by:	bde
2012-03-18 17:41:54 +00:00
kevlo
5eef7eb9a7 Repair function when used with large scales
Submitted by:	AIDA Shinra <shinra at j10n dot org>
2012-03-18 15:34:39 +00:00
nwhitehorn
fcd574676f Remove acquisition of VM page queues lock from pmap_protect(). Any actual
manipulation of the pvo_vlink and pvo_olink entries is already protected
by the table lock, so most remaining instances of the acquisition of the
page queues lock can likely be replaced with the table lock, or removed
if the table lock is already held.

Reviewed by:	alc
2012-03-18 13:22:42 +00:00
bz
a45ce69b30 Hide kernel option ROUTETABLES evaluations in the implementation
rather than the header file.  With this also move RT_MAXFIBS and
RT_NUMFIBS into the implemantion to avoid further usage in other
code. rt_numfibs is all that should be needed.

This allows users to change the number of FIBs from 1..RT_MAXFIBS(16)
dynamically using the tunable without the need to change the kernel
config for the maximum anymore.  This means that thet multi-FIB
feature is now fully available with GENERIC kernels.
The kernel option ROUTETABLES can still be used to set the default
numbers of FIBs in absence of the tunable.

Ok.ed by:	julian, hrs, melifaro
MFC after:	2 weeks
2012-03-18 11:23:40 +00:00
hselasky
fd6aa4b890 Regenerate usb.conf to use new -n option when doing kldload.
MFC after:	1 week
2012-03-18 09:52:54 +00:00
hselasky
de7d9eb7a3 Use new -n option when executing kldload, to
not warn about already loaded module(s).

MFC after:	1 week
2012-03-18 09:47:27 +00:00
hselasky
8be9a344bd Add option to ignore error codes if the module specified is already loaded.
MFC after:	1 week
2012-03-18 09:45:43 +00:00
gonzo
c2c7ad8aeb Unbreak trhe build by including proper header 2012-03-18 08:08:06 +00:00
gonzo
3d68feb2a6 Fix TLS for statically linked binaries
Approved by:	cognet
2012-03-18 03:42:54 +00:00
marius
51f018d43a Declare some variables static in order to reduce the object size and
redo r232822 in a less hackish way. The latter now no longer breaks
compiling the x86 boot2 with clang.

MFC after:	1 week
2012-03-18 02:19:30 +00:00
gonzo
fd6921cafa - Fix logic for detection if further processing of PMC should be performed.
pmc_intr returns one if one of the counters actually triggered the IRQ
- style(9) fixed
2012-03-18 01:43:41 +00:00
davidxu
7218f7cbc7 Some software think a mutex can be destroyed after it owned it, for
example, it uses a serialization point like following:
	pthread_mutex_lock(&mutex);
	pthread_mutex_unlock(&mutex);
	pthread_mutex_destroy(&muetx);
They think a previous lock holder should have already left the mutex and
is no longer referencing it, so they destroy it. To be maximum compatible
with such code, we use IA64 version to unlock the mutex in kernel, remove
the two steps unlocking code.
2012-03-18 00:22:29 +00:00
kib
16846fb575 Do not claim that msync(2) is obsoleted [1].
Document EIO from msync(2).

Inspired by PR:	 docs/165929 [1]
Reviewed by:	 jilles
MFC after:	 2 weeks
2012-03-17 23:55:18 +00:00
kib
22e84b3527 Add sysctl vfs.nfs.nfs_keep_dirty_on_error to switch the nfs client
behaviour on error from write RPC back to behaviour of old nfs client.
When set to not zero, the pages for which write failed are kept dirty.

PR:	kern/165927
Reviewed by:	alc
MFC after:	2 weeks
2012-03-17 23:03:20 +00:00
kib
2963c3c979 In vm_object_page_clean(), do not clean OBJ_MIGHTBEDIRTY object flag
if the filesystem performed short write and we are skipping the page
due to this.

Propogate write error from the pager back to the callers of
vm_pageout_flush().  Report the failure to write a page from the
requested range as the FALSE return value from vm_object_page_clean(),
and propagate it back to msync(2) to return EIO to usermode.

While there, convert the clearobjflags variable in the
vm_object_page_clean() and arguments of the helper functions to
boolean.

PR:	kern/165927
Reviewed by:	alc
MFC after:	2 weeks
2012-03-17 23:00:32 +00:00
peter
7af7d69c50 Make sure libgcc_s is finished building in _startup_libs before
building libcxxrt with high -j levels.  The workaround in
libc++/Makefile isn't necessary once that race is solved.

Reviewed by:	theravin
2012-03-17 22:12:09 +00:00
alc
eb494d678d With the changes over the past year to how accesses to the page's dirty
field are synchronized, there is no need for pmap_protect() to acquire
the page queues lock unless it is going to access the pv lists.

Reviewed by:	kib
2012-03-17 22:04:58 +00:00
rmh
26b44e3c9d Hide a few declarations from userland (including `struct inpcbgroup'). This
removes the dependency on <machine/param.h> which was introduced with SVN
rev 222748 (due to CACHE_LINE_SIZE).

Reviewed by:	bde
MFC after:	10 days
2012-03-17 21:51:39 +00:00
hselasky
e1da8f7c60 The UMS module is now loaded by rules in /etc/devd/usb.conf which
are executed by devd. Remove duplicate kldload.

Reported by:	joel @
MFC after:	1 week
2012-03-17 16:40:15 +00:00
adrian
9608a1f31c style(9) changes. 2012-03-17 07:29:11 +00:00
adrian
7910492ee4 Begin fleshing out MII clock rate configuration changes.
These are needed for some particular port configurations where the default
speed isn't suitable for all link speed types. (Ie, changing 10/100/1000MBit
PLL rate requires a similar MII clock rate, rather than a fixed MII rate.)

This is:

* only currently implemented for the ar71xx;
* isn't used anywhere (yet), as the final interface for this hasn't yet
  been determined.
2012-03-17 07:25:23 +00:00
jkim
971b05384c Save and restore linear frame buffer between suspend and resume.
MFC after:	1 week
2012-03-17 00:00:33 +00:00
jkim
6cf86670c6 Remove unnecessary static variable initializations and duplicate codes.
Consistently use bcopy(9) over memcpy(9).
2012-03-16 23:54:23 +00:00
adrian
1a24a89db9 Fix a couple of debugging outputs.
* printf -> device_printf
* print the buffer pointer and sequence number for any buffer that wasn't
  correctly tidied up before it was freed.  This is to aid in some
  current SMP TX debugging stalls.

PR:		kern/166190
2012-03-16 23:24:27 +00:00
dim
36e49518fe Change the style of share/mk/bsd.sys.mk to that of the other bsd.*.mk
files, and style.Makefile(5), where applicable.  While here, update the
link to the gcc warning documentation.

No functional change.

MFC after:	1 week
2012-03-16 23:19:45 +00:00
adrian
c104224e00 Add a dependency on ALQ if IEEE80211_ALQ and/or AH_DEBUG_ALQ is included. 2012-03-16 23:12:40 +00:00
adrian
2a00d3a2e7 Pull in a dependency on ALQ if it's compiled with IEEE80211_ALQ. 2012-03-16 23:08:13 +00:00
rmh
3411b30910 Remove gratuitous DEBUG_FLAGS="-g" setting (this is already the default
option with GENERIC kernels).

Reviewed by:	ken
2012-03-16 21:46:02 +00:00
mm
353cc81df9 Unhide /dev/zfs in devfsrules_jail.
The /dev/zfs device is required for managing jailed ZFS datasets.

Discussed with:	pjd, jamie
MFC after:	1 week
2012-03-16 21:30:26 +00:00
davide
cd0c342e57 Add rudimentary profiling of the hash table used in the in the umtx code to
hold active lock queues.

Reviewed by:	attilio
Approved by:	davidxu, gnn (mentor)
MFC after:	3 weeks
2012-03-16 20:32:11 +00:00
tijl
9c671fcaca Move userland bits of i386 npx.h and amd64 fpu.h to x86 fpu.h.
Remove FPU types from compat/ia32/ia32_reg.h that are no longer needed.
Create machine/npx.h on amd64 to allow compiling i386 code that uses
this header.

The original npx.h and fpu.h define struct envxmm differently. Both
definitions have been included in the new x86 header as struct __envxmm32
and struct __envxmm64. During compilation either __envxmm32 or __envxmm64
is defined as envxmm depending on machine architecture. On amd64 the i386
struct is also available as struct envxmm32.

Reviewed by:	kib
2012-03-16 20:24:30 +00:00
tijl
9d9a56e6ef Use exact width integer types instead of long in struct env87 in
preparation to merge with amd64.

Reviewed by:	kib
2012-03-16 19:42:39 +00:00
jkim
6893e74dc0 Do not unnecessarily clear display memory when switching modes.
MFC after:	3 days
2012-03-16 19:22:29 +00:00
kib
dfe2b280a7 Remove write-only variable.
MFC after:	3 days
2012-03-16 19:09:34 +00:00
jhb
4700588432 Fix build with INET6 disabled. 2012-03-16 17:56:53 +00:00
hselasky
24eb4e2893 Create new file header format to simplify the endian and cross platform issues.
This patch does not break binary compatibility with previous versions.

MFC after:	1 week
2012-03-16 17:30:22 +00:00
jilles
b984bc44ed xargs: Before exiting, wait for all invocations of the utility.
This only has an effect with -P, otherwise errors are only detected when the
utility is not running.

Submitted by:	Matthew Story
2012-03-16 16:41:28 +00:00
hselasky
c54c4cd884 Fix cross-platform issue about the file-format in which
usbdump stores data. Until this patch it was not possible
to exchange traces between 32-bit, 64-bit, big- and
little endian platforms. The problem is the dynamic nature
of the BPF timestamp in the header. All other fields are
fixed size and little endian.

MFC after:	5 days
2012-03-16 16:29:21 +00:00
jhb
d20688c130 Revert the PCIe 4GB boundary issue workaround now that the proper fix is
in HEAD.

Ok'd by:	scottl
2012-03-16 16:12:10 +00:00
nyan
fbebe4e777 - Fix to build a native i386 kernel without the SMP and atpic.
- Merge r232744 changes to pc98.
  (Allow a kernel to be built with 'nodevice atpic'.)
- Move ICU related defines from x86/isa/atpic.c to x86/isa/icu.h and
  use them in x86/x86/intr_machdep.c.

Reviewed by:	jhb
2012-03-16 12:13:44 +00:00
tijl
4b85eeee48 Remove prototypes of _amd64_get_fsbase et al. The functions were removed
in r145571.
2012-03-16 10:10:17 +00:00
davidxu
aea001420f Add implementation note about when a condition variable can be destroyed. 2012-03-16 05:05:37 +00:00
davidxu
02e067d118 When destroying a barrier, waiting all threads exit the barrier,
this makes it possible a thread received PTHREAD_BARRIER_SERIAL_THREAD
immediately free memory area of the barrier.
2012-03-16 04:35:52 +00:00
gonzo
dd9eff8d39 Clean-up fake preload data generator:
- Use macros to push scalar values
- Fix type mismatch for module size
2012-03-15 23:53:24 +00:00
nwhitehorn
6a20b9d5e1 Make ofw_bus_get_node() consistently return -1 when there is no associated
OF node, instead of a random mixture of 0 and -1. Update all checks for 0
to check for -1 instead.

MFC after:	4 weeks
2012-03-15 22:53:39 +00:00