Kip Macy [Thu, 23 Nov 2006 02:25:16 +0000 (02:25 +0000)]
In contrast to the non-obvious and flexible nature of the optimized bcopy in t1_copy.S (which
shall retain its CDDL copyright, and thus likely be removed from GENERIC) I have removed the CDDL
from hcall.S because there is zero flexibility in the implementation of hypercalls as they derive
directly from the hypervisor interface which is not copyrighted (ironically the source for the
hypervisor itself is BSD licensed).
It is best to start any bikeshed about this as soon as possible.
Kip Macy [Thu, 23 Nov 2006 00:52:52 +0000 (00:52 +0000)]
Fix TSO support on sun4v
- incorporate csjp's fix for a mishandled endian conversion
- convert PAGE_SIZE to 4096 for PCIe adapter workaround (my page size is not 4k)
- implement em_read_pcie_cap_reg where we set the max read size on pcie to 4k (taken from mxge)
Mohan Srinivasan [Wed, 22 Nov 2006 23:54:29 +0000 (23:54 +0000)]
Fix a race in soclose() where connections could be queued to the
listening socket after the pass that cleans those queues. This
results in these connections being orphaned (and leaked). The fix
is to clean up the so queues after detaching the socket from the
protocol. Thanks to ups and jhb for discussions and a thorough code
review.
Craig Rodrigues [Wed, 22 Nov 2006 23:01:40 +0000 (23:01 +0000)]
Mention that the following binaries have been detached
from the build: mount_devfs, mount_ext2fs,
mount_fdescfs, mount_procfs, mount_linprocfs, and mount_std.
Craig Rodrigues [Wed, 22 Nov 2006 22:58:10 +0000 (22:58 +0000)]
Detach mount_devfs, mount_ext2fs, mount_fdescfs, mount_procfs,
mount_linprocfs, and mount_std from the build. They are no longer
used, and can be replaced with "mount -t fstype".
Warner Losh [Wed, 22 Nov 2006 17:56:36 +0000 (17:56 +0000)]
Fix coherency issue. From submitter:
I have been debugging the usb problems some more. Your were
right in your assumption (thanks for the pointer) about lack
of calls to bus_dmamap_sync(). In usbdi.c bus_dmamap_sync()
does get used for transfers that move data from PC to USB and
it is used for transfers that move data from USB to PC. But
someone forgot that control transfers consist of possibly two
data chunks : the request itself and optionally a buffer of
data that should be transfered to or from the USB device. On
requests to the control endpoint without additional data
bus_dmamap_sync() didn't get called. For some reason my first
tests with umass worked (due to enough cache poisening I
guess). The attached patch adds a call to bus_dmamap_sync()
to usbdi.c and now all devices I have tried work out of the
box. I have successfully transfered large files using the
if_axe driver and I have mounted several different umass
devices.
Sam Leffler [Wed, 22 Nov 2006 17:16:54 +0000 (17:16 +0000)]
Change error codes returned by protocol operations when an inpcb is
marked INP_DROPPED or INP_TIMEWAIT:
o return ECONNRESET instead of EINVAL for close, disconnect, shutdown,
rcvd, rcvoob, and send operations
o return ECONNABORTED instead of EINVAL for accept
These changes should reduce confusion in applications since EINVAL is
normally interpreted to mean an invalid file descriptor. This change
does not conflict with POSIX or other standards I checked. The return
of EINVAL has always been possible but rare; it's become more common
with recent changes to the socket/inpcb handling and with finer-grained
locking and preemption.
Note: there are other instances of EINVAL for this state that were
left unchanged; they should be reviewed.
Andrew Gallatin [Wed, 22 Nov 2006 16:33:40 +0000 (16:33 +0000)]
Initialization bugfixes and enhancements:
- Fix bug preventing adoption of running firmware
- Set PCIe max read request size to 4KB
- Read PCIe link width from config space
- Assume aligned completions from the southbridge ports
of intel E5000 chips
- Use aligned firmware when link width is x4 or less
- Add hw.mxge.force_firmware tunable to allow user to force
selection of aligned (or unaligned) firmware
John Birrell [Wed, 22 Nov 2006 07:52:14 +0000 (07:52 +0000)]
Add the SUBMAKE_TARGETS (like ppp_make) to the dependency list
for linking the crunched app so that when a parallel make is run
(like -j32 on sun4v), the link waits for the sub-make processes
to complete.
Warner Losh [Wed, 22 Nov 2006 06:51:59 +0000 (06:51 +0000)]
MFp4: Make it work :-)
o Don't delay when checking the done bits. There's no gain other
than a small performance hit.
o calculate the clock divisors better (things are still way slow,
so maybe there's more here?)
o don't always fail reset. Always succeed instead.
o fix inverted logic around at91_twi_wait() return value
o remove debug code
o remove unneeded, unworking junk
Kip Macy [Wed, 22 Nov 2006 04:13:30 +0000 (04:13 +0000)]
remove dead code from tsb.c
switch tsbscratch over to using order of number of pages as opposed to actual number of pages
switch tsb.c over to using wrappers for contig page allocation
John Birrell [Tue, 21 Nov 2006 08:23:20 +0000 (08:23 +0000)]
Remove the KDTRACE option because I can't implement it the
way I intended due to licensing restrictions. I had intended
that it would be defaulted on, with opt-out possible for
companies that don't accept the CDDL. The FreeBSD GENERIC
kernel has to be entirely BSD licensed, so the only alternative
would have been to make KDTRACE an opt-in option. That isn't
a design I favour.
John-Mark Gurney [Tue, 21 Nov 2006 05:46:09 +0000 (05:46 +0000)]
don't mark the cksum as invalid here... off is incorrect when we get
here, it's either unset, or it's valid, so we don't need to do anything
different...
Craig Rodrigues [Tue, 21 Nov 2006 04:56:50 +0000 (04:56 +0000)]
Change reference from mount_devfs(8) to mount(8), and add an example.
Remove reference to mount_fdescfs(8), since mount(8) calls nmount()
directly to mount an fdescfs filesystem, instead of forking an
external mount_fdescfs program.
John Baldwin [Mon, 20 Nov 2006 23:30:07 +0000 (23:30 +0000)]
Add suspend/resume support. Unlike many other NIC drivers,
bfe_init_locked() wasn't sufficient to bring the chip back to life, it also
required a call to bfe_chip_reset() during resume.
Tim Kientzle [Mon, 20 Nov 2006 16:48:04 +0000 (16:48 +0000)]
Officially rename archive_{read,write}_open_file() to
archive_{read,write}_open_filename():
* Update Makefile to build the files using the new name.
* Update docs to document the new names, mentioning the
old ones as "deprecated synonyms."
* The old filenames will be reconnected to the build soon;
I'll soon recyce those files for a slightly different purpose.
Tim Kientzle [Mon, 20 Nov 2006 16:45:39 +0000 (16:45 +0000)]
Forced commit to note CVS repo-copy of archive_{read,write}_open_file.c
to archive_{read,write}_open_filename.c.
This is part of a minor file shuffle/name clarification:
* The archive_{read,write}_open_file() functions are officially
renamed to archive_{read,write}_open_filename(), which more accurately
reflects their function (they open a data stream identified by a filename).
* Preserve the file naming conventions by renaming the files as
well.
* Keep the old function names (in the new files) as synonyms for
backwards compatibility.
* Keep the old files around; they'll be recycled soon for the upcoming
archive_{read,write}_open_FILE() functions (which open a data stream
identified by a FILE * reference).
* I'm also, of course, making a nod here to MacOS/Windows
case-insensitive filesystems that can't have both _open_file.c and
_open_FILE.c. ;-)
Ruslan Ermilov [Mon, 20 Nov 2006 16:04:41 +0000 (16:04 +0000)]
- Fix types of "struct vmmeter" members so they are unsigned.
- Fix overflow bugs in sysctl(8), systat(1), and vmstat(8)
when printing values of "struct vmmeter" in kilobytes as
they don't necessarily fit into 32 bits. (Fix sysctl(8)
reporting of a total virtual memory; it's in pages too.)
Marius Strobl [Mon, 20 Nov 2006 12:59:27 +0000 (12:59 +0000)]
- Make rp(4) 64-bit- and endian-clean as well as work on strict alignment
archs. [1]
- Instead of bus_space_{read,write}*(rman_get_bustag(), rman_get_bushandle())
use bus_{read,write}*() for efficiency.
Reported by: Peter Losher [1]
Tested on: i386, sparc64
MFC after: 2 weeks
David Xu [Mon, 20 Nov 2006 05:50:59 +0000 (05:50 +0000)]
Use scheduler API sched_user_prio() to adjust thread's userland priority,
use td_base_user_prio to get real userland priority since POSIX priority
mutex may adjust td_user_pri which is an effective priority.
Mohan Srinivasan [Mon, 20 Nov 2006 04:14:23 +0000 (04:14 +0000)]
1) Fix up locking in nfs_up() and nfs_down.
2) Reduce the acquisitions of the Giant lock in the nfs_socket.c paths significantly.
- We don't need to acquire Giant before tsleeping on lbolt anymore,
since jhb specialcased lbolt handling in msleep.
- nfs_up() needs to acquire Giant only if printing the "server up"
message.
- nfs_timer() held Giant for the duration of the NFS timer processing,
just because the printing of the message in nfs_down() needed it
(and we acquire other locks in nfs_timer()). The acquisition of
Giant is moved down into nfs_down() now, reducing the time Giant is
held in that path.
Sam Leffler [Sun, 19 Nov 2006 23:55:23 +0000 (23:55 +0000)]
Gateworks Avila board support:
o ixp425 support
o NPE network driver (requires Intel microcode)
o h/w qmgr support
o True IDE compact flash over expansion bus
o pci (ath and hifn795x parts tested)
o xscale watchdog timer
o ds1672 RTC on i2c bus
o ad7418 voltage + temp monitoring on i2c bus
o uart
Work done together with cognet, kevlo, and jmg. Parts of
the ixp425 support obtaine/derived from netbsd.
Matt Jacob [Sun, 19 Nov 2006 23:13:12 +0000 (23:13 +0000)]
If a TMF request fails to start, make sure that we pull it off the
pending list and set the state back to free prior to calling mpt_reset
so we don't panic at a later point.
Alan Cox [Sun, 19 Nov 2006 20:54:58 +0000 (20:54 +0000)]
The global variable avail_end is redundant and only used once. Eliminate
it. Make avail_start static to the pmap on amd64. (It no longer exists
on other architectures.)
Bring in a SNMP module to support monitoring if_bridge(4) interfaces
via bsnmpd(1). The module implements IETF BRIDGE-MIB as defined in
RFC4188 and a private BEGEMOT-BRIDGE-MIB.
Sponsored by: Google Summer of Code 2006
Reviewed by: bz
Approved by: bz (mentor)
Ken Smith [Sun, 19 Nov 2006 08:12:54 +0000 (08:12 +0000)]
Move the check for which disc volume we have/want to after we install
the package dependencies. Installation of the dependencies may leave
us on the wrong disc volume.