Replace the C implementation of __aeabi_read_tp with an assembly version.
This ensures we follow the ABI by preserving registers r1-r3.

Reviewed by:	jmallett, imp


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234337 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
intpm: add ATI IXP400 pci id

PR:		kern/136762
Submitted by:	Aurelien Mere <freebsd@amc-os.com>
Tested by:	Jens Link <jens.link@gmx.de>
MFC after:	5 days


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234338 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
zfsboot: honor -q if it's present in boot.config

Before r228267 the option was honored but the original content of
boot.config was not preserved.  I tried to fix that but missed the idea.
Now the proper way of doing things is taken from i386/boo2.
Also, a comment is added to explain this a little bit unobvious
behavior.

Inspired by:	jhb
MFC after:	5 days


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234339 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
#include <net/vnet.h> is no longer needed here.

Spotted by:	Ed Maste
MFC after:	3 days.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234341 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
When we receive an ICMP unreach need fragmentation datagram, we take
proposed MTU value from it and update the TCP host cache. Then
tcp_mss_update() is called on the corresponding tcpcb. It finds the
just allocated entry in the TCP host cache and updates MSS on the
tcpcb. And then we do a fast retransmit of what we have in the tcp
send buffer.

This sequence gets broken if the TCP host cache is exausted. In this
case allocation fails, and later called tcp_mss_update() finds nothing
in cache. The fast retransmit is done with not reduced MSS and is
immidiately replied by remote host with new ICMP datagrams and the
cycle repeats. This ping-pong can go up to wirespeed.

To fix this:
- tcp_mss_update() gets new parameter - mtuoffer, that is like
  offer, but needs to have min_protoh subtracted.
- tcp_mtudisc() as notification method renamed to tcp_mtudisc_notify().
- tcp_mtudisc() now accepts not a useless error argument, but proposed
  MTU value, that is passed to tcp_mss_update() as mtuoffer.

Reported by:	az
Reported by:	Andrey Zonov <andrey zonov.org>
Reviewed by:	andre (previous version of patch)


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234342 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Add myself to committers-ports

Approved by:  beat (mentor)


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234343 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
VMware environment is frequent nowadays.  Add VMFS id.

MFC after:	2 weeks


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234345 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
tmpfs: Allow update mounts only for certain options.

Since r230208 update mounts were allowed if the list of mount options
contained the "export" option. This is not correct as tmpfs doesn't
really support updating all options.

Reviewed by:	kevlo, trociny


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234346 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Sync tmpfs_chflags() with the recent changes to UFS:

- Add a check for unsupported file flags.
- Return EPERM when an user without PRIV_VFS_SYSFLAGS privilege attempts
  to toggle SF_SETTABLE flags.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234347 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Turn on PREEMPTION by default. After fixing several bugs over time, the
last show-stopper keeping PREEMPTION from being usable on sparc64 should
have been dealt with in r230662.
At least on 2-way systems, PREEMPTION causes a little bit of a degradation
in worldstone performance. However, FreeBSD seems to have started building
up regressions in !PREEMPTION cases so sparc64 better should not be an
oddball in this regard.

MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234348 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Sync with Bryan Venteicher's virtio git repo:

d04e609bdd1973cc7d2e8b38b7dcfae057b0962d
	virtio_blk: Use correct temporary variable in vtblk_poll_request

Obtained from:	Bryan Venteicher  bryanv at daemoninthecloset dot org


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234349 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
- When interrupt is not requested for VM86 call, make a fake exit point and
push the address onto stack as we do for INTn emulation.  This avoids stack
underflow when we encounter RETF instruction in VM86 mode.  Lack of this
exit point actually caused page fault in VM86 mode with VESA module when we
resume from suspend state[1].
- Remove unnecessary CLI and STI instructions from BIOS interrupt emulation.
INTn and IRET must be able to emulate the flag correctly.

Reported by:	gavin [1]
Tested by:	gavin (early revision)
MFC after:	3 days


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234350 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
- Use _PATH_TMP instead of hardcoded /tmp
- more style(9) fixes
- some refactoring
- better error detection
- Add the DPADD to Makefile

Submitted by:	Garrett Cooper <yanegomi@gmail.com>
Approved by:	des (mentor)


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234351 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
- Implement pipe2 syscall for Linuxulator.  This syscall appeared in 2.6.27
but GNU libc used it without checking its kernel version, e. g., Fedora 10.
- Move pipe(2) implementation for Linuxulator from MD files to MI file,
sys/compat/linux/linux_file.c.  There is no MD code for this syscall at all.
- Correct an argument type for pipe() from l_ulong * to l_int *.  Probably
this was the source of MI/MD confusion.

Reviewed by:	emulation


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234352 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Upgrade our copy of llvm/clang to trunk r154661, in preparation of the
upcoming 3.1 release (expected in a few weeks).  Preliminary release
notes can be found at: <http://llvm.org/docs/ReleaseNotes.html>

MFC after:	2 weeks


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234353 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Regen for r234352.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234354 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Bump __FreeBSD_version due to the import of a new clang 3.1 prerelease
snapshot.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234355 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Work around an issue on 32-bit PowerPC, where clang executable can get
too big, causing 'relocation truncated to fit' errors at link time.

Reviewed by:	nwhitehorn


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234356 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Correct arguments of stat64, fstat64 and lstat64 syscalls for Linuxulator.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234357 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Regen for r234357.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@234358 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f