Søren Schmidt [Tue, 27 Dec 2005 18:22:11 +0000 (18:22 +0000)]
Change the probes in ATA to return a negative value on success.
This allows other driver to take over if needed during probe, and allows
me to distribute new drivers as modules.
Maxim Sobolev [Mon, 26 Dec 2005 21:23:57 +0000 (21:23 +0000)]
Remove kern.elf32.can_exec_dyn sysctl. Instead extend Brandinfo structure
with flags bitfield and set BI_CAN_EXEC_DYN flag for all brands that usually
allow executing elf dynamic binaries (aka shared libraries). When it is
requested to execute ET_DYN elf image check if this flag is on after we
know the elf brand allowing execution if so.
PR: kern/87615
Submitted by: Marcin Koziej <creep@desk.pl>
Gleb Smirnoff [Mon, 26 Dec 2005 10:39:21 +0000 (10:39 +0000)]
Add simple suspend and resume methods. We call em_stop() on suspend and
em_init() on resume. With this change the network is ready right after
resume, without half minute lag.
Wilko Bulte [Sun, 25 Dec 2005 23:29:59 +0000 (23:29 +0000)]
We will not be responsible for damage to equipment, your ego, county wide
power outages, spontaneously generated mini (or larger) black holes,
planetary disruptions, or personal injury or worse that may result from the
use of this material.
-- taken from Samuel M. Goldwasser's
Sam's Strobe FAQ Notes on the Troubleshooting
and Repair of Electronic Flash Units and Strobe Lights
Tom Rhodes [Sun, 25 Dec 2005 10:36:30 +0000 (10:36 +0000)]
Kill the BUGS section, and remove a similar line noted under -T. As far
as I know, Sun's NFS support works with TCP just fine. This is even
hinted at in the PR.
Tom Rhodes [Sat, 24 Dec 2005 22:37:59 +0000 (22:37 +0000)]
Add a64l(), l64a(), and l64a_r() XSI extentions. These functions convert
between a 32-bit integer and a radix-64 ASCII string. The l64a_r() function
is a NetBSD addition.
PR: 51209 (based on submission, but very different)
Reviewed by: bde, ru
Tom Rhodes [Sat, 24 Dec 2005 22:22:17 +0000 (22:22 +0000)]
Make tv_sec a time_t on all platforms but alpha. Brings us more in line with
POSIX. This also makes the struct correct we ever implement an i386-time64
architecture. Not that we need too.
Reviewed by: imp, brooks
Approved by: njl (acpica), des (no objects, touches procfs)
Tested with: make universe
Joseph Koshy [Sat, 24 Dec 2005 17:00:33 +0000 (17:00 +0000)]
- Don't print an errno string when reporting dropped samples.
- Prevent an unsuccessful exec() of a target program from triggering
a false 'dropped samples' message.
Alexander Kabaev [Sat, 24 Dec 2005 15:37:30 +0000 (15:37 +0000)]
Make lookups for relocations from old unversioned binaries return
oldest versioned symbol available. Do not accept hidden symbols for
all other versions.
Use "<obj->path>: <error message>" for all error messages in new
functions to make them more consistent.
Alan Cox [Sat, 24 Dec 2005 04:57:50 +0000 (04:57 +0000)]
Maintain the lock on the vnode for most of exec_elfN_imgact().
Specifically, it is required for the I/O that may be performed by
elfN_load_section().
Avoid an obscure deadlock in the a.out, elf, and gzip image
activators. Add a comment describing why the deadlock does not occur
in the common case and how it might occur in less usual circumstances.
Eliminate an unused variable from exec_aout_imgact().
David Xu [Sat, 24 Dec 2005 02:59:29 +0000 (02:59 +0000)]
Avoid kernel panic when attaching a process which may not be stopped
by debugger, e.g process is dumping core. Only access p_xthread if
P_STOPPED_TRACE is set, this means thread is ready to exchange signal
with debugger, print a warning if P_STOPPED_TRACE is not set due to
some bugs in other code, if there is.
The patch has been tested by Anish Mistry mistry.7 at osu dot edu, and
is slightly adjusted.
Warner Losh [Fri, 23 Dec 2005 21:54:56 +0000 (21:54 +0000)]
Build ed on amd64. The pci attachment works with qemu on amd64.
I'm holding off on building on sparc64 and others because I don't know
if this driver has had all the inb/outb removed (I think it has). Nor
do I know if there are byte ordering issues. There are very few word
operations on an NE2000, but I've not had time to audit them all.
Ceri Davies [Fri, 23 Dec 2005 15:31:37 +0000 (15:31 +0000)]
Commands like gmirror, graid3, ... and others which use dlopen() to load
classes from say, /lib/geom, cannot be statically linked completely.
Moreover, those shared objects may require other shared objects (i.e.
for geom, libraries like -lmd, -lcrypto).
The libs_so extension to crunchgen fixes this by allowing some libraries
to be linked in dynamically. This requires that a copy of rtld and the
shared libraries be made available to the crunched binary, and so is not
suitable for all environments. Crunchgen configurations which do not
use the 'libs_so' keyword are unaffected and produce identical binaries
with and without this commit.
Approved by: murray (mentor, in spirit), jhb
In collaboration with: Adrian Steinmann <ast at marabu dot ch>
MFC After: 6 weeks
Peter Grehan [Fri, 23 Dec 2005 13:05:27 +0000 (13:05 +0000)]
Mark the return address of the call to ast() in the generic trap
handling code so the stack trace unwinders don't start trying to
go into user-space.
Found by trying to create core dumps with a KTR_COMPILE/KTR_GEOM
kernel, which results in a stack_save() call in the ast() coredump
path - this created a panic, and then calling 'trace' in ddb resulted
in the black screen of death after printing out most of the backtrace.
Warner Losh [Fri, 23 Dec 2005 02:18:01 +0000 (02:18 +0000)]
Add the example that green@ used in his commit log for the dump to a
pipe functionality. I've done a cvs log main.c about a dozen times
now. Maybe others will find this useful.
Garrett Wollman [Thu, 22 Dec 2005 23:40:21 +0000 (23:40 +0000)]
Merge tzdata2005q from vendor branch. Data changes for the following
locales: Azerbaijan, Brazil, Cuba, Gaza, Georgia, Jordan, Kirgizstan,
Nicaragua, Uruguay.
John Baldwin [Thu, 22 Dec 2005 22:16:09 +0000 (22:16 +0000)]
Tweak how the MD code calls the fooclock() methods some. Instead of
passing a pointer to an opaque clockframe structure and requiring the
MD code to supply CLKF_FOO() macros to extract needed values out of the
opaque structure, just pass the needed values directly. In practice this
means passing the pair (usermode, pc) to hardclock() and profclock() and
passing the boolean (usermode) to hardclock_cpu() and hardclock_process().
Other details:
- Axe clockframe and CLKF_FOO() macros on all architectures. Basically,
all the archs were taking a trapframe and converting it into a clockframe
one way or another. Now they can just extract the PC and usermode values
directly out of the trapframe and pass it to fooclock().
- Renamed hardclock_process() to hardclock_cpu() as the latter is more
accurate.
- On Alpha, we now run profclock() at hz (profhz == hz) rather than at
the slower stathz.
- On Alpha, for the TurboLaser machines that don't have an 8254
timecounter, call hardclock() directly. This removes an extra
conditional check from every clock interrupt on Alpha on the BSP.
There is probably room for even further pruning here by changing Alpha
to use the simplified timecounter we use on x86 with the lapic timer
since we don't get interrupts from the 8254 on Alpha anyway.
- On x86, clkintr() shouldn't ever be called now unless using_lapic_timer
is false, so add a KASSERT() to that affect and remove a condition
to slightly optimize the non-lapic case.
- Change prototypeof arm_handler_execute() so that it's first arg is a
trapframe pointer rather than a void pointer for clarity.
- Use KCOUNT macro in profclock() to lookup the kernel profiling bucket.
John Baldwin [Thu, 22 Dec 2005 16:18:23 +0000 (16:18 +0000)]
Use the copy of the card's MAC address saved in tulip_enaddr() in the softc
if we need a valid MAC address (for probing the media for example) before
ether_ifattach() has been called since IF_LLADDR() is NULL then.
Gleb Smirnoff [Thu, 22 Dec 2005 15:14:42 +0000 (15:14 +0000)]
- All bge(4) supported hardware is known to support RX/TX checksum offloading,
except for BGE_CHIPID_BCM5700_B0, which is buggy.
- All bge(4) supported hardware, has a bug that produces incorrect checksums
on Ethernet runts. However, in case of a transmitted packet, the latter can
be padded with zeroes, and the checksum would be correct. (Probably chip
includes the pad data into checksum). In case of receive, we just don't
trust checksum data in received runts.
Obtained from: NetBSD (jonathan) via Mihail Balikov
Dima Dorfman [Thu, 22 Dec 2005 10:48:42 +0000 (10:48 +0000)]
Copy the description for the -r option from the traceroute(8) man
page. I'm pretty sure that this description applies the same way to
ipv6, and at least mentioning SO_DONTROUTE is better than having no
description at all.
Dima Dorfman [Thu, 22 Dec 2005 10:36:58 +0000 (10:36 +0000)]
If we're operating without running external programs (-N) and
autonumbering is requested, set the unit to 0 instead of -1. This
option is just for output, and "/dev/md-1" looks disconcerting.
Dima Dorfman [Thu, 22 Dec 2005 10:32:11 +0000 (10:32 +0000)]
Sort the list results by the unit number. The list returned by the
kernel is in the order the devices were made, which is not useful to
the user. Also, remove the "%d more" test since the kernel does not
return the complete count in md_pad[0] (maybe it should?).
Pyun YongHyeon [Thu, 22 Dec 2005 01:44:27 +0000 (01:44 +0000)]
Add bge(4) support for big-endian architectures(part 2/2).
- removed unused funtion bge_handle_events().
- removed bus_dmamap_destroy(9) calls for DMA maps created by
bus_dmamem_alloc(9). This should fix panics seen on sparc64
in device detach.
- added check for parent DMA tag creation.
- switched to use __NO_STRICT_ALIGNMENT as bge(4) supports all
architectures.
- added missing bus_dmamap_sync(9) in bge_txeof().
- added missing bus_dmamap_sync(9) in bge_encap().
- corrected memory synchronization operation on status block.
As the driver just read status block that was DMAed by NIC it
should use BUS_DMASYNC_POSTREAD. Likewise the driver does not
need to write status block back, so remove unnecessary
bus_dmamap_sync(9) calls in bge_intr().
- corrected memory synchronization operation on RX return ring.
The driver only read the block so remove unnecessary
bus_dmamap_sync(9) in bge_rxeof().
- force bus_dmamap_sync(9) for only modified descriptors. Blindly
synching all desciptor rings would reduce performance.
- call bus_dmamap_sync(9) for DMA maps that were modified in bge_rxeof().
Andrew Thompson [Wed, 21 Dec 2005 21:29:45 +0000 (21:29 +0000)]
Add RFC 3378 EtherIP support. This change makes it possible to add gif
interfaces to bridges, which will then send and receive IP protocol 97 packets.
Packets are Ethernet frames with an EtherIP header prepended.
Alan Cox [Wed, 21 Dec 2005 18:58:40 +0000 (18:58 +0000)]
Maintain the vnode lock throughout elfN_load_file() rather than releasing
it and reacquiring it in vrele(). Consequently, there is no reason to
increase the reference count on the vm object caching the file's pages.
Reviewed by: tegge
Doug Barton [Wed, 21 Dec 2005 09:54:15 +0000 (09:54 +0000)]
syslogd should REQUIRE newsyslog, rather than newsyslog using
BEFORE: syslogd. This does not produce any change in the
ordering at the moment, but is cleaner style for the long term.
Doug Barton [Wed, 21 Dec 2005 09:48:41 +0000 (09:48 +0000)]
Several users have commented (via filing PRs) that having ntp* depend
on devfs is useful so that a hardware time device can start with its
necessary device nodes already in place. While this ordering happens
as a side effect currently in HEAD, and the PRs were generally fixed
via upgrades, etc; it's better to make it explicit.
While I'm here, ntpd should REQUIRE ntpdate, rather than ntpdate
using BEFORE: ntpd.
Andrew Thompson [Wed, 21 Dec 2005 09:39:59 +0000 (09:39 +0000)]
As of r1.21 all broadcast packets are reprocessed by ether_input as arriving on
the bridge, this caused these packets to show up twice via bpf. Do not process
them twice with BPF_TAP.