jh [Sun, 21 Feb 2010 13:17:35 +0000 (13:17 +0000)]
MFC r203551:
- Cast intptr_t, pid_t and time_t values to intmax_t and use %jd with
printf.
- Cast the system call return value to long and use %ld in a printf in
ktrsysret().
alc [Sun, 21 Feb 2010 04:10:25 +0000 (04:10 +0000)]
MFC r203085
Optimize pmap_demote_pde() by using the new KPTmap to access a kernel
page table page instead of creating a temporary mapping to it.
Set the PG_G bit on the page table entries that implement the KPTmap.
Locore initializes the unused portions of the NKPT kernel page table
pages that it allocates to zero. So, pmap_bootstrap() needn't zero
the page table entries referenced by CMAP1 and CMAP3.
marcel [Sat, 20 Feb 2010 22:43:12 +0000 (22:43 +0000)]
MFC rev 203883:
o Eliminate IA64_PHYS_TO_RR6 by calling bus_space_map() or pmap_mapdev().
o Implement bus_space_map() in terms of pmap_mapdev().
o Have ia64_pib hold the uncached virtual address of the PIB.
mav [Fri, 19 Feb 2010 18:15:45 +0000 (18:15 +0000)]
MFC r200291, r203529:
Increase Max Read Request Size for PCIe chips from 512 to 1024 bytes.
It gives those beasts additional 10% of write bandwidth.
Use new helper functions to do it.
mav [Fri, 19 Feb 2010 17:54:03 +0000 (17:54 +0000)]
MFC r203873:
With FBS enabled, we have no idea what command caused timeout.
Implement same logic as in siis(4) - wait for other commands
complete or timeout and then give some more time.
rmacklem [Fri, 19 Feb 2010 16:36:08 +0000 (16:36 +0000)]
MFC: r203849
Change the default value for vfs.newnfs.enable_locallocks to 0 for
the experimental NFS server, since local locking is known to be
broken and the patch to fix it is still a work in progress.
rmacklem [Thu, 18 Feb 2010 16:23:13 +0000 (16:23 +0000)]
MFC: r203848
This fixes the experimental NFS server so that it won't crash in the
caching code for IPv6 by fixing a typo that used the incorrect variable.
It also fixes the indentation of the statement above it.
brucec [Thu, 18 Feb 2010 11:07:36 +0000 (11:07 +0000)]
MFC r203685:
Document the usfs driver and the NO_SYSCTL_DESCR option, and update the comment
for umass.
Don't include the sysctl description variables in aic7xxx when NO_SYSCTL_DESCR
is used.
kib [Wed, 17 Feb 2010 09:09:12 +0000 (09:09 +0000)]
MFC r203441:
Placate new binutils, by using 16-bit %ax instead of 32-bit %eax as an
argument for fnstsw. Explicitely specify sizes for the XMM control and
status word and X87 control and status words.
gavin [Tue, 16 Feb 2010 22:19:55 +0000 (22:19 +0000)]
Merge r202461 from head:
Implement an "-x" option to cp(1), for compatibility with Linux and
feature parity with du(1) and similar: When set, cp(1) will not traverse
mount points.
PR: bin/88056
Initial patch by: Graham J Lee leeg teaching.physics.ox.ac.uk
emax [Tue, 16 Feb 2010 19:00:47 +0000 (19:00 +0000)]
MFC: r203676
Introduce new rc.conf variable firewall_coscripts. It can be used to
specify list of executables and/or rc scripts that should be executed
after firewall starts/stops.
raj [Mon, 15 Feb 2010 15:00:40 +0000 (15:00 +0000)]
MFC r203637:
Improve checking whether an ARM VA has a valid mapping before performing cache
sync.
VIPT/PIPT caches need valid VA-PA mapping in PTE for a cache operation to
succeed (unlike VIVT). Prior to this fix pmap was using l2pte_valid() for that
check, but this is not sufficient as the function merely checks if a PTE
exists (there can be existing but _invalid_ entries in the table).
A new pmap_has_valid_mapping() routine is introduced to do this job right by
checking proper PTE flags.
Among other potential problems this cures coherency issues with L2 caches on
MV-78100.
Submitted by: Grzegorz Bernacki, Piotr Ziecik
Reviewed, tested by: marcel
Obtained from: Semihalf
mav [Sun, 14 Feb 2010 20:00:21 +0000 (20:00 +0000)]
MFC r203426:
Disable PHY of unconnected ports when interface power management enabled.
It allows to save a bit more power (about 0.5W on 2 unused ports of ICH8M).
mav [Sun, 14 Feb 2010 19:57:54 +0000 (19:57 +0000)]
MFC r203123:
Add FIS-based switching support. If controller supports FBS, it allows
several devices beyond Port Multiplier to work simultaneously, substantially
increasing performance.
mav [Sun, 14 Feb 2010 19:53:09 +0000 (19:53 +0000)]
MFC r203445:
Report to CAM unit number of underlying ataX bus device, instead of this
atapicamX. It is more apropriate and useful together with "ata" name.
mav [Sun, 14 Feb 2010 19:50:33 +0000 (19:50 +0000)]
MFC r203421:
Add Power Up In Stand-by feature support. Device with PUIS enabled
require explicit command to do initial spin-up. Mark that command
with CAM_HIGH_POWER flag, to allow CAM manage staggered spin-up.
mav [Sun, 14 Feb 2010 19:46:54 +0000 (19:46 +0000)]
MFC r203385:
- Use separate buffer for identify data fetching. We can't use main buffer
here if device already running, as data need to be formatted before use.
- Remove some saved_ccb variables. They are unused now.
mav [Sun, 14 Feb 2010 19:44:48 +0000 (19:44 +0000)]
MFC r203376, r203384:
- Give ATA/SATA SIMs info about ATAPI packet size, supported by device.
- Make ATA XPT to reject longer SCSI CDBs then supported by device, or
any SCSI CDBs, if device doesn't support ATAPI.
mav [Sun, 14 Feb 2010 19:38:27 +0000 (19:38 +0000)]
MFC r203108:
Large set of CAM improvements:
- Unify bus reset/probe sequence. Whenever bus attached at boot or later,
CAM will automatically reset and scan it. It allows to remove duplicate
code from many drivers.
- Any bus, attached before CAM completed it's boot-time initialization,
will equally join to the process, delaying boot if needed.
- New kern.cam.boot_delay loader tunable should help controllers that
are still unable to register their buses in time (such as slow USB/
PCCard/ CardBus devices), by adding one more event to wait on boot.
- To allow synchronization between different CAM levels, concept of
requests priorities was extended. Priorities now split between several
"run levels". Device can be freezed at specified level, allowing higher
priority requests to pass. For example, no payload requests allowed,
until PMP driver enable port. ATA XPT negotiate transfer parameters,
periph driver configure caching and so on.
- Frozen requests are no more counted by request allocation scheduler.
It fixes deadlocks, when frozen low priority payload requests occupying
slots, required by higher levels to manage theit execution.
- Two last changes were holding proper ATA reinitialization and error
recovery implementation. Now it is done: SATA controllers and Port
Multipliers now implement automatic hot-plug and should correctly
recover from timeouts and bus resets.
- Improve SCSI error recovery for devices on buses without automatic sense
reporting, such as ATAPI or USB. For example, it allows CAM to wait, while
CD drive loads disk, instead of immediately return error status.
- Decapitalize diagnostic messages and make them more readable and sensible.
- Teach PMP driver to limit maximum speed on fan-out ports.
- Make boot wait for PMP scan completes, and make rescan more reliable.
- Fix pass driver, to return CCB to user level in case of error.
- Increase number of retries in cd driver, as device may return several UAs.
mav [Sun, 14 Feb 2010 19:28:45 +0000 (19:28 +0000)]
MFC r203030:
Add support for SATA part of Marvell 88SE912x controllers to ahci(4).
Limit early revisions from 6Gb/s to 3Gb/s by default, or they negotiate
only 1.5Gb/s, when 3Gb/s devices connected.
Add dummy driver for PATA part of these controllers, preventing generic
driver attach them. It causes system freeze when SATA controller used after
PATA was touched.
mav [Sun, 14 Feb 2010 19:23:05 +0000 (19:23 +0000)]
MFC r202699:
Make ata_getrev() an optional method by implementing ata_null_getrev().
This fixes a bogus '???' boot message on Cambria boards with a CompactFlash
card.
mav [Sun, 14 Feb 2010 11:53:51 +0000 (11:53 +0000)]
MFC r202150, r202170:
Make OSS_GETVERSION ioctl really work. It has 'M' group, not 'P',
as different nearby ones, and was grabbed by MIXER_xxx() handler.
While there, replace '(cmd & MIXER_xxx(0)) == MIXER_xxx(0)' expressions
with more correct '(cmd & ~0xff) == MIXER_xxx(0)'. Use of bit operations
to compare numeric fields doesn't looks sane.
gavin [Sun, 14 Feb 2010 09:48:53 +0000 (09:48 +0000)]
Merge r203310,203547,203717 from head:
Implement the "-i" option to sysctl(8), to ignore failures while
retrieving individual OIDs. This allows the same list of OIDs to be
passed to sysctl(8) across different systems where particular OIDs may
not exist, and still get as much information as possible from them.
rmacklem [Sun, 14 Feb 2010 00:43:42 +0000 (00:43 +0000)]
MFC: r203303
Patch the experimental NFS client so that there is a timeout
for negative name cache entries in a manner analogous to
r202767 for the regular NFS client. Also, make the code in
nfs_lookup() compatible with that of the regular client
and replace the sysctl variable that enabled negative name
caching with the mount point option.
rmacklem [Thu, 11 Feb 2010 21:25:48 +0000 (21:25 +0000)]
MFC: r203119
Patch the experimental NFS client in a manner analogous to
r203072 for the regular NFS client. Also, delete two fields
of struct nfsmount that are not used by the FreeBSD port of
the client.
mjacob [Thu, 11 Feb 2010 18:34:06 +0000 (18:34 +0000)]
MFC a number of changes from head for ISP (203478,203463,203444,202418,201758,
201408,201325,200089,198822,197373,197372,197214,196162). Since one of those
changes was a semicolon cleanup from somebody else, this touches a lot more.
mckusick [Wed, 10 Feb 2010 20:35:20 +0000 (20:35 +0000)]
MFC of r201700 | mckusick | 2010-01-06
This corrects a bug that manifested itself as identifying the last
cylinder group of a UFS1 filesystem as bad. The error was in the check
and not in the cylinder group itself. So even though fsck fixed the
cylinder group correctly, it was still endlessly reported as bad.
This bug first appeared in 8.0 so does not apply to earlier releases.
rmacklem [Wed, 10 Feb 2010 16:16:50 +0000 (16:16 +0000)]
MFC: r203072
Fix a race that can occur when nfs nfsiod threads are being created.
Without this patch it was possible for a different thread that calls
nfs_asyncio() to snitch a newly created nfsiod thread that was
intended for another caller of nfs_asyncio(), because the nfs_iod_mtx
mutex was unlocked while the new nfsiod thread was created. This patch
labels the newly created nfsiod, so that it is not taken by another
caller of nfs_asyncio(). This is believed to fix the problem reported
on the freebsd-stable email list under the subject:
FreeBSD NFS client/Linux NFS server issue.
Tested by: to DOT my DOT trociny AT gmail DOT com
Reviewed by: jhb
zec [Wed, 10 Feb 2010 08:50:06 +0000 (08:50 +0000)]
MFC r203483:
Instead of spamming the console on each curvnet recursion event, print
out each such call graph only once, along with a stack backtrace. This
should make kernels built with VNET_DEBUG reasonably usable again in
busy / production environments.
Introduce a new DDB command "show vnetrcrs" which dumps the whole log
of distinctive curvnet recursion events. This might be useful when
recursion reports get burried / lost too deep in the message buffer.
In the later case stack backtraces are not available.
emaste [Tue, 9 Feb 2010 22:05:30 +0000 (22:05 +0000)]
MFC r198593:
Rename aac_fast_intr to aac_filter to reflect its current use. Eliminate
the fallback of using the filter as an interrupt handler, as it is no
longer needed.
qingli [Tue, 9 Feb 2010 19:27:54 +0000 (19:27 +0000)]
MFC r203401
Some of the existing ppp and vpn related scripts create and set
the IP addresses of the tunnel end points to the same value. In
these cases the loopback route is not installed for the local
end.
Remove non-working special case for pipe(2) from amd64-fbsd32.c and
i386-fbsd.c. Add pipe(2) to syscall table to decode it's pointer
argument properly and re-add special handling for pipe(2) return value
to print_syscall_ret().
Add fork(2), getegid(2), geteuid(2), getgid(2), getpid(2), getpgid(2),
getpgrp(2), getppid(2), getsid(2) and getuid(2) to syscall table to
decode their arguments correctly.
attilio [Mon, 8 Feb 2010 14:08:52 +0000 (14:08 +0000)]
MC r202889, r202940:
- Fix a race in sched_switch() of sched_4bsd.
Block the td_lock when acquiring explicitly sched_lock in order to prevent
races with other td_lock contenders.
- Merge the ULE's internal function thread_block_switch() into the global
thread_lock_block() and make the former semantic as the default for
thread_lock_block().
- Split out an invariant in order to have better checks.
gavin [Sun, 7 Feb 2010 21:04:26 +0000 (21:04 +0000)]
Merge r202115 from head:
Our standard "xterm" termcap entry supports colour, so this tip is redundant.
As it happens, "xterm-color" has just been an alias for "xterm" since
src/share/termcap/termcap.src 1.131 in September 2002.
dougb [Sun, 7 Feb 2010 20:28:24 +0000 (20:28 +0000)]
MFC 202961:
Upgrade to BIND 9.6.1-P3.
This version address the following vulnerabilities:
BIND 9 Cache Update from Additional Section
https://www.isc.org/advisories/CVE-2009-4022v6
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-4022
A nameserver with DNSSEC validation enabled may incorrectly add
unauthenticated records to its cache that are received during the
resolution of a recursive client query
BIND 9 DNSSEC validation code could cause bogus NXDOMAIN responses
https://www.isc.org/advisories/CVE-2010-0097
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0097
There was an error in the DNSSEC NSEC/NSEC3 validation code that could
cause bogus NXDOMAIN responses (that is, NXDOMAIN responses for records
proven by NSEC or NSEC3 to exist) to be cached as if they had validated
correctly
These issues only affect systems with DNSSEC validation enabled.
kib [Sun, 7 Feb 2010 11:37:38 +0000 (11:37 +0000)]
MFC r202882:
For i386, amd64 and ia32 on amd64 MD syscall(), reread syscall number
and arguments after ptracestop(), if debugger modified anything in the
process environment.
julian [Sun, 7 Feb 2010 09:00:22 +0000 (09:00 +0000)]
MFC of 197952 and 198075
Virtualize the pfil hooks so that different jails may chose different
packet filters. ALso allows ipfw to be enabled on on ejail and disabled
on another. In 8.0 it's a global setting.
and
Unbreak the VIMAGE build with IPSEC, broken with r197952 by
virtualizing the pfil hooks.
For consistency add the V_ to virtualize the pfil hooks in here as well.