Document r282783, freescale PCI Root Complex support added.
[freebsd.git] / release / doc / en_US.ISO8859-1 / relnotes / article.xml
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
3         "../../../share/xml/freebsd50.dtd" [
4 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN" "release.ent">
5  %release;
6 <!ENTITY % sponsor PUBLIC "-//FreeBSD//ENTITIES Sponsor Specification//EN" "sponsor.ent">
7  %sponsor;
8 <!ENTITY % vendor PUBLIC "-//FreeBSD//ENTITIES Vendor Specification//EN" "vendor.ent">
9  %vendor;
10 <!ENTITY security SYSTEM "../../share/xml/security.xml">
11 <!ENTITY errata SYSTEM "../../share/xml/errata.xml">
12 ]>
13 <article xmlns="http://docbook.org/ns/docbook"
14   xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
15
16   <info>
17     <title>&os; &release.current; Release Notes</title>
18
19     <author>
20       <orgname>The &os; Project</orgname>
21     </author>
22
23     <pubdate>$FreeBSD$</pubdate>
24
25     <!-- Last rev: 282482 -->
26
27     <copyright>
28       <year>2015</year>
29       <holder role="mailto:doc@FreeBSD.org">The &os; Documentation
30         Project</holder>
31     </copyright>
32
33     <legalnotice xml:id="trademarks" role="trademarks">
34       &tm-attrib.freebsd;
35       &tm-attrib.ibm;
36       &tm-attrib.ieee;
37       &tm-attrib.intel;
38       &tm-attrib.sparc;
39       &tm-attrib.general;
40     </legalnotice>
41
42     <abstract>
43       <para>The release notes for &os; &release.current; contain
44         a summary of the changes made to the &os; base system on the
45         &release.branch; development line.  This document lists
46         applicable security advisories that were issued since the last
47         release, as well as significant changes to the &os; kernel and
48         userland.  Some brief remarks on upgrading are also
49         presented.</para>
50     </abstract>
51   </info>
52
53   <sect1 xml:id="intro">
54     <title>Introduction</title>
55
56     <para>This document contains the release notes for &os;
57       &release.current;.  It describes recently added, changed, or
58       deleted features of &os;.  It also provides some notes on
59       upgrading from previous versions of &os;.</para>
60
61     <para releasetype="current">The &release.type; distribution to
62       which these release notes apply represents the latest point
63       along the &release.branch; development branch since
64       &release.branch; was created.  Information regarding pre-built,
65       binary &release.type; distributions along this branch can be
66       found at <uri
67         xlink:href="&release.url;">&release.url;</uri>.</para>
68
69     <para releasetype="snapshot">The &release.type; distribution to
70       which these release notes apply represents a point along the
71       &release.branch; development branch between &release.prev; and
72       the future &release.next;.  Information regarding pre-built,
73       binary &release.type; distributions along this branch can be
74       found at <uri
75         xlink:href="&release.url;">&release.url;</uri>.</para>
76
77     <para releasetype="release">This distribution of &os;
78       &release.current; is a &release.type; distribution.  It can be
79       found at <uri xlink:href="&release.url;">&release.url;</uri> or
80       any of its mirrors.  More information on obtaining this (or
81       other) &release.type; distributions of &os; can be found in the
82       <link
83         xlink:href="&url.books.handbook;/mirrors.html"><quote>Obtaining
84           &os;</quote> appendix</link> to the <link
85         xlink:href="&url.books.handbook;/">&os;
86         Handbook</link>.</para>
87
88     <para>All users are encouraged to consult the release errata
89       before installing &os;.  The errata document is updated with
90       <quote>late-breaking</quote> information discovered late in the
91       release cycle or after the release.  Typically, it contains
92       information on known bugs, security advisories, and corrections
93       to documentation.  An up-to-date copy of the errata for &os;
94       &release.current; can be found on the &os; Web site.</para>
95
96     <para>This document describes the most user-visible new or changed
97       features in &os; since &release.prev;.  In general, changes
98       described here are unique to the &release.branch; branch unless
99       specifically marked as &merged; features.</para>
100
101     <para>Typical release note items document recent security
102       advisories issued after &release.prev;, new drivers or hardware
103       support, new commands or options, major bug fixes, or
104       contributed software upgrades.  They may also list changes to
105       major ports/packages or release engineering practices.  Clearly
106       the release notes cannot list every single change made to &os;
107       between releases; this document focuses primarily on security
108       advisories, user-visible changes, and major architectural
109       improvements.</para>
110   </sect1>
111
112   <sect1 xml:id="upgrade">
113     <title>Upgrading from Previous Releases of &os;</title>
114
115     <para arch="amd64,i386">Binary upgrades between RELEASE versions
116       (and snapshots of the various security branches) are supported
117       using the &man.freebsd-update.8; utility.  The binary upgrade
118       procedure will update unmodified userland utilities, as well as
119       unmodified GENERIC kernels distributed as a part of an official
120       &os; release.  The &man.freebsd-update.8; utility requires that
121       the host being upgraded have Internet connectivity.</para>
122
123     <para>Source-based upgrades (those based on recompiling the &os;
124       base system from source code) from previous versions are
125       supported, according to the instructions in
126       <filename>/usr/src/UPDATING</filename>.</para>
127
128     <important>
129       <para>Upgrading &os; should only be attempted after backing up
130         <emphasis>all</emphasis> data and configuration files.</para>
131     </important>
132   </sect1>
133
134   <sect1 xml:id="security-errata">
135     <title>Security and Errata</title>
136
137     <para>This section lists the various Security Advisories and
138       Errata Notices since &release.prev;.</para>
139
140     <sect2 xml:id="security">
141       <title>Security Advisories</title>
142
143       &security;
144     </sect2>
145
146     <sect2 xml:id="errata">
147       <title>Errata Notices</title>
148
149       &errata;
150     </sect2>
151   </sect1>
152
153   <sect1 xml:id="userland">
154     <title>Userland</title>
155
156     <para>This section covers changes and additions to userland
157       applications, contributed software, and system utilities.</para>
158
159     <sect2 xml:id="userland-config">
160       <title>Userland Configuration Changes</title>
161
162       <para revision="266463">The default &man.newsyslog.conf.5; now
163         includes files in the
164         <filename>/etc/newsyslog.conf.d/</filename> and
165         <filename>/usr/local/etc/newsyslog.conf.d/</filename>
166         directories by default for &man.newsyslog.8;.</para>
167
168       <para revision="270675">The &man.mailwrapper.8; utility has been
169         updated to use &man.mailer.conf.5; from the
170         <literal>LOCALBASE</literal> environment variable, which
171         defaults to <filename class="directory">/usr/local</filename>
172         if unset.</para>
173
174       <para revision="272350">The <literal>MK_ARM_EABI</literal>
175         &man.src.conf.5; option has been removed.</para>
176     </sect2>
177
178     <sect2 xml:id="userland-programs">
179       <title>Userland Application Changes</title>
180
181       <para revision="258838" contrib="sponsor" sponsor="&ff;,
182         &google;" sponsorurl="">The &man.casperd.8; daemon has been
183         added, which provides access to functionality that is not
184         available in the <quote>capability mode</quote>
185         sandbox.</para>
186
187       <para revision="260594">When unable to load a kernel module with
188         &man.kldload.8;, a message informing to view output of
189         &man.dmesg.8; is now printed, opposed to the previous output
190         <quote>Exec format error.</quote>.</para>
191
192       <para revision="260910">Allow &man.pciconf.8; to identify PCI
193         devices that are attached to a driver to be identified by
194         their device name instead of just the selector.  Additionally,
195         an optional device argument to the <literal>-l</literal> flag
196         to restrict the output to only listing details about a single
197         device.</para>
198
199       <para revision="260913">A new flag, <quote>onifconsole</quote>
200         has been added to <filename>/etc/ttys</filename>.  This allows
201         the system to provide a login prompt via serial console if the
202         device is an active kernel console, otherwise it is equivalent
203         to <literal>off</literal>.</para>
204
205       <para revision="260926">Support for displaying VPD for PCI
206         devices via &man.pciconf.8; has been added.</para>
207
208       <para revision="261498">&man.ping.8; protects against malicious
209         network packets using the Capsicum framework to drop
210         privileges.</para>
211
212       <para revision="265229">The &man.ps.1; utility has been
213         updated to include the <literal>-J</literal> flag, used to
214         filter output by matching &man.jail.8; IDs and names.
215         Additionally, argument <literal>0</literal> can be used to
216         <literal>-J</literal> to only list processes running on the
217         host system.</para>
218
219       <para revision="265249">The &man.top.1; utility has been updated
220         to filter by &man.jail.8; ID or name, in followup to the
221         &man.ps.1; change in <literal>r265229</literal>.</para>
222
223       <para revision="265995">The Blowfish &man.crypt.3; default
224         format has been changed to
225         <literal>&dollar;2b&dollar;</literal>.</para>
226
227       <para revision="266209">The &man.pmcstat.8; utility has been
228         updated to include a new flag, <literal>-l</literal>, which
229         ends event collection after the specified number of
230         seconds.</para>
231
232       <para revision="270745">The &man.ps.1; utility has been updated
233         to include a new keyword, <quote>tracer</quote>, which
234         displays the <acronym>PID</acronym> of the tracing
235         process.</para>
236
237       <para revision="271482">Support for adding empty partitions has
238         been added to the &man.mkimg.1; utility.</para>
239
240       <para revision="272166">The &man.primes.6; utility has been
241         updated to correctly enumerate prime numbers between
242         <literal>4295098369</literal> and
243         <literal>3825123056546413050</literal>, which prior to this
244         change, it would be possible for returned values to be
245         incorrectly identified as prime numbers.</para>
246
247       <para revision="272198">The &man.mkimg.1; utility has been
248         updated to include three options used to print information
249         about &man.mkimg.1; itself:</para>
250
251       <informaltable frame="none" pgwide="0">
252         <tgroup cols="2">
253           <colspec colwidth="1*"/>
254           <colspec colwidth="1*"/>
255           <thead>
256             <row>
257               <entry>Option</entry>
258               <entry>Output</entry>
259             </row>
260           </thead>
261
262           <tbody>
263             <row>
264               <entry><literal>--version</literal></entry>
265               <entry>The current version of the &man.mkimg.1;
266                 utility</entry>
267             </row>
268
269             <row>
270               <entry><literal>--formats</literal></entry>
271               <entry>The disk image file formats supported by
272                 &man.mkimg.1;</entry>
273             </row>
274
275             <row>
276               <entry><literal>--schemes</literal></entry>
277               <entry>The partition schemes supported by
278                 &man.mkimg.1;</entry>
279             </row>
280           </tbody>
281         </tgroup>
282       </informaltable>
283
284       <para revision="272488">Userland &man.ctf.5; support in
285         &man.dtrace.1; has been added.  With this change,
286         &man.dtrace.1; is able to resolve type info for function and
287         <acronym>USDT</acronym> probe arguments, and function return
288         values.</para>
289
290       <para revision="274960">The &man.elfdump.1; utility has been
291         updated to support capability mode provided by
292         &man.capsicum.4;.</para>
293
294       <para revision="275680" contrib="sponsor" sponsor="&ff;">The
295         &man.fstyp.8; utility has been added, which is used to
296         determine the filesystem on a specified device.</para>
297
298       <para revision="276881">The <literal>libedit</literal> library
299         has been updated to support <acronym>UTF</acronym>-8, which
300         additionally provides unicode support to &man.sh.1;.</para>
301
302       <para revision="277166" arch="powerpc">The &man.ptrace.2; system
303         call has been updated include support for Altivec registers on
304         &os;/&arch.powerpc;.</para>
305
306       <para revision="278320">A new device control utility,
307         &man.devctl.8; has been added, which allows making
308         administrative changes to individual devices, such as
309         attaching and detaching drivers, and enabling and disabling
310         devices.  The &man.devctl.8; utility uses the new
311         &man.devctl.3; library.</para>
312
313       <para revision="279315" contrib="sponsor" sponsor="&ff;">The
314         &man.uefisign.8; utility has been added.</para>
315
316       <para revision="279571" contrib="sponsor"
317         sponsor="&scaleengine;">The &man.freebsd-update.8; utility has
318         been updated to prevent fetching updated binary patches when
319         a previous upgrade has not been thoroughly completed.</para>
320
321       <para revision="279122" contrib="sponsor"
322         sponsor="&juniper;">The &man.netstat.1; utility has been
323         updated to link against the &man.libxo.3; shared
324         library.</para>
325
326       <para revision="280870">A regression in the &man.libarchive.3;
327         library that would prevent a directory from being included in
328         the archive when <literal>--one-file-system</literal> is used
329         has been fixed.</para>
330
331       <para revision="281311" contrib="sponsor" sponsor="&ff;">The
332         &man.ar.1; utility has been updated to set
333         <literal>ARCHIVE_EXTRACT_SECURE_SYMLINKS</literal> and
334         <literal>ARCHIVE_EXTRACT_SECURE_NODOTDOT</literal> to disallow
335         directory traversal when extracting an archive, similar to
336         &man.tar.1;.</para>
337
338       <para revision="282208" contrib="sponsor"
339         sponsor="&multiplay;">The &man.chflags.1;, &man.chgrp.1;,
340         &man.chmod.1;, and &man.chown.8; utilities now affect symbolic
341         links when the <literal>-R</literal> flag is specified, as
342         documented in &man.symlink.7;.</para>
343
344       <para revision="281617">A race condition in &man.wc.1; that
345         would cause final results to be sent to &man.stderr.4; when
346         receiving the <literal>SIGINFO</literal> signal has been
347         fixed.</para>
348     </sect2>
349
350     <sect2 xml:id="userland-contrib">
351       <title>Contributed Software</title>
352
353       <para revision="258884" contrib="sponsor"
354         sponsor="&darpa_afrl;">&man.lldb.1; has been updated to
355         upstream snapshot version r196259.</para>
356
357       <para revision="259626">Timezone data files have been updated to
358         version 2013i.</para>
359
360       <para revision="260445">&man.byacc.1; has been updated to
361         version 20140101.</para>
362
363       <para revision="261071">&man.jemalloc.3; has been updated to
364         version 3.5.0.</para>
365
366       <para revision="261283"><application>libc++</application> has
367         been updated to version 3.4.</para>
368
369       <para revision="261320"><application>OpenSSH</application> has
370         been updated to 6.5p1.</para>
371
372       <para revision="261344"><application>mdocml</application> has
373         been updated to version 1.12.3.</para>
374
375       <para revision="261991"><application>LLVM</application> and
376         <application>Clang</application> have been updated to
377         version 3.4.</para>
378
379       <para revision="266527"
380         role="merged"><application>Sendmail</application> has been
381         updated from 8.14.7 to 8.14.9.</para>
382
383       <para revision="276577"><application>file</application> has been
384         updated to version 5.22.</para>
385
386       <para revision="275718">The <application>binutils</application>
387         suite of utilities has been updated to include upstream
388         patches that add new relocations for &arch.powerpc;
389         support.</para>
390
391       <para revision="276398" contrib="sponsor" sponsor="&ff;">The
392         <application>ELF Tool Chain</application> has been updated to
393         upstream revision r3136.</para>
394
395       <para revision="276551">The <application>texinfo</application>
396         utility and <literal>info</literal> pages were removed from
397         the base system.  The <filename
398           role="package">print/texinfo</filename> port should be
399         installed on systems where <literal>info</literal> pages are
400         needed.</para>
401
402       <para revision="276796" contrib="sponsor" sponsor="&ff;">The ELF
403         object manipulation tools
404         <application>addr2line</application>,
405         <application>elfcopy (strip)</application>,
406         <application>nm</application>,
407         <application>readelf</application>,
408         <application>size</application>, and
409         <application>strings</application> were switched to the
410         versions from the ELF Tool Chain project.</para>
411
412       <para revision="276881">The <literal>libedit</literal> library
413         has been updated to include <acronym>UTF-8</acronym> support,
414         adding <acronym>UTF-8</acronym> support to the &man.sh.1;
415         shell.</para>
416
417       <para revision="278433">The &man.xz.1; utility has been updated
418         to support multi-threaded compression.</para>
419
420       <para revision="280297"><application>OpenSSL</application> has
421         been updated to version 1.0.1m.</para>
422
423       <para revision="280932" contrib="sponsor" sponsor="&ff;">The
424         <application>elftoolchain</application> utilities have been
425         updated to version 3179.</para>
426
427       <para revision="281316">The &man.xz.1; utility has been updated
428         to version 5.2.1.</para>
429
430       <para revision="281373">The &man.nvi.1; utility has been updated
431         to version 2.1.3.</para>
432
433       <para revision="281396">The &man.acpi.4; subsystem has been
434         updated to version 20150410.</para>
435
436       <para revision="281806">The &man.wpa.supplicant.8; and
437         &man.hostapd.8; utilities have been updated to version
438         2.4.</para>
439
440       <para revision="281812"><application>bmake</application> has
441         been updated to version 20150418.</para>
442
443       <para revision="282089">The &man.unbound.8; utility has been
444         updated to version 1.5.3.</para>
445
446       <para revision="282434" contrib="sponsor" sponsor="&ff;">The
447         &man.resolvconf.8; utility has been updated to version
448         3.7.0.</para>
449     </sect2>
450
451     <sect2 xml:id="userland-installer">
452       <title>Installation and Configuration Tools</title>
453
454       <para revision="271539">The &man.bsdinstall.8; partition editor
455         and &man.sade.8; utility have been updated to include native
456         <acronym>ZFS</acronym> support.</para>
457
458       <para revision="272274">The &os; installation utility,
459         &man.bsdinstall.8;, has been updated to set the
460         <literal>canmount</literal> &man.zfs.8; property to
461         <literal>off</literal> for the <filename
462           class="directory">/var</filename> dataset, preventing the
463         contents of directories within <filename
464           class="directory">/var</filename> from conflicting when
465         using multiple boot environments, such as that provided by
466         <filename role="package">sysutils/beadm</filename>.</para>
467
468       <para revision="274394">The &man.bsdconfig.8; utility has been
469         updated to skip the initial &man.tzsetup.8;
470         <acronym>UTC</acronym> versus wall-clock time prompt when run
471         in a virtual machine, determined when the
472         <literal>kern.vm_guest</literal> &man.sysctl.8; is set to
473         <literal>1</literal>.</para>
474
475       <para revision="275874">The &man.bsdinstall.8; utility has been
476         updated to use the new &man.dpv.3; library to display progress
477         when extracting the &os; distributions.</para>
478     </sect2>
479
480     <sect2 xml:id="userland-rc">
481       <title><filename class="directory">/etc/rc.d</filename>
482         Scripts</title>
483
484       <para revision="270676">The &man.rc.8; subsystem has been
485         updated to allow configuring services in <filename
486           class="directory">&dollar;{LOCALBASE}/etc/rc.conf.d/</filename>.
487         If <literal>LOCALBASE</literal> is unset, it defaults to
488         <filename class="directory">/usr/local</filename>.</para>
489
490       <para revision="275299">The <filename>mrouted</filename>
491         &man.rc.8; script has been removed from the base system.  An
492         equivalent script is available from the <filename
493           role="package">net/mrouted</filename> port.</para>
494
495       <para revision="279463" contrib="sponsor"
496         sponsor="&sandvine;">A new &man.rc.8; script,
497         <filename>iovctl</filename>, has been added, which allows
498         automatically starting the &man.iovctl.8; utility at
499         boot.</para>
500     </sect2>
501
502     <sect2 xml:id="userland-periodic">
503       <title><filename class="directory">/etc/periodic</filename>
504         Scripts</title>
505
506       <para revision="271321">The daily &man.periodic.8; script
507         <filename>110.clean-tmps</filename> has been updated to avoid
508         crossing filesystem mount boundaries when cleaning files in
509         <filename class="directory">/tmp</filename>.</para>
510     </sect2>
511
512     <sect2 xml:id="userland-libraries">
513       <title>Runtime Libraries and API</title>
514
515       <para revision="268461">The &man.readline.3; library is now
516         statically linked in software within the base system, and the
517         shared library is no longer installed, allowing the Ports
518         Collection to use a modern version of the library.</para>
519
520       <para revision="272273">The &man.strptime.3; library has been
521         updated to add support for <acronym>POSIX</acronym>-2001
522         features <literal>%U</literal> and
523         <literal>%W</literal>.</para>
524
525       <para revision="272842,272848" contrib="sponsor"
526         sponsor="&ff;">The &man.dl.iterate.phdr.3; library has been
527         changed to always return the path name of the
528         <acronym>ELF</acronym> object in the
529         <literal>dlpi_name</literal> structure member.</para>
530
531       <para revision="273562" contrib="sponsor"
532         sponsor="&juniper;">The &man.libxo.3; library has been
533         imported to the base system.</para>
534
535       <para revision="273806" contrib="sponsor" sponsor="&chelsio;">A
536         userland library for Chelsio Terminator 5 based iWARP cards
537         has been added, allowing userland <acronym>RDMA</acronym>
538         applications to work over compatible
539         <acronym>NIC</acronym>s.</para>
540
541       <para revision="274987">The &man.gpio.3; library has been added,
542         providing a wrapper around the &man.gpio.4; kernel
543         interface.</para>
544
545       <para revision="277610">The <literal>futimens()</literal> and
546         <literal>utimensat()</literal> system calls have been
547         added.  See &man.utimensat.2; for more information.</para>
548
549       <para revision="278934">The &man.elf.3; compile-time dependency
550         has been removed from <filename>dtri.o</filename>, which
551         allows adding <application>DTrace</application> probes to
552         userland applications and libraries without also linking
553         against &man.elf.3;.</para>
554
555       <para revision="279186">The &man.setmode.3; function has been
556         updated to consistently set <literal>errno</literal> on
557         failure.</para>
558
559       <para revision="279663">The &man.qsort.3; functions have been
560         updated to be able to handle 32-bit aligned data on 64-bit
561         platforms, also providing a significant improvement in 32-bit
562         workloads.</para>
563
564       <para revision="281130">Several standard include headers have
565         been updated to use of <application>gcc</application>
566         attributes, such as <literal>__result_use_check()</literal>,
567         <literal>__alloc_size()</literal>, and
568         <literal>__nonnull()</literal>.</para>
569
570       <para revision="281845">Support for file verification in
571         <acronym>MAC</acronym> has been added.</para>
572     </sect2>
573
574     <sect2 xml:id="userland-abi">
575       <title>ABI Compatibility</title>
576
577       <para revision="271982">The &linux; compatibility version has
578         been updated to <literal>2.6.18</literal>.  The
579         <literal>compat.linux.osrelease</literal> &man.sysctl.8; is
580         evaluated when building the <filename
581           role="package">emulators/linux-c6</filename> and related
582         ports.</para>
583     </sect2>
584   </sect1>
585
586   <sect1 xml:id="kernel">
587     <title>Kernel</title>
588
589     <para>This section covers changes to kernel configurations, system
590       tuning, and system control parameters that are not otherwise
591       categorized.</para>
592
593     <sect2 xml:id="kernel-bugfix">
594       <title>Kernel Bug Fixes</title>
595
596       <para revision="265876">A kernel bug that inhibited proper
597         functionality of the <literal>dev.cpu.0.freq</literal>
598         &man.sysctl.8; on &intel; processors with Turbo
599         Boost&nbsp;&trade; enabled has been fixed.</para>
600
601       <para revision="271697" arch="powerpc">Support for
602         &man.dtrace.1; stack tracing has been fixed for
603         &os;/&arch.powerpc;, using the <literal>trapexit()</literal>
604         and <literal>asttrapexit()</literal> functions instead of
605         checking within addressed kernel space.</para>
606
607       <para revision="272089">A bug in &man.ipfw.4; that could
608         potentially lead to a kernel panic when using &man.dummynet.4;
609         at layer 2 has been fixed.</para>
610
611       <para revision="280930" contrib="sponsor" sponsor="&mitail;">The
612         kernel <acronym>RPC</acronym> has been updated to include
613         several enhancements:</para>
614
615       <itemizedlist>
616         <listitem>
617           <para>The 45 MiB limit on requests queued for
618             &man.nfsd.8; threads has been removed.</para>
619         </listitem>
620
621         <listitem>
622           <para>Avoids unnecessary throttling by not deferring
623             accounting for completed requests.</para>
624         </listitem>
625
626         <listitem>
627           <para>Fixes an integer overflow and signedness bugs.</para>
628         </listitem>
629       </itemizedlist>
630
631       <para revision="281261" arch="powerpc">Support for
632         &man.dtrace.1; has been added for the
633         Book-E&nbsp;&trade;.</para>
634     </sect2>
635
636     <sect2 xml:id="kernel-config">
637       <title>Kernel Configuration</title>
638
639       <para revision="266531">The <literal>IMAGACT_BINMISC</literal>
640         kernel configuration option has been enabled by default,
641         which enables application execution through emulators, such
642         as <application>Qemu</application>.</para>
643
644       <para revision="268045">The <literal>VT</literal> kernel
645         configuration file has been removed, and the &man.vt.4;
646         driver is included in the <literal>GENERIC</literal> kernel.
647         To enable &man.vt.4;, enter <literal>set kern.vty=vt</literal>
648         at the &man.loader.8; prompt during boot, or add
649         <literal>kern.vty=vt</literal> to &man.loader.conf.5; and
650         reboot the system.</para>
651
652       <para revision="277904">The &man.config.8; utility has been
653         updated to allow using a non-standard <filename
654           class="directory">src/</filename> tree, specified as an
655         argument to the <literal>-s</literal> flag.</para>
656
657       <para revision="277990" arch="powerpc64">The
658         &os;/&arch.powerpc64; kernel now builds as
659         a position-independent executable, allowing the kernel to be
660         loaded into and run from any physical or virtual
661         address.</para>
662
663       <important>
664         <para>This change requires an update to &man.loader.8;.
665           The userland and kernel must be updated before rebooting the
666           system.</para>
667       </important>
668
669       <para revision="279189" contrib="sponsor" sponsor="&ff;"
670         arch="powerpc">Kernel support for Vector-Scalar eXtension
671         (<acronym>VSX</acronym>) found on POWER7 and POWER8 hardware
672         has been added.</para>
673
674       <para revision="279252" contrib="sponsor" sponsor="&ff;"
675         arch="powerpc">The &man.pmap.9; implementation for 64-bit
676         &powerpc; processors has been overhaulded to improve
677         concurrency.</para>
678     </sect2>
679
680     <sect2 xml:id="kernel-sysctl">
681       <title>System Tuning and Controls</title>
682
683       <para revision="275140" contrib="sponsor" sponsor="&ff;">The
684         &man.hwpmc.4; default and maximum callchain depths have been
685         increased.  The default has been increased from 16 to 32, and
686         the maximum increased from 32 to 128.</para>
687
688       <para revision="279361">The <literal>kern.osrelease</literal>
689         and <literal>kern.osreldate</literal> are now configurable
690         &man.jail.8; parameters.</para>
691
692       <para revision="280308,280949" contrib="sponsor"
693         sponsor="&ix;, &ff;">The &man.devfs.5; device filesystem has
694         been changed to update timestamps for read/write operations
695         using seconds precision.  A new &man.sysctl.8;,
696         <literal>vfs.devfs.dotimes</literal> has been added, which
697         when set to a non-zero value, enables default precision
698         timestamps for these operations.</para>
699
700       <para revision="282213" contrib="sponsor" sponsor="&ff;">A new
701         &man.sysctl.8;, <literal>kern.racct.enable</literal>, has been
702         added, which when set to a non-zero value allows using
703         &man.rctl.8; with the <literal>GENERIC</literal> kernel.
704         A new kernel configuration option,
705         <literal>RACCT_DISABLED</literal> has also been added.</para>
706     </sect2>
707   </sect1>
708
709   <sect1 xml:id="drivers">
710     <title>Devices and Drivers</title>
711
712     <para>This section covers changes and additions to devices and
713       device drivers since &release.prev;.</para>
714
715     <sect2 xml:id="drivers-device">
716       <title>Device Drivers</title>
717
718       <para revision="260903">Support for GPS ports has been added to
719         &man.uhso.4;.</para>
720
721       <para revision="265132">The &man.full.4; device has been added,
722         and the <literal>lindev(4)</literal> device has been removed.
723         Prior to this change, <literal>lindev(4)</literal> provided
724         only the <filename>/dev/full</filename> character device,
725         returning <literal>ENOSPC</literal> on write attempts.  As
726         this device is not specific to &linux;, a native &os; version
727         has been added.</para>
728
729       <para revision="271705">Hardware context support has been
730         added to the <literal>drm/i915</literal> driver, adding
731         support for <application>Mesa</application> 9.2 and
732         later.</para>
733
734       <para revision="273178">The &man.vt.4; driver has been updated,
735         replacing the bitmapped <literal>kern.vt.spclkeys</literal>
736         &man.sysctl.8; with individual
737         <literal>kern.vt.kbd_*</literal> variants.</para>
738
739       <para revision="273598">The &man.hpet.4; driver has been updated
740         to create a
741         <filename>/dev/hpet<replaceable>N</replaceable></filename>
742         device, providing access to <acronym>HPET</acronym> from
743         userspace.</para>
744
745       <para revision="280183">The <literal>drm</literal> code has
746         been updated to match &linux; version 3.8.13.</para>
747
748       <para revision="282783" arch="powerpc">Support for the Freescale
749         <acronym>PCI</acronym> Root Complex device has been
750         added.</para>
751     </sect2>
752
753     <sect2 xml:id="drivers-storage">
754       <title>Storage Drivers</title>
755
756       <para revision="265236" contrib="sponsor"
757         sponsor="&lsi;, &spectralogic;" sponsorurl="">The &man.mpr.4;
758         device has been added, providing support for LSI Fusion-MPT
759         3 12Gb SCSI/SATA controllers.</para>
760
761       <para revision="265555" contrib="sponsor"
762           sponsor="&lsi;">The &man.mrsas.4; driver has been added,
763         providing support for LSI MegaRAID SAS controllers.  The
764         &man.mfi.4; driver will attach to the controller, by default.
765         To enable &man.mrsas.4; add
766         <literal>hw.mfi.mrsas_enable=1</literal> to
767         <filename>/boot/loader.conf</filename>, which turns off
768         &man.mfi.4; device probing.</para>
769
770       <note>
771         <para>At this time, the &man.mfiutil.8; utility and the &os;
772           version of <application>MegaCLI</application> and
773           <application>StorCli</application> do not work with
774           &man.mrsas.4;.</para>
775       </note>
776
777       <para revision="275461" contrib="sponsor" sponsor="&ix;">The
778         &man.ctl.4; subsystem has been updated, increasing the ports
779         limit from <literal>128</literal> to <literal>256</literal>,
780         and <acronym>LUN</acronym> limit from <literal>256</literal>
781         to <literal>1024</literal>.</para>
782
783       <para revision="276526">The <literal>asr(4)</literal> driver has
784         been removed, and is no longer supported.</para>
785
786       <para revision="281387">The &man.hptnr.4; driver has been
787         updated to version 1.1.1.</para>
788     </sect2>
789
790     <sect2 xml:id="drivers-network">
791       <title>Network Drivers</title>
792
793       <para revision="258830">Support for Broadcom chipsets BCM57764,
794         BCM57767, BCM57782, BCM57786 and BCM57787 has been added to
795         &man.bge.4;.</para>
796
797       <para revision="260448">Support for the &intel; Centrino&trade;
798         Wireless-N 135 chipset has been added.</para>
799
800       <para revision="260552">Firmware for &intel; Centrino&trade;
801         Wireless-N 105 devices has been added to the base
802         system.</para>
803
804       <para revision="261975">The deprecated nve(4) driver has been
805         removed.  Users of NVIDIA nForce MCP network adapters are
806         advised to use the &man.nfe.4; driver instead, which has been
807         the default driver for this hardware since
808         &os;&nbsp;7.0.</para>
809
810       <para revision="264601" contrib="sponsor"
811         sponsor="&darpa_afrl;">The <literal>if_nf10bmac(4)</literal>
812         device has been added, providing support for NetFPGA-10G
813         Embedded CPU Ethernet Core.</para>
814
815       <note>
816         <para>The <literal>if_nf10bmac(4)</literal> driver operates on
817           the FPGA, and is not suited for the PCI host
818           interface.</para>
819       </note>
820
821       <para revision="265348" contrib="sponsor"
822         sponsor="&netgate;">The &man.ath.hal.4; driver has been
823         updated to support the Atheros AR1111 chipset.</para>
824
825       <para revision="266770">Support for the &intel; Centrino&trade;
826         Wireless-N 105 chipset has been added.</para>
827
828       <para revision="266757" contrib="sponsor"
829         sponsor="&chelsio;">Support for the &man.cxgbe.4; Terminator
830         5 (T5) 10G/40G cards has been added to &man.netmap.4;.</para>
831
832       <para revision="272730">The &man.alc.4; driver has been updated
833         to support AR816x and AR817x ethernet controllers.</para>
834
835       <para revision="273331">The &man.vxlan.4; driver has been added,
836         which creates a virtual Layer 2 (Ethernet) network overlaid in
837         a Layer 3 (IP/UDP) network.  The &man.vxlan.4; driver is
838         analogous to &man.vlan.4;, but is designed to be better suited
839         for large, multiple-tenant datacenter environments.</para>
840
841       <para revision="274246" contrib="sponsor" sponsor="&yandex;">The
842         &man.gre.4; driver has been significantly overhauled, and has
843         been split into two separate modules, &man.gre.4; and
844         &man.me.4;.</para>
845     </sect2>
846   </sect1>
847
848   <sect1 xml:id="hardware">
849     <title>Hardware Support</title>
850
851     <para>This section covers general hardware support for physical
852       machines, hypervisors, and virtualization environments, as well
853       as hardware changes and updates that do not otherwise fit in
854       other sections of this document.</para>
855
856     <sect2 xml:id="hardware-support">
857       <title>Hardware Support</title>
858
859       <para revision="268303">The &man.asmc.4; driver has been
860         updated to support the &apple;&nbsp;MacMini 3,1.</para>
861
862       <para revision="268351">Support for &os;/ia64 has been dropped
863         as of &os;&nbsp;11.</para>
864
865       <para revision="274386">An issue that could cause a system to
866         hang when entering <acronym>ACPI</acronym>
867         <literal>S3</literal> state (suspend to
868         <acronym>RAM</acronym>) has been corrected in the &man.acpi.4;
869         and &man.pci.4; drivers.</para>
870
871       <para revision="274733" arch="powerpc">The power management unit
872         subsystem has been updated to support power button events on
873         certain &arch.powerpc; hardware, such as aluminum
874         PowerBook&nbsp;&reg;.</para>
875
876       <para revision="275171,275190" arch="powerpc">The &man.hwpmc.4;
877         driver has been updated to correct performance counter
878         sampling on G4 (MPC74xxx) and G5 class processors.</para>
879
880       <para revision="281713" arch="powerpc">The &man.hwpmc.4;
881         driver has been updated to support the Freescale e500
882         core.</para>
883
884       <para revision="275732" contrib="sponsor"
885         sponsor="&ff;,&netgate;">The
886         <application>OpenCrypto</application> framework has been
887         updated to include <literal>AES-ICM</literal> and
888         <literal>AES-GCM</literal> modes, both of which have also been
889         added to the &man.aesni.4; driver.</para>
890     </sect2>
891
892     <sect2 xml:id="hardware-virtualization">
893       <title>Virtualization Support</title>
894
895       <para revision="260410">Support for the <quote>Virtual Interrupt
896           Delivery</quote> feature of &intel;&nbsp;VT-x is enabled if
897         supported by the CPU.  This feature can be disabled by running
898         <literal>sysctl hw.vmm.vmx.use_apic_vid=0</literal>.
899         Additionally, to persist this setting across reboots, add
900         <literal>hw.vmm.vmx.use_apic_vid=0</literal> to
901         <filename>/etc/sysctl.conf</filename>.</para>
902
903       <para revision="260532">Support for <quote>Posted Interrupt
904           Processing</quote> is enabled if supported by the CPU.  This
905         feature can be disabled by running <literal>sysctl
906           hw.vmm.vmx.use_apic_pir=0</literal>.  Additionally, to
907         persist this setting across reboots, add
908         <literal>hw.vmm.vmx.use_apic_pir=0</literal> to
909         <filename>/etc/sysctl.conf</filename>.</para>
910
911       <para revision="260582">Unmapped IO support has been added to
912         &man.virtio_blk.4;.</para>
913
914       <para revision="260583">Unmapped IO support has been added to
915         &man.virtio_scsi.4;.</para>
916
917       <para revision="260847">The &man.virtio_random.4; driver has
918         been added to harvest entropy from the host system.</para>
919
920       <para revision="261504">&os;/&arch.i386; guests can be run under
921         bhyve.</para>
922
923       <para revision="267536" contrib="sponsor"
924         sponsor="&citrix.rd;">Support for running a &os;/&arch.amd64;
925         <application>Xen</application> guest instance as
926         <acronym>PVH</acronym> guest has been added.
927         <acronym>PVH</acronym> mode, short for <quote>Para-Virtualized
928           Hardware</quote>, uses para-virtualized drivers for boot and
929         I/O, and uses hardware virtualization extensions for all other
930         tasks, without the need for emulation.</para>
931
932       <para revision="273515">The &man.virtio.console.4; driver has
933         been added, which provides an interface to VirtIO console
934         devices through a &man.tty.4; device.</para>
935
936       <para revision="279957">The &man.bhyve.8; hypervisor has been
937         updated to support <literal>DSM TRIM</literal> commands for
938         virtual <acronym>AHCI</acronym> disks.</para>
939
940       <para revision="281439" arch="arm">Support for the
941         <application>QEMU</application> <literal>virt</literal> system
942         has been added.</para>
943
944       <para revision="282212" contrib="sponsor" sponsor="&msostc;">The
945         HyperV&trade; drivers have been updated with several
946         enhancements:</para>
947
948       <itemizedlist>
949         <listitem>
950           <para>The &man.hv.vmbus.4; driver now has multi-channel
951             support.</para>
952         </listitem>
953
954         <listitem>
955           <para>The &man.hv.storvsc.4; driver now has scatter/gather
956             support, in addition to performance improvements.</para>
957         </listitem>
958
959         <listitem>
960           <para>The &man.hv.kvp.4; driver has received several bug
961             fixes.</para>
962         </listitem>
963       </itemizedlist>
964
965       <para revision="282274">Support for &man.xen.4; para-virtualized
966         <literal>domU</literal> kernels has been removed.</para>
967     </sect2>
968
969     <sect2 xml:id="hardware-arm">
970       <title>ARM Support</title>
971
972       <para revision="260921">The &man.nand.4; device is enabled for
973         ARM devices by default.</para>
974
975       <para revision="273264" arch="armv6">An issue that could cause
976         instability when detecting <acronym>SD</acronym> cards on the
977         Raspberry Pi <acronym>SOC</acronym> has been fixed.</para>
978
979       <para revision="275963">The <literal>bcm2835_cpufreq</literal>
980         driver has been added, which supports <acronym>CPU</acronym>
981         frequency and voltage control on the Raspberry Pi
982         <acronym>SOC</acronym>.</para>
983
984       <para revision="280259" contrib="sponsor" sponsor="&ff;">Initial
985         support for the ARM AArch64 architecture has been
986         added.</para>
987
988       <para revision="282779" arch="arm">Kernel support for Thumb-2
989         has been added.</para>
990     </sect2>
991   </sect1>
992
993   <sect1 xml:id="storage">
994     <title>Storage</title>
995
996     <para>This section covers changes and additions to file systems
997       and other storage subsystems, both local and networked.</para>
998
999     <sect2 xml:id="storage-general">
1000       <title>General Storage</title>
1001
1002       <para revision="278037" contrib="sponsor" sponsor="&ix;">The
1003         &man.ctl.4; <acronym>LUN</acronym> mapping has been rewritten,
1004         replacing <acronym>iSCSI</acronym>-specific mapping mechanisms
1005         with a new mechanism that works for any port.</para>
1006
1007       <para revision="278354" contrib="sponsor" sponsor="&ix;">The
1008         &man.ctld.8; utility has been updated to allow controlling
1009         non-<acronym>iSCSI</acronym> &man.ctl.4; ports.</para>
1010     </sect2>
1011
1012     <sect2 xml:id="storage-net">
1013       <title>Networked Storage</title>
1014
1015       <para revision="270096" contrib="sponsor" sponsor="&ff;">The new
1016         filesystem automount facility, &man.autofs.5;, has been added.
1017         The new &man.autofs.5; facility is similar to that found in
1018         other &unix;-like operating systems, such as OS&nbsp;X&trade;
1019         and Solaris&trade;.  The &man.autofs.5; facility uses
1020         a &sun;-compatible &man.auto.master.5; configuration file, and
1021         is administered with the &man.automount.8; userland utility,
1022         and the &man.automountd.8; and &man.autounmountd.8;
1023         daemons.</para>
1024     </sect2>
1025
1026     <sect2 xml:id="storage-zfs">
1027       <title>ZFS</title>
1028
1029       <para revision="275748">The <literal>arc_meta_limit</literal>
1030         statistics are now visible through the
1031         <literal>kstat</literal> &man.sysctl.8;.  As a result of this
1032         change, the <literal>vfs.zfs.arc_meta_used</literal>
1033         &man.sysctl.8; has been removed, and replaced with the
1034         <literal>kstat.zfs.misc.arcstats.arc_meta_used</literal>
1035         &man.sysctl.8;.</para>
1036     </sect2>
1037
1038     <sect2 xml:id="storage-geom">
1039       <title>&man.geom.4;</title>
1040
1041       <para revision="267359">Support for the
1042         <literal>disklabel64</literal> partitioning scheme has been
1043         added to &man.gpart.8;.</para>
1044     </sect2>
1045   </sect1>
1046
1047   <sect1 xml:id="boot">
1048     <title>Boot Loader Changes</title>
1049
1050     <para>This section covers the boot loader, boot menu, and other
1051       boot-related changes.</para>
1052
1053     <sect2 xml:id="boot-loader">
1054       <title>Boot Loader Changes</title>
1055
1056       <para revision="274085">The &man.vt.4; driver has been made the
1057         default system console driver.  The &man.syscons.4; driver is
1058         still available, and can be enabled by adding
1059         <literal>kern.vty=sc</literal> in &man.loader.conf.5;.
1060         Alternatively, &man.syscons.4; can be enabled at boot time by
1061         entering <literal>set kern.vty=sc</literal> at the
1062         &man.loader.8; prompt.</para>
1063
1064       <para revision="281616">The boot loader has been updated to
1065         support entering the <acronym>GELI</acronym> passphrase before
1066         loading the kernel.  To enable this behavior, add
1067         <literal>geom_eli_passphrase_prompt="YES"</literal> to
1068         &man.loader.conf.5;.</para>
1069     </sect2>
1070
1071     <sect2 xml:id="boot-menu">
1072       <title>Boot Menu Changes</title>
1073
1074       <para>&nbsp;</para>
1075     </sect2>
1076   </sect1>
1077
1078   <sect1 xml:id="network">
1079     <title>Networking</title>
1080
1081     <para>This section describes changes that affect networking in
1082       &os;.</para>
1083
1084     <sect2 xml:id="network-protocols">
1085       <title>Network Procols</title>
1086
1087       <para revision="263140">Support for the IPX network transport
1088         protocol has been removed, and will not be supported in
1089         &os;&nbsp;11 and later releases.</para>
1090
1091       <para revision="272720" contrib="sponsor"
1092         sponsor="&limelight;">Support for <acronym>PLPMTUD</acronym>
1093         blackhole detection (<acronym>RFC</acronym> 4821) has been
1094         added to the &man.tcp.4; stack, disabled by default.  New
1095         control tunables have been added:</para>
1096
1097       <informaltable frame="none" pgwide="0">
1098         <tgroup cols="2">
1099           <colspec colwidth="1*"/>
1100           <colspec colwidth="1*"/>
1101           <thead>
1102             <row>
1103               <entry>Tunable</entry>
1104               <entry>Description</entry>
1105             </row>
1106           </thead>
1107
1108           <tbody>
1109             <row>
1110               <entry><literal>net.inet.tcp.pmtud_blackhole_detection</literal></entry>
1111               <entry>Enables or disables <acronym>PLPMTUD</acronym>
1112                 blackhole detection</entry>
1113             </row>
1114
1115             <row>
1116               <entry><literal>net.inet.tcp.pmtud_blackhole_mss</literal></entry>
1117               <entry><acronym>MSS</acronym> to try for IPv4</entry>
1118             </row>
1119
1120             <row>
1121               <entry><literal>net.inet.tcp.v6pmtud_blackhole_mss</literal></entry>
1122               <entry><acronym>MSS to try for IPv6</acronym></entry>
1123             </row>
1124           </tbody>
1125         </tgroup>
1126       </informaltable>
1127
1128       <para>New monitoring &man.sysctl.8;s haven been added:</para>
1129
1130       <informaltable frame="none" pgwide="0">
1131         <tgroup cols="2">
1132           <colspec colwidth="1*"/>
1133           <colspec colwidth="1*"/>
1134           <thead>
1135             <row>
1136               <entry>Tunable</entry>
1137               <entry>Description</entry>
1138             </row>
1139           </thead>
1140
1141           <tbody>
1142             <row>
1143               <entry><literal>net.inet.tcp.pmtud_blackhole_activated</literal></entry>
1144               <entry>Number of times the code was activated to attempt
1145                 downshifting the <acronym>MSS</acronym></entry>
1146             </row>
1147
1148             <row>
1149               <entry><literal>net.inet.tcp.pmtud_blackhole_min_activated</literal></entry>
1150               <entry>Number of times the blackhole
1151                 <acronym>MSS</acronym> was used in an attempt to
1152                 downshift</entry>
1153             </row>
1154
1155             <row>
1156               <entry><literal>net.inet.tcp.pmtud_blackhole_failed</literal></entry>
1157               <entry>Number of times that the blackhole failed to
1158                 connect after downshifting the
1159                 <acronym>MSS</acronym></entry>
1160             </row>
1161           </tbody>
1162         </tgroup>
1163       </informaltable>
1164
1165       <para revision="280971" contrib="sponsor"
1166         sponsor="&netflix;, &nginx;">Support for <acronym>IP</acronym>
1167         identification for atomic datagrams (<acronym>RFC</acronym>
1168         6864) has been added.  Support for this feature can be toggled
1169         with the <literal>net.inet.ip.rfc6864</literal>
1170         &man.sysctl.8;, which is enabled by default.</para>
1171     </sect2>
1172   </sect1>
1173
1174   <sect1 xml:id="ports">
1175     <title>Ports Collection and Package Infrastructure</title>
1176
1177     <para>This section covers changes to the &os;&nbsp;Ports
1178       Collection, package infrastructure, and package maintenance and
1179       installation tools.</para>
1180
1181     <sect2 xml:id="ports-infrastructure">
1182       <title>Infrastructure Changes</title>
1183
1184       <para>&nbsp;</para>
1185     </sect2>
1186
1187     <sect2 xml:id="ports-packages ">
1188       <title>Packaging Changes</title>
1189
1190       <para>&nbsp;</para>
1191     </sect2>
1192   </sect1>
1193
1194   <sect1 xml:id="doc">
1195     <title>Documentation</title>
1196
1197     <para>This section covers changes to the &os;&nbsp;Documentation
1198       Project sources and toolchain.</para>
1199
1200     <sect2 xml:id="doc-sources">
1201       <title>Documentation Source Changes</title>
1202
1203       <para>&nbsp;</para>
1204     </sect2>
1205
1206     <sect2 xml:id="doc-toolchain">
1207       <title>Documentation Toolchain Changes</title>
1208
1209       <para>&nbsp;</para>
1210     </sect2>
1211   </sect1>
1212
1213   <sect1 xml:id="releng">
1214     <title>Release Engineering and Integration</title>
1215
1216     <para>This section convers changes that are specific to the
1217       &os;&nbsp;Release Engineering processes.</para>
1218
1219     <sect2 xml:id="releng-changes">
1220       <title>Integration Changes</title>
1221
1222       <para revision="277458" contrib="sponsor" sponsor="&ff;">The
1223         Release Engineering build tools have been updated to include
1224         support for producing virtual machine disk images for various
1225         cloud hosting providers.</para>
1226
1227       <para revision="278926">The Release Engineering build tools have
1228         been updated to use multi-threaded &man.xz.1;.  By default,
1229         the number of &man.xz.1; threads is set to the number of cores
1230         available.</para>
1231
1232       <para revision="281802" contrib="sponsor" sponsor="&ff;">The
1233         Release Engineering build tools have been updated to include
1234         support for building &os;/&arch.arm64; virtual machine and
1235         memory stick installation images.</para>
1236     </sect2>
1237   </sect1>
1238 </article>