Update some release version numbers. The patch is based on the one
from the PR, but the version numbers reflect the newer ones from
http://security.freebsd.org/#sup
Fix an error in the EXAMPLES section of getopt(1), which is based on
the same fix present in NetBSD.
Note: the getopt man page contains more antique information like this.
An overhaul of the man page and/or sync with NetBSD would be the right
thing to do. But since this is out of the scope of the PR, I'll leave
it as it is for now.
PR: docs/133118
Submitted by: Oleg A. Mamontov (oleg at mamontov dot net)
Discussed with: jilles@
Add relnotes item for 8.1R (first round):
ddb(4) show mount improved,
fcntl(2) F_READAHEAD and F_RDAHEAD added,
lindev(4) added,
more dtrace probes,
SMP support in PowerPC G5,
ULE %CPU fix,
VIMAGE + SCTP build fix,
vfs.root.mountfrom space-separated list support added,
loader(8) memory range selection improved,
zfsloader added,
zfsboot and gptboot added,
adb(4) supports taps on ADB touchpad,
apt(4) added,
uart(4) NetMos NM9865 support added,
bge(4) 5761, 5784, 57780 support added,
cxgb(4) updated to T3 firmware 7.8.0,
msk(4) 88E8042, 88E8057 and DGE-560SX support added,
re(4) unnecessary reinitialization eliminated,
tsec(4) now supports ALTQ,
urtw(4) now supports RTL8187B,
net.inet.ipcomp.ipcomp_enable=1 by default,
IPV6_V6ONLY by default for IPv6 sockets in Linux emulation,
gmirror(8) priority change support,
gmirror(8) "load" balancing algorithm improved and now used as default,
"option ATA_CAM" added,
ata(4) fix for interrupt storms/command timeouts added,
ata(4) umass support removed,
ahd(4) error counter improved,
cam(3) SATA/PATA support improved,
bsnmpd(1) high CPU load issue fixed,
bzip2(1) multi-session bzip2 file handling fixed,
ee(1) crach fixed,
factor(6) performance issue fixed,
fetch(1) NO_PROXY handling fixed,
ifconfig(8) now supports NDP flag handling,
ntpd(8) no longer attempts to bind IPv6 anycast addresses,
unifdef(1) updated to 1.188,
ENOTCAPABLE new errno,
rc.d/static_arp added, and
ISC BIND 9.6.1-P2.
MFC r209388:
Remove G_TYPE_ASCLBA type and replace it with G_TYPE_STRING in gpart.
Move code that converts params from humanized numbers to sectors count
to subr.c and adjust comment.
Add post-processing for "size" and "start offset" params in gpart,
now they are properly converted to sectors count with known sector size
that can be greater that 512 bytes.
Also replace "unsigned long long" type to "off_t" for unify code since
it used for medium size in libgeom(3) and DIOCGMEDIASIZE ioctl.
PR: bin/146277
MFC r209392:
Check for overflow before it occurs. Also add check for
negative numbers.
- Move i386-inherited logic of building ACPI headers for acpi_wakeup.c into
better places and remove intermediate makefile and shell scripts. This
makes parallel kernel build little bit safer for amd64.
- Make SMP code path in acpi.c conditional at run-time.
- Define SMP unconditionally for amd64 and remove opt_global.h from SRCS in
sys/modules/acpi/acpi/Makefile. Note it is done just for correctness sake
because we do not build, ship, or support acpi.ko on amd64.
- According to ACPICA User Guide and Programmer Reference, the read data
must be zero extended to fill the 32-bit or 64-bit return value even if
the bit width of the port or location is less than 32 or 64.
- Use pmap_mapdev()/pmap_unmapdev() to map device memory instead of using
AcpiOsMapMemory()/AcpiOsUnmapMemory() (-> pmap_mapbios()/pmap_unmapbios())
for AcpiOsReadMemory() and AcpiOsWriteMemory(). Although they do not sound
too obvious, these functions are exclusively used to access memory mapped
IO in ACPICA.
- Remove 64-bit access from AcpiOsReadMemory() and AcpiOsWriteMemory().
These functions do not support 64-bit access. Likewise, return error when
64-bit access is requested for PCI configuration space.
- Simplify AcpiOsReadPort() and AcpiOsWritePort() with iodev_read_*() and
iodev_write_*(). This removes unnecessary uses of temporary macros as well.
There is no functional change after this (verified with md5(1) on amd64).
Sync. printf() of libstand(3) with sys/kern/subr_prf.c.
CVS r1.94 jhb:
Cast the integer read as the first argument for %b to an unsigned integer
so it's value is not sign extended when assigned to the uintmax_t variable
used internally by printf. For example, if bit 31 is set in the cpuid
feature word, then %b would print out the initial value as a 16 character
hexadecimal value. Now it only prints out an 8 character value.
CVS r1.109 njl:
Add support for 'h' and 'hh' modifiers for printf(9).
CVS r1.117 phk:
If we ignore an unknown % sequence, we must stop interpreting the remaining
% arguments because the varargs are now out of sync and there is a risk that
we might for instance dereference an integer in a %s argument.
SVN r209836 jkim:
Implement optional 'precision' for numbers. Previously, it was parsed but
ignored. Some third-party modules (e.g., ACPICA) prefer this format over
zero padding flag '0'.
Implement optional 'precision' for numbers. Previously, it was parsed but
ignored. Some third-party modules (e.g., ACPICA) prefer this format over
zero padding flag '0'.
- Suspend screen updates when the video controller is powered down.
- Let the first device suspend and the last device resume syscons(4).
- Do not attempt to switch to the same VTs between suspend and resume.
- When we are not switching VTs, just mark all buffer to be updated.
- Fix some style(9) nits.
Fix a panic brought about by writing an MSR without a proper mask.
All of the necessary wrmsr calls are now preceded by a rdmsr
and we leave the reserved bits alone.
Document the bits in the relevant registers for future reference.
Mention the radiolist option in the man page. It is being listed when
dialog(1) is run without arguments and works as expected. Therefore,
it should be part of the manual as well.
Note: dialog(1) has not been updated for many years and is not actively
maintained at the moment.
MFC r203691:
- Update documentation for the iwn and iwnfw drivers: they support the
1000, 5150, 6000 and 6050 devices too, with firmware modules for the
- 4965, 1000, 5000, 5150 and 6000.
- Add documentation for mwl and all the wireless firmware drivers.
MFC r210168:
Make legacy ATA emulation detection more strict. This should fix false
positive legacy detection and attach failure/panic for Marvell 88SX6141
controller and potentially some others.
Don't import parameter values in jail_getv, except for the search key.
Remove the internal jailparam_vlist, in favor of using variants of its
logic separately in jail_setv and jail_getv.
Free the temporary parameter list and exported values in jail_setv
and jail_getv.
MFC r209932:
For xsi_sigpause(3), remove the supplied signal from the process mask
during sigpause(2) call. It was backward.
Check that the signal number is valid.
MFC r209955:
When switching the thread from the processor, store %dr7 content
into the pcb before disabling watchpoints. Otherwise, when the
thread is restored on a processor, watchpoints are still disabled.
mm [Sun, 18 Jul 2010 07:59:55 +0000 (07:59 +0000)]
MFC r209275:
Import latest ARC change from OpenSolaris:
- large ghost eviction causes high write latency
- arc_adjust might adjust MRU unnecessarily
- arc_adapt can lead to wild arc_p adjustment
MFC r209664:
Add ata(4) ability to limit initial ATA mode for devices via device hints.
After boot this mode can be changed with atacontrol/camcontrol as usual.
It works for both legacy and ATA_CAM wrapper mode.
MFC r209744:
ATA device reset starts probe sequence from the beginning. If reset caused
by timeout/error of one of probe commands, process may continue infinitely.
Make CAM ATA more robust to faulty devices and false positive detections,
abort probe after two restarts on timeouts or ten on other errors.
MFC r209883, r209944:
Make interrupt handler check that CAM bus initialization completed before
touching it. It fixes possible panic during controller attach in ATA_CAM
mode.
While there, slightly improve attach errors handling.
MFC r209884:
If ata_sata_phy_reset() failed and ata_generic_reset() is not called, mark
channel as having no devices connected. This improves hot-unplug operation
on legacy-emulating SATA controllers.
MFC r209872:
Make hw.ata.ata_dma_check_80pin tunable affect not only device side, but
also controller side cable checks. Make respective sysctl writable.
Fix reading of empty fifolog files. When we don't have anything
to inflate, skip the rest of the fifolog reader code to avoid
hitting the assert about Z_OK a bit further down.
Predict the date we'll be ready to announce 8.1-RELEASE. While here
add the entry for 8.0-RELEASE which was added to releng/8.0/UPDATING
during the 8.0-RELEASE cycle but not to stable/8/UPDATING at that time.
MFC r209664:
Add ata(4) ability to limit initial ATA mode for devices via device hints.
After boot this mode can be changed with atacontrol/camcontrol as usual.
It works for both legacy and ATA_CAM wrapper mode.
Enhance config to handle MACHINEs with multiple architectures:
- Passing -m to config will now print the MACHINE and MACHINE_ARCH
given in the passed kernel configuration file and then exit.
- If an option is defined in options.MACHINE with the same name as the
architecture of the kernel being configured, that option will be
considered set. This allows conditional compilation based on CPU
architecture.
o make cmd scoped to the whole do_rules function, since it really is
scoped to the whole fucnion. Making it static was the wrong way to
fix referencing it outside of the block in which it was declared
(and conforms to the style of the rest of the file).
o remove a couple of meaningless blank lines
o properly wrap one line.
Partially MFC 209592:
Add a tdksignal() routine that mirrors pksignal() except that it accepts a
thread instead of a process. As an extension, if a NULL ksiginfo_t is
passed in, setup a ksiginfo_t on the stack similar to psignal(). This
provides semantics matching the new tdsignal() function in 9 while
preserving the existing ABI.
MFC 208507,208556,208621:
Add support for corrected machine check interrupts. CMCI is a new local
APIC interrupt that fires when a threshold of corrected machine check
events is reached. CMCI also includes a count of events when reporting
corrected errors in the bank's status register. Note that individual
banks may or may not support CMCI. If they do, each bank includes its own
threshold register that determines when the interrupt fires. Currently
the code uses a very simple strategy where it doubles the threshold on
each interrupt until it succeeds in throttling the interrupt to occur
only once a minute (this interval can be tuned via sysctl). The threshold
is also adjusted on each hourly poll which will lower the threshold once
events stop occurring.
MFC 208787:
Assert that the thread lock is held in sched_pctcpu() instead of
recursively acquiring it. All of the current callers already hold the
lock.
MFC 209588:
- The ETIMEDOUT error applies to pthread_timedjoin_np(), not pthread_join().
- Tweak wording in history section for pthread_timedjoin_np().
ed [Tue, 13 Jul 2010 11:04:46 +0000 (11:04 +0000)]
MFC r209718:
Fix a race condition, where a TTY could be destroyed twice.
There are special cases where tty_rel_free() can be called twice in a
row, namely when closing and revoking the TTY at the same moment. Only
call destroy_dev_sched_cb() once.
MFC r209577, r209761:
- Fix a lock leak in case the ticks wrapped up
- Simplify the logic for handling ticks wrap-ups
- Fix a bug where a thread may be in sleepign state but not on a
sleepqueue chain still.
MFC r209214:
When Emulate3Button is active, do not set select() timeout in states when
it is not needed. No need to kick CPU every 20ms without a purpose.
MFC r209328,r209330:
While we indeed can't precisely measure time spent in C1, we can consider
measured interval as upper bound. It should be more precise then just
assuming 1/(2*hz). For idle CPU it should be quite precise, for busy - not
worse then before.
MFC r208946:
New netgraph node ng_patch(4). It performs data modification of packets
passing through. Modifications are restricted to a subset of C language
operations on unsigned integers of 8, 16, 32 or 64 bit size.
These are: set to new value (=), addition (+=), subtraction (-=),
multiplication (*=), division (/=), negation (= -), bitwise AND (&=),
bitwise OR (|=), bitwise eXclusive OR (^=), shift left (<<=),
shift right (>>=). Several operations are all applied to a packet
sequentially in order they were specified by user.
Submitted by: Maxim Ignatenko <gelraen.ua at gmail.com>
Vadim Goncharov <vadimnuclight at tpu.ru>
Discussed with: net@
MFC r208947:
Fix typo.
MFC r208989:
Style(9) fixes:
* Sort includes
* Replace #define<SPACE> to #define<TAB>
* Split declarations and initializations
* Split long lines
Requested by: kib
MFC r209194:
* Include sys/systm.h for KASSERT()
* Remove unneeded includes and comment
* Replace home made OFFSETOF() macro with standard offsetof()
MFC 208742:
MFamd64: Add a new macro PCPU_XEN_FIELDS to hold XEN-specific per-CPU
fields that is always included in PCPU_MD_FIELDS. The macro is empty for
non-XEN kernels. This avoids duplicating non-XEN per-CPU fields in two
places. While here, remove several unused fields from the XEN-specific
structure.
MFC r209598:
Initializes the ratectl for a node when the state is changed to RUN.
This prevents a kernel fault by dividing with zero because the initial
rate was 0 and didn't be initialized.
MFC r209597:
Fixes NULL pointer reference that it's occurred when the state is
changed to RUN because ic->ic_newassoc isn't set anywhere now. In the
previous bwi_newassoc() is used to initialize AMRR rate routines.
Merge 209589 from head:
After processing the O_SKIPTO opcode our cmd points to the next rule, and
"match" processing at the end of inner loop would look ahead into the next
rule, which is incorrect. Particularly, in the case when the next rule
started with F_NOT opcode it was skipped blindly.
To fix this, exit the inner loop with the continue operator forcibly and
explicitly.
- Add a utility macro to simplify calculating an aggregate sum from a DPCPU
counter variable.
- Rename the internal for loop iterator to "_i" to avoid potential shadowing of
external variables named "i". The "_" prefix is reserved for infrastructure
type code and is therefore not expected to be used by normal code likely to
call DPCPU_SUM(). [1]
- Change DPCPU_SUM to return the sum rather than calculate and assign it
internally. Usage is now: "sum = DPCPU_SUM(dpcpu_var, member_to_sum);" [2]
- Fix some style nits. [3]
Sponsored by: FreeBSD Foundation
Suggested by: bde [3], mdf [1], kib [1,2], pjd [1,3]
Reviewed by: jhb, rpaulo, rwatson (old version of r209119), kib (r209325)