marius [Fri, 25 Apr 2014 21:42:46 +0000 (21:42 +0000)]
MFC: r260053
- There's no need to keep track of resource IDs.
- Simplify MSI allocation and release. For a single one, we don't need to
fiddle with the MSI count and pci_release_msi(9) is smart enough to just
do nothing in case of INTx.
- Don't allocate MSI as RF_SHAREABLE.
- Use DEVMETHOD_END.
- Use NULL instead of 0 for pointers.
marius [Fri, 25 Apr 2014 21:32:38 +0000 (21:32 +0000)]
MFC: r260050, r261528
- Switch to using the common MII bitbang'ing code instead of duplicating it.
- Based on lessons learnt with dc(4) (see r185750), add bus space barriers to
the MII bitbang read and write functions as well as to instances of page
switching.
- Add missing locking to ed_ifmedia_{upd,sts}().
- Canonicalize some messages.
- Based on actual functionality, ED_TC5299J_MII_DIROUT should be rather named
ED_TC5299J_MII_DIRIN.
- Remove unused headers.
- Use DEVMETHOD_END.
- Use NULL instead of 0 for pointers.
marius [Fri, 25 Apr 2014 21:28:41 +0000 (21:28 +0000)]
MFC: r260045
- Simplify MSI allocation and release. For a single one, we don't need to
fiddle with the MSI count and pci_release_msi(9) is smart enough to just
do nothing in case of INTx.
- Don't allocate MSI as RF_SHAREABLE.
marius [Fri, 25 Apr 2014 21:24:53 +0000 (21:24 +0000)]
MFC: r260044
Free the MSI again on detach if allocated. Arguably, this code would be
better off living in aac_pci.c, but it doesn't seem worth creating a
aac_pci_detach() and it's also not the first PCI-specific bit in aac.c
marius [Fri, 25 Apr 2014 21:20:28 +0000 (21:20 +0000)]
MFC: r260041
Record the IEEE P1282 Rock Ridge version 1.12 POSIX File Serial Number,
i. e. the POSIX:5.6.1 st_ino field, which can be used to detect hard links
in the file system. This is also the default in mkisofs(8) and according to
its man page, no system only being able to cope with Rock Ridge version 1.10
is known to exist.
MFC r264318:
Fix wrong sizes used to access PD_Type and PD_State DDF metadata fields.
This caused incorrect behavior of arrays with big-endian DDF metadata.
Little-endian (like used by Adaptec controllers) should not be harmed.
Add workaround should be enough to manage compatibility.
marius [Tue, 22 Apr 2014 13:02:06 +0000 (13:02 +0000)]
MFC: r264257, r264327, r264514
Distinguish between the different variants and configurations of Sunix
{MIO,SER}5xxxx chips instead of treating all of them as PUC_PORT_2S.
Among others, this fixes the hang seen when trying to probe the none-
existent second UART on an actually 1-port chip.
Obtained from: NetBSD (BAR layouts)
Sponsored by: Bally Wulff Games & Entertainment GmbH
MFC r264293:
Add workaround for MCP61 Ethernet controller found on MSI K9
motherboard. PHY hardware used for the controller responded at
all possible addresses which in turn resulted in having 32 PHYs
for the controller. If driver detects "MSI K9N6PGM2-V2 (MS-7309)"
motherboard, tell miibus(4) PHY is located at 0.
MFC r264062:
Correct endianness handling in getting station address from EEPROM.
While I'm here, remove aue_eeprom_getword() as its only usage is to
read station address and make it more readable. This change is
inspired by NetBSD.
With this change, aue(4) should work on big endian architectures.
This is a direct commit to stable/9, since these documents have
changed drastically, and merge conflicts are too irrelevant to
deal with for a 14-character removal.
When merging docsinstall and zfsboot updates to stable/9 it was discovered
that the slightly older dialog(1) requires --separate-output when using the
--checklist widget to force response to produce unquoted values (whereas in
stable/10 --checklist widget without --separate-output will only quote the
checklist labels in the response if the label is multi-word (contains any
whitespace).
Since these enhancements (see revisions 263956 and 264437) were developed
originally on 10, the --separate-output option was omitted. When merged to
stable/9, we (Allan Jude) and I found during testing that the "always-
quoting" of the response was causing things like struct interpolation to
fail (`f_struct device_$dev' would produce `f_struct device_\"da0\"' for
example -- literal quotes inherited from dialog(1) --checklist response).
To see the behavior, execute the following on stable/9 versus stable/10:
dialog --checklist disks: 0 0 0 da0 "" off da1 "" off
Check both items and hit enter. On stable/10, the response is:
da0 da1
On stable/9 the response is:
"da0" "da1"
If you use the --separate-output option, the response is the same for both:
da0
da1
So applying --separate-output on every platform until either one of two
things occurs 1) dialog(1,3) gets synchronized between stable/9, higher or
2) we drop support for stable/9.
====
Author: Dr. Stephen Henson <steve@openssl.org>
Treat a zero length passed to ssleay_rand_add a no op: the existing logic
zeroes the md value which is very bad. OpenSSL itself never does this
internally and the actual call doesn't make sense as it would be passing
zero bytes of entropy.
Thanks to Marcus Meissner <meissner@suse.de> for reporting this bug.
====
This is a direct commit to stable/8 and stable/9. -HEAD and stable/10
already have this fix as part of OpenSSL 1.0.1g.
Create a symlink to sys/elf32.h, sys/elf64.h, and sys/elf_common.h.
When building libelf in the bootstrap stage this would include the tree
versions of, for example, sys/_types.h. This would work as long as the
tree's version of this file was close enough to the system's version of
the file. If, however, there was a change in the tree such that the location
of a typedef was moved this would cause problems. In this case the version
of sys/_types.h in the tree no longer defines __wchar_t and expects it to
to be defined in machine/_types.h, however we pick up machine/_types.h from
the system and find it is not defined there. The solution is to restrict the
parts of sys er include from the tree to those that are needed.
This fixes the recent Tinderbox failure.
MFC r237531:
Add the sys directory we create to the list of items to clean.
MFC r238741:
Don't ever build files depending on the directory where they are placed in.
It is obvious that its modification time will change with each such file
builded.
This bug cause whole libelf to rebuild itself each second make run
(and relink that files on each first make run) in the loop.
Don't pass a timeout of 0 ticks to pause() for a delay of less than 1
hz tick. On 8.x this results in an infinite sleep as pause() does not
support a delay of 0 ticks. Since all delay values are converted from
nanoseconds to ticks using a floor function, skipping the sleep for a
delay smaller than 1 tick is the more consistent than rounding up to a
single tick.
This is a direct commit to 8 and 9 as 10.x and later use pause_sbt()
instead.
dim [Mon, 14 Apr 2014 17:54:01 +0000 (17:54 +0000)]
MFC r264345:
Amend r263891, by making clang default to DWARF2 debug info format for
all FreeBSD versions, not just 10.x and earlier. Apparently too many
people seem to have trouble with post-1993 formats.
Also remove the related notes about messing with kernel configuration
files from UPDATING, which are now superfluous.
ray [Mon, 14 Apr 2014 12:49:18 +0000 (12:49 +0000)]
MFC 264242,264244,264259
Fix panic on load new driver while vt(4) is in VGA textmode.
o Mute terminal while vt(4) driver change in progress.
o Reset VDF_TEXTMODE before init new driver.
o Assign default font, if new driver is not in TEXTMODE.
o Do not update screen while driver changing.
o Unmute terminal when done with driver replacement.
o Move init fonts to early point.
o Minor cleanup.
o Do not fill screen, while muted. (kern/subr_terminal.c)
MFC r260429:
m_defrag(9) does not touch original mbuf chain when it can't
allocate new mbuf. Free original mbuf chain when driver is not
able to send the packet.
MFC r259543:
Failed m_devget(9) indicates lack of free mbuf cluster. Update
if_iqdrops counter for that case since the received frame is ok.
While here, simplify updating counter logic.
MFC r263957:
Increase the number of TX DMA segments from 32 to 35. It turned
out 32 is not enough to support a full sized TSO packet.
While I'm here fix a long standing bug introduced in r169632 in
bce(4) where it didn't include L2 header length of TSO packet in
the maximum DMA segment size calculation.
MFC r264343:
Add SRC_UPDATE_SKIP, DOC_UPDATE_SKIP, and PORTS_UPDATE_SKIP
variables. These are intended to allow bypassing the
'svn co /usr/{src,doc,ports}' step in the chroot when the
tree exists from external means.
The use case here is that /usr/src, /usr/doc, and /usr/ports
in the chroot exist as result of zfs dataset clones, so it
is possible (and happens quite often) that the included
distributions may not be consistent. (This is not the case
for -RELEASE builds, but does happen for snapshot builds.)
Loosen the processing of *_IF_aliasN vars to be less strict. Previously,
the first alias had to be _alias0 and processing stopped at the first non-
defined variable (preventing gaps). Allowing gaps gives the administrator
the ability to group aliases in an adhoc manner and also lifts the
requirement to renumber aliases simply to comment-out an existing one.
Aliases are processed in numerical ascending order.
NB: Also Patches mdconfig{,2} rc(8) boot scripts to loosen the numbering
scheme for mdconfig_mdN settings to be less strict in the same manner.
MFC r256343,256540-256541,256544,256549,256551,256553,257939,258021,258927,
259144,259148,259470,259472,259474,259476-259478,259480-259481,259570,
259597-259598, and 261960 (24 revisions; summarized below)...
r256343: Add zfsboot module as an option for automatic configuration
r256540: Add zpool_cache_* variables to loader.conf(5)
r256541: Document BSDINSTALL_TMPBOOT in bsdinstall.8
r256544: Fix a typo when setting up loader.conf(5) GELI entries
r256549: Document zfsboot in bsdinstall.8
r256551: Bump .Dd date in bsdinstall.8
r256553: Align ZFSBOOT_BEROOT_NAME with sysutils/beadm + Solaris beadm
r257939: Validate scripted partition entry before acting on disks
r258021: Switch default MBR bootcode from /boot/boot0 to /boot/mbr
r258927: Fix early regression in enabling the Encryption feature
r259144: Fix early regression in entering passphrase for Encryption
r259148: Fix typo that broke booting from Encrypted setup
r259470: Add default /var/mail with atime=on for mail apps
r259472: Accept NULL input as also meaning zero swap
r259474: Bug fixes and debugging improvements
r259476: Improve default ZFS disk layout
r259477: fletcher4 is currently the default
r259478: De-uglify the geli(8)-setup infobox by adding a newline
r259480: Fix ghosted zroot pool issue
r259481: Auto-enable 4k alignment with Encryption
r259570: Fix "[: -eq: argument expected" error
r259597: Fix installation to 3-4+ disks
r259598: Set the cachefile property so bootpools get imported
r261960: Add zfsboot to scripted interface of bsdinstall
Add $VAR_ZFSINTERACTIVE (zfsInteractive) and new f_zfsinteractive() for
determining when a script wants to be nonInteractive but selectively
wants ZFS operations to be *interactive* (this is analgous to already
existing $VAR_NETINTERACTIVE (netInteractive) and f_netinteractive()
used for the same purpose (script wants to be nonInteractive but wants
network operations to be *interactive*).
If the kernel is compiled with VMIMAGE support, the first attempt of
mounting smbfs share will cause a panic. Fix setting/restoring vnet
context when needed.
MFC r238468: sh: Expand assignment-like words specially for
export/readonly/local.
Examples:
export x=~
now expands the tilde
local y=$1
is now safe, even if $1 contains IFS characters or metacharacters.
For a word to "look like an assignment", it must start with a name followed
by an equals sign, none of which may be quoted.
The special treatment applies when the first word (potentially after
"command") is "export", "readonly" or "local". There may be quoting
characters but no expansions. If "local" is overridden with a function there
is no special treatment ("export" and "readonly" cannot be overridden with a
function).
If things like
local arr=(1 2 3)
are ever allowed in the future, they cannot call a "local" function. This
would either be a run-time error or it would call the builtin.
This matches Austin Group bug #351, planned for the next issue of POSIX.1.
As for the MFC, it is easy to depend on this feature inadvertently, and
adding this fixes a regression from stable/8 that may be apparent in things
like
local x=${y+a @}.
MFC r264146:
Fix a race between kqueue_register() and kqueue_scan() setting KN_INFLUX
flag while knlist is not locked, which caused lost notifications from
parallel knote().
Fix kern/187712: config(8) does not respect KERNCONFDIR.
The impact of this bug is that you cannot build a kernel if both of the
following are true:
1) The kernel config file is in a non-default location
2) The kernel config file uses the "include" statement from config(5).
usr.sbin/config/main.c
usr.sbin/config/config.8
usr.sbin/config/config.h
usr.sbin/config/lang.l
Added a "-I path" option to config(8). By analogy to cc(1), it adds
an extra path in which the "include" statement will search for
files.
Makefile.inc1
Pass "-I ${KERNCONFDIR}" to config(8).
dim [Thu, 10 Apr 2014 07:00:24 +0000 (07:00 +0000)]
MFC r264238:
For GNU as, add two missing modes for each of the fcomip and fucomip
instructions. Partially obtained from OpenBSD by Pedro Giffuni, while I
added the fcomip variants.
Apparently this should help with compiling certain variants of WebKit.
MFC r261193: login: Clean up PAM and audit, then exit, on SIGHUP and SIGTERM
This avoids leaving stale entries in utmpx after the connection is closed on
an open login session. It also allows a clean way (SIGTERM) to forcibly
terminate a user's terminal session.
This does not affect the situation for "hung" processes after the connection
is closed. The foreground process group receives SIGHUP and the tty becomes
inaccessible.
Also replace all use of the obsolete signal() function with sigaction() (not
only the part where it is actually required: SIGHUP and SIGTERM must mask
the other as well when caught).
dim [Wed, 9 Apr 2014 18:16:58 +0000 (18:16 +0000)]
MFC r263778:
Add a SUBDIR_PARALLEL option to bsd.subdir.mk, to allow make to process
all the SUBDIR entries in parallel, instead of serially. Apply this
option to a selected number of Makefiles, which can greatly speed up the
build on multi-core machines, when using make -j.
This can be extended to more Makefiles later on, whenever they are
verified to work correctly with parallel building.
I tested this on a 24-core machine, with make -j48 buildworld (N = 6):
before stddev after stddev
======= ====== ======= ======
real time 1741.1 16.5 959.8 2.7
user time 12468.7 16.4 14393.0 16.8
sys time 1825.0 54.8 2110.6 22.8
(user+sys)/real 8.2 17.1
E.g. the build was approximately 45% faster in real time. On machines
with less cores, or with lower -j settings, the speedup will not be as
impressive. But at least you can now almost max out a machine with
buildworld!
Submitted by: jilles
MFC r263833:
Enable parallel building for gnu/usr.bin and usr.bin/clang too.
MFC r257350:
In r257079, SRCDIR is pointed to ${.CURDIR} when not set. However,
Makefile.inc1 is being called in sub-make's where make(1) would,
by default, implicitly chdir(2) to ${.OBJDIR} before executing any
targets. This would make some targets, like delete-old, when trying
to derive various variables introduced by change r256921 using
``make -f Makefile.inc1'' that also rely on SRCDIR to fail.
This changeset adds an explicit cd ${.CURDIR} before these unwrapped
make calls, making them in line with the other ones that are already
being wrapped with the explicit chdir's.
Submitted by: Jeremy Chadwick
Helped by: Ben Morrow
Sponsored by: The FreeBSD Foundation
MFC a modified version of r258588 (modification suggested by Mikolaj
Golub; tested stable both original and modified versions) that fixes
kernel panic when starting/stopping VIMAGE jails.
ray [Fri, 4 Apr 2014 11:19:02 +0000 (11:19 +0000)]
MFC r263885
o Add new vd_driver method to do bitblt with mask, named vd_maskbitbltchr.
o Move vd_bitbltchr vga's driver method to vd_maskbitbltchr.
o Implement new vd_bitbltchr method for vga driver. (It do single write for 8
pixels, have to be a bit faster).
ray [Thu, 3 Apr 2014 12:03:30 +0000 (12:03 +0000)]
MFC r263809
Fix crash on resume in vt(9).
Statically allocated terminal window have not initialized callout handler, so we
have to initialize it even for existing window if it is console window.