Matthew Dillon [Thu, 13 Dec 2012 07:19:43 +0000 (23:19 -0800)]
kernel - Fix sync() system call
* The sync() system call was syncing the filesystems MNT_NOWAIT | MNT_LAZY.
We need the MNT_NOWAIT to avoid an endless sync on a busy filesystem, but
MNT_LAZY is another issue entirely.
* Remove the MNT_LAZY from the sync() system call, it can cause whole
files to not be synced. It is meant only to be used by the automatic
kernel 30-second sync (which eventually gets everything flushed out).
Matthew Dillon [Thu, 13 Dec 2012 04:09:45 +0000 (20:09 -0800)]
kernel - Fix missing B_ORDERED inheritance
* The cluster code was not inheriting B_ORDERED on buffers when constructing
the rollup buffer due to a coding error.
* I don't think anything uses B_ORDERED so this shouldn't matter, but fix
it anyway.
Reported-by: vsrinivas
Matthew Dillon [Mon, 10 Dec 2012 23:11:46 +0000 (15:11 -0800)]
kernel - Reduce the size of the callout wheel
* The callout wheel is per-cpu but ncallout is calculated based on memory.
A system with many cpus tended to allocate an excessive amount of memory
in aggregate for the callout wheels.
* Reduce the size of the per-cpu callout wheel by approximately a factor
of (ncpus). On a 16G machine with 8 cores, aggregate callout wheel
allocations is reduced from 128MB to 16MB.
Matthew Dillon [Mon, 10 Dec 2012 23:02:01 +0000 (15:02 -0800)]
kernel - Fix softupdates panic with UFS
* If getdirtybuf() was unable to lookup a dirty buffer from the
flush_pagedep_deps path, we need to retry the lookup, rather than
proceeding through processing the diradd.
Reported-by: marino@
Submitted-by: vsrinivas
Matthew Dillon [Mon, 10 Dec 2012 22:37:28 +0000 (14:37 -0800)]
kernel - Fix bug (not reached in normal operation) in vm_map_set_wired_quick()
* Fix a bug where vm_map_set_wired_quick() only operated on the first
vm_map_entry of a slab, and would panic if there were more.
* Slab allocations are only going to have one vm_map_entry anyway so the
bug was never hit. But we fix it anyway.
Matthew Dillon [Mon, 10 Dec 2012 22:35:39 +0000 (14:35 -0800)]
kernel - Fix debug output label
* Fix "rflags" to "eflags" in i386 kprintf() for smp_invltlb() debugging.
Reported-by: swildner
Matthew Dillon [Sat, 8 Dec 2012 22:22:15 +0000 (14:22 -0800)]
kernel - Fix improper assertion panic in vinvalbuf()
* Related to the removal of vhold/vdrop from buffer cache buffers, the
state of a vnode being cleaned can now contain more active buffers and
I/O's at the time of the vinvalbuf() call.
* Remove the 'vinvalbuf: dirty bufs' assertion and panic. It is no longer
a correct assertion. Note that we've also had sporatic reports of this
panic even prior to the work so it might not have been a completely
correct assertion before either.
* Rework the vinvalbuf buffer-flushing and I/O-waiting code a bit. We
have to wait for I/O at least once and it is probably a good idea to
wait for I/O after each buffer flush pass too, to avoid live-locks.
Reported-by: vsrinivas
Matthew Dillon [Sat, 8 Dec 2012 05:21:55 +0000 (21:21 -0800)]
kernel - Adjust NFS server for new allocvnode() code
* Adjust the NFS server to check for LWP_MP_VNLRU garbage collection
requests and act on them.
This prevents excessive allocation of vnodes by the nfsd's.
Matthew Dillon [Sat, 8 Dec 2012 02:52:30 +0000 (18:52 -0800)]
kernel - Change allocvnode() to not recursively block freeing vnodes
allocvnode() has caused many deadlock issues over the years, including
recent issues with softupdates, because it is often called from deep
within VFS modules and attempts to clean and free unrelated vnodes when
the vnode limit is reached to make room for the new one.
* numvnodes is not protected by any locks and needs atomic ops.
* Change allocvnode() to always allocate and not attempt to free
other vnodes.
* allocvnode() now flags the LWP to handle reducing the number of vnodes
in the system as of when it returns to userland instead. Consolidate
several flags into a single conditional function call, lwpuserret().
When triggered, this code will do a limited scan of the free list to
try to find vnodes to free.
* The vnlru_proc_wait() code existed to handle a separate algorithm
related to vnodes with cached buffers and VM pages but represented
a major bottleneck in the system.
Remove vnlru_proc_wait() and allow vnodes with buffers and/or non-empty
VM objects to be placed on the free list.
This also requires not vhold()ing the vnode for related buffer cache
buffer since the vnode will not go away until related buffers have been
cleaned out. We shouldn't need those holds.
Testing-by: vsrinivas
Matthew Dillon [Fri, 7 Dec 2012 22:44:26 +0000 (14:44 -0800)]
kernel - Fix filesystem lookup error due to parent directory recyclement race
* When looking up a path the parent ncp's vnode is needed to pass into
the VFS code as the directory vnode (dvp) for the element being looked up.
* Fix a timing race whereby a system under extreme vnode pressure (such as
when kern.maxvnodes is set to a very low value) can squeek in recyclement
of this directory vnode when there are no children under it in the
namecache.
We fix the problem by holding the directory vnode during the nlookup() and
cache_resolve().
Matthew Dillon [Fri, 7 Dec 2012 22:20:31 +0000 (14:20 -0800)]
kernel - Fix issues where tmpfs loses file data
* For TMPFS, UIO_NOCOPY writes must use bawrite() or bwrite() and must NEVER
used buwrite() because these operations are being called via the VM page
cleaning code via the pageout daemon or the vnode termination code
(when maxvnodes is reached), and the underlying pages are about to be
destroyed.
* vm_object_terminate() must call vinvalbuf() both before (for normal
filesystems) and also after (for tmpfs style filesystems). Otherwise
buffers potentially not disposed of during the page cleaning might
get left hanging. This is a safety feature.
* Remove post-flush test code from vm_object_page_collect_flush() entirely.
The IO's are in progress at this point so it makes no sense to set
PG_CLEANCHK here.
* vm_page_need_commit() must make the object writeable and dirty, I think.
* Fix multiple places where m->dirty is tested and PG_NEED_COMMIT is not.
Reported-by: vsrinivas, others
Matthew Dillon [Wed, 5 Dec 2012 19:40:01 +0000 (11:40 -0800)]
kernel - Fix memory starvation issue w/tmpfs
* TMPFS relies on the pagedaemon to retire dirty pages to swap. The normal
buffer cache flushing won't do the job (nor do we want it to). To avoid
starving the system we change bio_page_alloc() to not dig into the
system reserve when allocating pages for TMPFS.
Reported-by: tuxillo (Antonio Huete)
Sascha Wildner [Sat, 1 Dec 2012 22:54:54 +0000 (23:54 +0100)]
UPDATING: Note that aic(4) was deISAized (forgot to mention at the time).
Sascha Wildner [Thu, 29 Nov 2012 20:57:05 +0000 (21:57 +0100)]
int64_t is long on x86_64, and not always equivalent to long long.
Similarly, uint64_t is unsigned long.
For their min/max value definitions, change LL/ULL suffixes to L/UL.
The bug report has some C++ sample code that show issues resulting
from treating them as long long.
Reported-by: David Shao <davshao@gmail.com>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2461>
Sascha Wildner [Wed, 28 Nov 2012 23:26:41 +0000 (00:26 +0100)]
<sys/errno.h>: Try to fix errno's declaration a bit better for C++.
The test code from the bug ticket seems to work with it at least.
Reported-by: David Shao <davshao@gmail.com>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2463>
In-discussion-with: vsrinivas
Matthew Dillon [Wed, 28 Nov 2012 18:21:38 +0000 (10:21 -0800)]
kernel - Fix proc_reparent() race/assertion panic
* Fix proc_reparent() race/assertion panic. p_pptr changes can race,
and the procedure had an assertion for the case. Recode the procedure
to retry on a mismatch instead of assert.
* Also move the old-parent-wakeup code into the procedure so it is
properly executed in all cases.
Reported-by: Peter Avalos
Matthew Dillon [Tue, 27 Nov 2012 21:50:54 +0000 (13:50 -0800)]
installer: Clarity language when asking the user for time-date info.
* Clarity language when asking the user for time-date info so the
user is not confused between UTC vs his or her selected timezone.
The program wants the user to enter the time and date in his or her
selected timezone.
Sascha Wildner [Mon, 26 Nov 2012 18:39:57 +0000 (19:39 +0100)]
installer: Fix handling of CMOS set to UTC vs. CMOS set to wall time.
It was reversed in the installer (compared to tzsetup(8)).
/etc/wall_cmos_clock needs to be created when the CMOS is set to the
time of the clock on the wall. While here, also add removing the file
in case the user selects 'CMOS set to UTC'. This is if he chose the
other setting previously and then tried again.
Reported-by: many
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/39>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2060>
Sascha Wildner [Thu, 22 Nov 2012 19:44:23 +0000 (20:44 +0100)]
vkernel: Make "options IPX" compilable into the vkernel.
Usage of "errno" in userspace as a variable name results in sad code.
Rename them to "error" instead.
Reported-by: tuxillo
Sascha Wildner [Tue, 20 Nov 2012 05:23:49 +0000 (06:23 +0100)]
aac(4): Add a missing unlock.
Antonio Huete Jimenez [Mon, 19 Nov 2012 22:32:16 +0000 (23:32 +0100)]
ext2fs - Clear CNP_PDIRUNLOCK flag after a lookup.
vop_compat_nresolve() unlocks the vnode when flag CNP_PDIRUNLOCK
is set, so either we clear the flag or avoid unlocking the vnode
after an ext2_lookup().
DragonFly-bug: http://bugs.dragonflybsd.org/issues/2454
Reported by: Skylar Hawk
John Marino [Mon, 19 Nov 2012 17:43:52 +0000 (18:43 +0100)]
/usr/Makefile: Add pkgsrc-create-shallow option
Sascha Wildner [Mon, 19 Nov 2012 16:59:05 +0000 (17:59 +0100)]
make distribution: Remove some symlinks before (re-)creating them.
Reported-by: marino
Sascha Wildner [Sun, 18 Nov 2012 19:46:15 +0000 (20:46 +0100)]
mpt(4): Fix a panic in RAID operation.
I ported it wrongly. FreeBSD uses callout_init_mtx() here.
Matthew Dillon [Thu, 15 Nov 2012 20:30:51 +0000 (12:30 -0800)]
kernel - Fix off-by-1 error in semexit
* Fix an off-by-1 error that was preventing semexit from properly undoing
all the semaphores controlled by the exiting process.
Reported-by: lentferj, vsrinivas, others
John Marino [Thu, 15 Nov 2012 12:49:05 +0000 (13:49 +0100)]
bug 2450: Allow build of RELEASE 3.2 from master's bmake
It was not possible to build RELEASE 3.2 once the world was updated to
the 3.3 development branch. The makefiles were incompatible with bmake.
It was possible to build RELEASE 3.2 with only a change to bsd.cpu.mk,
but parallel builds still failed. The remaining changes and the previous
cherry-pick were all done to support parallel builds when building this
release branch from a system equipped with bmake as the system make.
<https://bugs.dragonflybsd.org/issues/2450>
John Marino [Sat, 27 Oct 2012 09:13:14 +0000 (11:13 +0200)]
Tweak some makefiles to prepare for bmake
These makefiles build fine with legacy make but contain (or lack)
information that causes the build to fail when used with bmake. Make
small tweaks to makefiles to ensure they are compatible with both make
programs.
Sascha Wildner [Wed, 14 Nov 2012 10:06:26 +0000 (11:06 +0100)]
mount{,_ufs}: Fix wrong mountctl(2) error check.
mountctl(2) returns the number of copied bytes when successful, and -1
if there was an error. This prevented ", local" from being printed in
mount output.
Reported-by: YONETANI Tomokazu
Sascha Wildner [Tue, 13 Nov 2012 18:41:51 +0000 (19:41 +0100)]
Sync zoneinfo database with tzdata2012j from ftp://ftp.iana.org/tz/releases
* africa: Lybia set their time one hour back at 02:00 on November 10
(last Saturday).
* Additional miscellaneous fixes in various comments.
Sascha Wildner [Tue, 13 Nov 2012 17:35:17 +0000 (18:35 +0100)]
ipcs(1): Fix the "ipcs: kvm_nlist: No such file or directory" error.
The "semu" variable was removed in
79757ed082, causing this breakage.
Strangely, even before its removal it wasn't used for anything in
ipcs(1).
Reported-by: beket
Sascha Wildner [Mon, 12 Nov 2012 20:59:30 +0000 (21:59 +0100)]
Really fix systat(1).
Antonio Huete Jimenez [Sun, 11 Nov 2012 23:18:01 +0000 (00:18 +0100)]
systat - Do not use ccpu for %cpu calculation in pigs view.
- ccpu went away after the new scheduler work so sync with
the current status of the kernel.
- Also remove all the unused kvm* stuff and get fscale via sysctl.
Reported-by: tpchin <tpchin@telstra.com>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2245>
Sascha Wildner [Sun, 11 Nov 2012 09:26:17 +0000 (10:26 +0100)]
hammer.8: Add back an .El that was removed by mistake.
John Marino [Wed, 7 Nov 2012 20:15:35 +0000 (21:15 +0100)]
getline(3): Fix segfault caused by NULL pointer
This fixes a segfault seen with pkg's audit function, and effectively syncs
getdelim with FreeBSD.
Taken-from: FreeBSD SVN 197752 (04 OCT 2009)
- Tolerate applications that pass a NULL pointer for the buffer and
claim that the capacity of the buffer is nonzero.
- If an application passes in a non-NULL buffer pointer and claims the
buffer has zero capacity, we should free (well, realloc) it anyway.
It could have been obtained from malloc(0), so failing to free it
would be a small memory leak.
Alex Hornung [Sun, 4 Nov 2012 15:53:22 +0000 (15:53 +0000)]
boot - some VIA processors also have long mode!
Sepherosa Ziehau [Wed, 7 Nov 2012 13:47:59 +0000 (21:47 +0800)]
igb: Configure TX head write back before turn enable bit in TXDCTL
The original configure sequence works on 82575 and 82576. However,
it does not work on i350 and probably will not work on 82580. For
these two chips TX head write back _must_ be configured before
turning on enable bit in TXDCTL according to their datasheet.
Reported-by: ftigeot@
Tested-by: ftigeot@ (i350), me w/ (82575, 82576)
Sascha Wildner [Sun, 4 Nov 2012 13:00:36 +0000 (14:00 +0100)]
Sync zoneinfo database with tzdata2012i from ftp://ftp.iana.org/tz/releases
* asia: Comment typo fix.
* northamerica: Cuba switched back to standard time on 2012-11-04, 01:00.
Sepherosa Ziehau [Sat, 3 Nov 2012 14:49:32 +0000 (22:49 +0800)]
bge: Fix a bug in the polling code when status tag is used
Status tag always needs to be written even if interrupt is not enabled.
Sepherosa Ziehau [Sat, 3 Nov 2012 14:26:12 +0000 (22:26 +0800)]
Revert "bge: Always configure MII mode register"
This reverts commit
dda43ff2bc5975a3cbd91838e7a46332039962f4.
Forcefully configure seems to break at least BCM5761 NIC auto-negotiation
Sascha Wildner [Sat, 3 Nov 2012 11:08:13 +0000 (12:08 +0100)]
kernel: Fix some wrong cam_simq_release() calls.
Our (refcounted) simq can be released right after allocating the sim.
These drivers were not doing it correctly.
Sascha Wildner [Fri, 2 Nov 2012 02:47:18 +0000 (03:47 +0100)]
/usr/Makefile: Bring back creating a master branch.
It is useful to have it available, such as for MFC'ing changes from it
or upgrading to it, but it won't be checked out by default.
Justin C. Sherrill [Thu, 1 Nov 2012 02:39:50 +0000 (22:39 -0400)]
Make sure that upgrading to master doesn't happen automatically/accidentally.
Users will stay with a stable release unless they choose to change.
Also, nrelease builds will build the correct release.
Sepherosa Ziehau [Thu, 1 Nov 2012 01:29:53 +0000 (09:29 +0800)]
ioapic/i386: Allow GSI > 191
Sepherosa Ziehau [Tue, 30 Oct 2012 02:53:59 +0000 (10:53 +0800)]
ioapic/x86_64: Allow GSI > 191
Some BIOSes seem to assume that all 256 IDT vectors could be used,
while we limit the available IDT vectors percpu to 192. Find an
unused IRQ for these GSIs, if this ever happens.
Reported-by: thowe on EFnet #dragonflybsd
Sascha Wildner [Sat, 27 Oct 2012 09:15:46 +0000 (11:15 +0200)]
Sync zoneinfo database with tzdata2012h from ftp://ftp.iana.org/tz/releases
* asia:
Israel has new DST rules next year (thanks to Ephraim Silverberg).
Jordan stays on DST this winter (thanks to Steffen Thorsen).
* southamerica:
Bahia no longer has DST (thanks to Kelley Cook).
Tocantins has DST (thanks to Rodrigo Severo).
Sascha Wildner [Fri, 26 Oct 2012 22:50:54 +0000 (00:50 +0200)]
mdoc: Fix .Os version.
John Marino [Fri, 26 Oct 2012 14:35:25 +0000 (16:35 +0200)]
libssp47, libobjc47: install headers
Headers for both libssp and libobjc were not getting installed for the
gcc47 library set. As an aside, the gcc44 libobjc is also missing these
headers. There installation required an mtree change, but it can be
built with quickworld.
Additionally, CFLAGS were moved to above an include for libobjc which
should ensure the local config.h is included before a different version
and this in turn likely improves libobjc functionality.
John Marino [Fri, 26 Oct 2012 13:52:09 +0000 (15:52 +0200)]
libgomp47: Install libgomp.spec and omp.h
It was reported these files are needed by libgomp, so generate and
install them.
Sascha Wildner [Sun, 21 Oct 2012 20:09:15 +0000 (22:09 +0200)]
vkernel64: Add a missing 'break'.
Sascha Wildner [Sun, 21 Oct 2012 16:45:32 +0000 (18:45 +0200)]
UPDATING: Fix a typo and mention that for usb4bsd, w&k need rebuilding.
Sigh, I had written 'loader.conf' instead of 'make.conf'. It will need
a mention on the release page/errata.
Sascha Wildner [Sun, 21 Oct 2012 13:52:36 +0000 (15:52 +0200)]
UPDATING: Add some words about usb4bsd.
Markus Pfeiffer [Sat, 20 Oct 2012 20:50:17 +0000 (20:50 +0000)]
condvar(9): adjust manpage to reflect reality
also fix a typo while I am here
Sascha Wildner [Thu, 18 Oct 2012 07:14:53 +0000 (09:14 +0200)]
usb4bsd: Add a commented out line to our configs for enabling usb4bsd.
In addition to this, WANT_USB4BSD needs to be put into /etc/make.conf
for the userland part.
Sascha Wildner [Wed, 17 Oct 2012 16:25:30 +0000 (18:25 +0200)]
usb4bsd/libusb: Remove an unused variable and mark a dummy variable unused.
Sascha Wildner [Tue, 16 Oct 2012 08:28:52 +0000 (10:28 +0200)]
usb4bsd/ukbd: Adjust comment style a bit.
Markus Pfeiffer [Tue, 16 Oct 2012 09:00:03 +0000 (09:00 +0000)]
usb: Fix a typo in ukbd.
Markus Pfeiffer [Tue, 16 Oct 2012 08:59:23 +0000 (08:59 +0000)]
usb4bsd: Fix attach/detach for ukbd.
This still needs work to make it function with the debugger
Sascha Wildner [Sun, 14 Oct 2012 21:41:33 +0000 (23:41 +0200)]
usb4bsd: Regenerate usbdevs.h and usbdevs_data.h.
Sascha Wildner [Sun, 14 Oct 2012 21:38:08 +0000 (23:38 +0200)]
usb4bsd: Sync usbdevs with FreeBSD.
Sascha Wildner [Sun, 14 Oct 2012 20:10:30 +0000 (22:10 +0200)]
usb4bsd: Add usb_quirk module.
Sascha Wildner [Sun, 14 Oct 2012 19:40:29 +0000 (21:40 +0200)]
usb4bsd: Makefile cleanup.
Sascha Wildner [Sun, 14 Oct 2012 19:13:28 +0000 (21:13 +0200)]
usb4bsd: Sort files a bit better in 'files' (from FreeBSD).
Sascha Wildner [Sun, 14 Oct 2012 13:12:08 +0000 (15:12 +0200)]
usb4bsd/controller: Use device_delete_children().
François Tigeot [Thu, 5 Jul 2012 07:05:18 +0000 (09:05 +0200)]
kernel: add device_delete_children()
Obtained-from: FreeBSD
Sascha Wildner [Sun, 14 Oct 2012 12:35:43 +0000 (14:35 +0200)]
make upgrade: Remove more new USB stuff if it is not requested.
To reduce confusion when switching.
Sascha Wildner [Sun, 14 Oct 2012 12:18:21 +0000 (14:18 +0200)]
usb4bsd: Pull up libusb and usbcontrol to FreeBSD current's.
I stopped before their recent streams commit.
Markus Pfeiffer [Sun, 14 Oct 2012 11:00:18 +0000 (11:00 +0000)]
Bring in USB4BSD userspace libraries and utilities.
The following will now be built and installed if WANT_USB4BSD is defined.
* libusb
* usbconfig
Sascha Wildner [Fri, 12 Oct 2012 19:29:22 +0000 (21:29 +0200)]
usb4bsd/ehci: Fix EHCI resetting (and thus, intialization & attach).
No need for PINTERLOCKED here.
Reported-by: ftigeot, tuxillo
In-discussion-with: vsrinivas
Sascha Wildner [Fri, 12 Oct 2012 17:56:15 +0000 (19:56 +0200)]
usb4bsd/ehci: Ouch, fix a bug in the Makefile.
It was taking a wrong file and this caused ehci to not properly initialize
when loaded as a module (like it is our default).
Note that this is my fault, not Markus Pfeiffer's. I had messed with the
Makefiles and it was a copy/paste error.
Reported-by: ftigeot, tuxillo
Sascha Wildner [Fri, 12 Oct 2012 16:59:04 +0000 (18:59 +0200)]
usb4bsd: Use NULL for pointers.
Sascha Wildner [Fri, 12 Oct 2012 16:52:41 +0000 (18:52 +0200)]
usb4bsd/controller: Remove some unused module declarations.
Sascha Wildner [Fri, 12 Oct 2012 16:46:01 +0000 (18:46 +0200)]
usb4bsd: Remove more unused files.
Sascha Wildner [Fri, 12 Oct 2012 16:32:29 +0000 (18:32 +0200)]
usb4bsd: Remove unused ARM related files.
Sascha Wildner [Fri, 12 Oct 2012 15:15:44 +0000 (17:15 +0200)]
Fix 'make upgrade', it was broken.
Sascha Wildner [Fri, 12 Oct 2012 09:05:13 +0000 (11:05 +0200)]
usb4bsd/audio: Some porting work in uaudio_pcm.c.
* Locking fixes (by ftigeot).
* Comment out unknown methods for now.
* Adjust include path.
With this it only whines on mixer_get_lock() which we don't have.
Sascha Wildner [Fri, 12 Oct 2012 09:03:36 +0000 (11:03 +0200)]
kernel/sound: Add PCMTRIG_COMMON (from FreeBSD).
Sascha Wildner [Fri, 12 Oct 2012 09:03:06 +0000 (11:03 +0200)]
kernel: Comment out the new uaudio_pcm.c for now, it doesn't build yet.
Sascha Wildner [Fri, 12 Oct 2012 07:34:00 +0000 (09:34 +0200)]
kernel: Add KOBJMETHOD_END and use it.
Sascha Wildner [Fri, 12 Oct 2012 06:25:36 +0000 (08:25 +0200)]
usb4bsd/uether: Missing argument in usb_ether_method's ue_ioctl() member.
Sascha Wildner [Fri, 12 Oct 2012 06:24:06 +0000 (08:24 +0200)]
usb4bsd/if_udav: Comment out a variable (usage is not yet enabled).
Sascha Wildner [Fri, 12 Oct 2012 06:23:02 +0000 (08:23 +0200)]
usb4bsd/audio: 'static' has to be at the beginning of the declaration.
Sascha Wildner [Fri, 12 Oct 2012 05:44:34 +0000 (07:44 +0200)]
Remove old USB stuff when the new stack is requested.
Sascha Wildner [Thu, 11 Oct 2012 13:40:41 +0000 (15:40 +0200)]
usb4bsd: Add uether dependency for compiling udav into the kernel.
Sascha Wildner [Thu, 11 Oct 2012 13:35:38 +0000 (15:35 +0200)]
usb4bsd: Fix the compilation of the remaining drivers into the kernel.
Sascha Wildner [Thu, 11 Oct 2012 13:35:22 +0000 (15:35 +0200)]
usb4bsd: Fix some compilation warnings.
Sascha Wildner [Thu, 11 Oct 2012 09:24:08 +0000 (11:24 +0200)]
usb4bsd: Allow some parts to be built into the kernel.
This is for the core support, and for uhci, ohci, ehci and xhci.
To do this, replace:
device usb
with
device "usb4bsd"
in the config. The quotes are needed at the moment to cope with a
weakness in our config(8) that needs fixing.
Based-on-patch-submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Thu, 11 Oct 2012 09:18:50 +0000 (11:18 +0200)]
kernel/mii_layer: Little indentation fix.
Sascha Wildner [Thu, 11 Oct 2012 09:18:06 +0000 (11:18 +0200)]
usb4bsd: Port network devices (uether, udav, axe) and hook into build.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Wed, 10 Oct 2012 22:55:15 +0000 (00:55 +0200)]
usb4bsd: Port input devices (uep, uhid, ukbd, ums) and hook into build.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Wed, 10 Oct 2012 22:06:44 +0000 (00:06 +0200)]
usb4bsd: Fixes, fixes, fixes.
* Fix a panic when trying to free null pointer in usb_free_device.
* Fix a panic due to wrong assignment of locks.
* Fix kqueue handling.
* Add debug helpers.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Wed, 10 Oct 2012 21:46:53 +0000 (23:46 +0200)]
usb4bsd: Implement umass scsi probing on attach.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Sun, 7 Oct 2012 15:25:03 +0000 (17:25 +0200)]
usb4bsd: Bring in FreeBSD's uaudio driver.
This is based on FreeBSD SVN r231881.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Tue, 2 Oct 2012 04:21:24 +0000 (06:21 +0200)]
usb4bsd: Separate building of the old USB modules.
Don't build the old USB driver modules when WANT_USB4BSD is set.
Also, do some cleanup in some of the Makefiles, while I'm here.
Sascha Wildner [Mon, 1 Oct 2012 04:04:09 +0000 (06:04 +0200)]
usb4bsd: Cleanup pass.
* Adjust indentation, whitespace and typos.
* Uniformly use #if 0 to deactivate code instead of C comments.
Sascha Wildner [Thu, 27 Sep 2012 07:51:55 +0000 (09:51 +0200)]
usb4bsd: Hook usb, ehci, ohci, uhci, xhci, umass, and usfs into the build.
Adds some missing Makefiles and adjusts others.
With this commit, the corresponding modules all build when WANT_USB4BSD
is set, but they are not guaranteed to work. More bugs will be fixed in
subsequent commits.
The new USB code can't yet be built into the kernel.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Wed, 26 Sep 2012 17:31:51 +0000 (19:31 +0200)]
usb4bsd: Perform the usual porting on the controller, storage and core code.
malloc -> kmalloc, printf -> kprintf, locking, and so forth.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Wed, 26 Sep 2012 16:00:13 +0000 (18:00 +0200)]
usb4bsd: Generate usbdevs.h and usbdevs_data.h.
Also, rename devlist2h.awk to usbdevs2h.awk and remove our CVS ID in
Makefile.usbdevs.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Wed, 26 Sep 2012 07:27:25 +0000 (09:27 +0200)]
<bus/pci/pcireg.h>: Add a definition for XHCI programming interface.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Wed, 26 Sep 2012 00:00:09 +0000 (02:00 +0200)]
usb4bsd: Hook the userland part into the build.
Define a new make.conf(5) variable, WANT_USB4BSD, which (if set) causes
the new USB's userland to be built (similar to WANT_NETGRAPH7).
Sascha Wildner [Tue, 25 Sep 2012 21:15:43 +0000 (23:15 +0200)]
usb4bsd: Adjust header paths in libusbhid, usbhidctl, and public headers.
Also remove some __FBSDID's.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>