delphij [Fri, 5 Feb 2010 18:17:17 +0000 (18:17 +0000)]
Fix a bug in previous revision.
The bc(1) program may need to deal with files when it's being run in
interactive mode, so we can not blindly use interactive mode (in turn
use libedit) but need to check if the input source is really the standard
input.
This commit should fix a regression where 'bc -l' would not parse the
mathlib.
neel [Fri, 5 Feb 2010 03:20:47 +0000 (03:20 +0000)]
Reimplement all functions to access the system control unit in C.
The only reason we need to have the sb_load64() and sb_store64()
functions in assembly is to cheat the compiler and generate the
'ld' and 'sd' instructions which it otherwise will not do when
compiling for a 32-bit architecture. There are some 64-bit
registers in the SCD unit that must be accessed using 64-bit
load and store instructions.
pjd [Thu, 4 Feb 2010 21:11:44 +0000 (21:11 +0000)]
Open provider for writting when we find the right one. Opening too much
providers for writing provokes huge traffic related to taste events send
by GEOM on close. This can lead to various problems with opening GEOM
providers that are created on top of other GEOM providers.
Reorted by: Kurt Touet <ktouet@gmail.com>, mr
Tested by: mr, Baginski Darren <kickbsd@ya.ru>
MFC after: 2 weeks
ume [Thu, 4 Feb 2010 15:17:49 +0000 (15:17 +0000)]
Introduce '[ipaddr]:path' notation.
Since the existing implementation searches ':' backward, a path which
includes ':' could not be mounted. You can now mount such path by
enclosing an IP address by '[]'.
Though we should change to search ':' forward, it will break
'ipv6addr:path' which is currently working. So, it still searches ':'
backward, at least for now.
zec [Thu, 4 Feb 2010 07:55:42 +0000 (07:55 +0000)]
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.
imp [Thu, 4 Feb 2010 07:26:26 +0000 (07:26 +0000)]
Since APM is a legacy technology, that won't be adapted to other
platforms, move the test for i386 from the Makefile to powerd.c. The
powerpc specific checks are already done this way...
neel [Thu, 4 Feb 2010 05:49:59 +0000 (05:49 +0000)]
Reinstate the ptrace patch to restore the 'gp' register after calling
a function. I made a mistake in assuming that the .cprestore directive
will cause the assembler to automatically restore 'gp' after the 'jalr'.
The .cprestore directive does its magic only after 'jal' and 'bal'
instructions - not the 'jalr'.
mjacob [Wed, 3 Feb 2010 21:09:32 +0000 (21:09 +0000)]
Redo how commands handles are created and managed and implement sequence
numbers and handle types in rational way. This will better protect from
(unwittingly) dealing with stale handles/commands.
Fix the watchdog timeout code to better protect itself from mistakes.
If we run an abort on a putatively timed out command, the command
may in fact get completed, so check to make sure the command we're
timing it out is still around. If the abort succeeds, btw, the command
should get returned via a different path.
kib [Wed, 3 Feb 2010 20:23:47 +0000 (20:23 +0000)]
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.
Reviewed by: das
Tested by: avg
MFC after: 2 weeks
ume [Wed, 3 Feb 2010 16:18:42 +0000 (16:18 +0000)]
Add rc.d script for the rtsold(8) daemon.
The rtsol(8) handles just one RA then exit. So, the OtherConfig flag
may not be handled well by rtsol(8) in the environment where there are
multiple RA servers on the segment. In such case, rtsold(8) will be
your friend.
mav [Wed, 3 Feb 2010 10:06:03 +0000 (10:06 +0000)]
MFp4:
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 [Wed, 3 Feb 2010 08:42:08 +0000 (08:42 +0000)]
MFp4:
Make CAM to stop all attached devices on system shutdown.
It allows devices to park heads, reducing stress on power loss.
Add `kern.cam.power_down` tunable and sysctl to controll it.
rwatson [Tue, 2 Feb 2010 23:10:27 +0000 (23:10 +0000)]
Only audit pathnames in namei(9) if copying the directory string completes
successfully. Continue to do this before the empty path check so that the
ENOENT returned in that case gets an empty string token in the BSM record.
qingli [Tue, 2 Feb 2010 20:38:30 +0000 (20:38 +0000)]
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.
mav [Tue, 2 Feb 2010 18:03:21 +0000 (18:03 +0000)]
- 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 [Tue, 2 Feb 2010 11:09:28 +0000 (11:09 +0000)]
- 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.
lulf [Tue, 2 Feb 2010 05:57:42 +0000 (05:57 +0000)]
- Add support for CVSup authentication mechanisms to csup.
- Include a cpasswd script performing the same mechanisms as the cvpasswd
utility from CVSup.
joerg [Mon, 1 Feb 2010 21:21:10 +0000 (21:21 +0000)]
GPIB overhaul, part #2: make the tnt4882 driver work with the newer
TNT5004 IC. This involved a major rewrite of a number of things, as
this chip no longer supports the NAT7210 legacy mode but requires the
host to use the (more modern) FIFO mode.
In theory, this also ought to work on the older TNT4882C chip. I'll
probably add this as optional support (perhaps by a device.hints flag)
later on. By now, FIFO mode is *only* activates iff a TNT5004 chip
has been detected (where the old code didn't work at all), while
everything else is supposed to use the old code.
yongari [Mon, 1 Feb 2010 20:58:45 +0000 (20:58 +0000)]
PCI express device status register has W1C feature. Writing 0 has
no effect. Make sure to clear error bits by writing 1. [1]
While I'm here use predefined value instead of hardcodig magic
vlaue.
jfv [Mon, 1 Feb 2010 19:28:43 +0000 (19:28 +0000)]
A few minor changes: add altq option header, add missing conditional
around a buf_ring call that will break 7.3, and thanks to Fabien Thomas
add POLLING support for igb and a minor related fix in the em driver.
marcel [Mon, 1 Feb 2010 17:51:01 +0000 (17:51 +0000)]
Make PCI Express host controllers functional, by:
1. checking whether there's a link before initializing devices
on the bus. When there's no link any access onto the bus
will wedge the CPU.
2. synthesizing the class & subclass so that the host controller
appears as a standard PCI bridge, rather than a PowerPC CPU.
marcel [Mon, 1 Feb 2010 17:26:58 +0000 (17:26 +0000)]
Use the capability pointer to indicate whether the host controller is
PCI Express, rather than a bit-field (boolean). Saving the capability
pointer this way makes access to capability-specific configuration
registers easy and efficient.
luigi [Mon, 1 Feb 2010 14:13:44 +0000 (14:13 +0000)]
use u_char instead of u_int for short bitfields.
For our compiler the two constructs are completely equivalent, but
some compilers (including MSC and tcc) use the base type for alignment,
which in the cases touched here result in aligning the bitfields
to 32 bit instead of the 8 bit that is meant here.
Note that almost all other headers where small bitfields
are used have u_int8_t instead of u_int.