Commit Graph

5241 Commits

Author SHA1 Message Date
Michael Lotz
696914f907 If device allocation fails, retry the attach process, i.e. reset and initialize
the device again. Makes Axel's USB stick work and might also help with other
(broken) devices.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36234 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 18:26:26 +00:00
Ingo Weinhold
f6f047841e Use debug_memcpy() instead of user_memcpy() in the kernel debugger.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 17:40:50 +00:00
Michael Lotz
2548ea219a * Add the framework for adding an arch specific module to the PCI bus_manager.
* Implement such a module for x86 which currently exports only an MSI API.
* Implement the PCI part for configuring and enabling MSIs.
* Some automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 15:18:46 +00:00
Oliver Tappe
ab1a4bef4f cleaning up after myself 4 years later:
* remove matches_broadcast_address slot in address module, as it
  doesn't exist anywhere
* automatic whitespace cleanup



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 19:06:46 +00:00
Oliver Tappe
56f097ebd9 Applying patch by Atis Elsts:
* fix connecting to INADDR_ANY work for tcp (effectively will
  connect to INADDR_LOOPBACK)
* add same behaviour to udp
* move some ipv4-specific code out of tcp into ipv4 address module
* bind() and connect() now reject addresses from non-matching 
  families
* myself: minor cleanup in udp.cpp with respect to 80 chars limit
Closes #5716 - many thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 18:39:34 +00:00
Rene Gollent
0d6b5aa1ea Fix build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 01:17:15 +00:00
François Revol
4b19582754 First implementation of attribute support on NTFS. Currently lists and reads named streams as such, but the name mapping is not yet correct.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 00:07:52 +00:00
François Revol
e16c15a7e7 Fix a possible mem leak in case of error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 00:05:40 +00:00
Michael Lotz
8f4f2bf933 Implement support for ATAPI command set devices. It's used by some USB CD drives
and easy to implement since ATAPI basically is SCSI anyway and we don't use many
problematic commands. Only tested for the 0x05 subclass, but 0x02 should work
the same.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 17:13:49 +00:00
François Revol
2365cde279 - cleanup,
- fix copyright,
- disable tracing,
- add support for reading attributes. The current naming is not final as I'm actually experimenting with it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 13:56:44 +00:00
François Revol
5e818c534c Add missing files, fix the build :P
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 13:27:53 +00:00
François Revol
b026d219fc Partial implementation for attribute support. Currently listattr successfully lists attributes on files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 13:18:05 +00:00
Axel Dörfler
1a1a8f33d1 * Applied patch by Janito that solves a TODO and utilizes the actual device
block size to align the file map.
* This closes ticket #5707, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 12:05:59 +00:00
Axel Dörfler
275463f4c3 * Applied (changed) patch by Janito to update the superblock structure to its
latest version. Thanks!
* This closes #5704.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 11:48:51 +00:00
Ingo Weinhold
37cfdb5d95 Patch by Sean Bartell:
* SuperBlock: In case of ReiserFS 3.6 we were stil loading only the old
  superblock format.
* Added support for ReiserFS labels (volume names).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 08:44:38 +00:00
Axel Dörfler
e572c32335 * When receiving an out of sequence FIN we must ignore it until its part of
our available buffer (we might want to move this into the BufferQueue class).
* Now, _AddData() remembers the flag (and its position), and will alter the
  segment's flags field to reflect the current state.
* This fixes not being able to login into mmlr.dyndns.org.
* Fixed warnings when TCP_PROBE is defined.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 00:04:23 +00:00
Jérôme Duval
1590c69933 * added forkpty() and login_tty() to bsd compatibility, a test for forkpty().
* added a TODO questioning the closing master and slave in openpty() when applying window size fails.
* added TIOCSCTTY as a TTY ioctl code, the caller become controlling TTY. Review comments are welcome.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-10 13:48:28 +00:00
Michael Lotz
bb1d98b687 * The volume init wasn't checked, so a failed init would crash.
* Unlocking a removable drive was done in the wrong error label which would've
  resulted in accessing deadbeef due to the volume being freed just before its
  use or using the not initialized volume variable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-10 12:57:17 +00:00
Ingo Weinhold
37b79c0324 Patch by Sean Bartell: Added support for old ReiserFS 3.5 super block location.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-10 12:02:02 +00:00
François Revol
092cf00807 Fix broken TRACE() arg. Add more tracing to spot a crash on unmount after deleting a folder. Return B_OK from read() when node has no data, this allows copying bookmarks which are empty files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-08 01:35:58 +00:00
François Revol
ce7942c6e0 More argument fixing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-08 00:36:52 +00:00
François Revol
8b1460ce94 It's working, it's working !
- put_vnode() also had a signature change,
- add backup server (commented) in config file,
- disable trace build,
- some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 22:33:23 +00:00
François Revol
4358b19156 Of course, filling in the vnode ops for xattrs will help :D
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 17:42:03 +00:00
François Revol
507f27c458 Seems get_vnode() also had some changes in arguments. Now googlefs mounts and shows on the desktop. Seems xattrs aren't readable yet though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 17:26:02 +00:00
François Revol
cdf1815cd7 Fix various prototype errors due to changes in the VFS, mostly fs_node vs fs_vnode->private_node. This should fix obvious crashes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 15:56:08 +00:00
François Revol
9f747e6715 Fix TRACE build. Fix a crash due to a changed arg to googlefs_publish_static_entries() that wasn't reflected. Mounts but still crashes as Tracker tries to open something.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 20:23:41 +00:00
François Revol
8c3082077f The mighty GoogleFS builds again for Haiku \o/
Still lotsa warning and panics on mount though...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 19:43:27 +00:00
François Revol
185b8ae6b0 Hmm, we'll move it elsewhere anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 18:06:05 +00:00
François Revol
4e8d74eed5 Keep the BeOS compatible kernel interface here for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 15:00:24 +00:00
François Revol
80858f95df The Haiku kernel now exports BSD socket calls directly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 14:53:03 +00:00
Oliver Ruiz Dorantes
62f5ba006a - Read Local features al LocalDevice constructor
- keep record in UL and KL side



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-02 12:12:29 +00:00
Oliver Ruiz Dorantes
0feca7d685 - Prepending l2cap header in a separate function to not play with c++ contexts
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-02 11:42:00 +00:00
Axel Dörfler
61fb53ddc5 * The usual cleanup behind mmu_man ;-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-29 18:22:04 +00:00
Jérôme Duval
42581cdc8c Patch from kallisti #5557: add additional device ID's to Nvidia GPGPU driver
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-29 16:47:28 +00:00
François Revol
5f69c35f32 Fix tracing code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-28 19:14:33 +00:00
François Revol
e45fc8563b Hmm, ignoremask is an *ignore* mask :D
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-28 18:32:14 +00:00
François Revol
5692fe1305 Seems NetMos is another brand for MosChip, use the better known brand.
Add link to datasheet for the other supported chip. Seems their site wants people to register to get them, but google indexed the PDF directly anyway so...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-27 19:22:10 +00:00
François Revol
9d1aa9c9ac Restore DEVICE_COUNT which was set to 2 for testing. We can do better :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-26 23:47:22 +00:00
François Revol
1d62878c78 Update copyrights. Mention TuneTracker Systems as a sponsor.
Add several ways to restrict UART probing when matching devices:
- max port count,
- PCI subsystem ID mask (some cards encode the port count there),
- Base Address Register mask (some cards only have UART in the first 2 ranges).
Use those to match 2 specific NetMos chips, and avoid screwing up when input_server tries to access UARTs at boggus ranges.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-26 23:44:07 +00:00
François Revol
baaa0348a9 Implemented ioctl(FIONREAD) on tty devices. Untested.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-26 19:47:23 +00:00
François Revol
6e5c475a09 Finish the alternative device scanning code (using the PCI bus manager instead of config manager) and use it, it actually works better in R5 on SMP boxen (config manager seems to miss reporting IRQ lines).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-25 00:14:41 +00:00
François Revol
f878f09673 Less tracing by default...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-23 19:22:29 +00:00
Ingo Weinhold
515c6d1bff Automatic white space cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-19 18:11:55 +00:00
Ingo Weinhold
02cb896640 * StreamReader::ReadAt(): Passed incorrect size to _ReadDirectItem(), which
could cause a memory read access beyond the block, resulting in a crash, if
  nothing was mapped there.
* Automatic white space cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-19 18:11:32 +00:00
François Revol
d362993433 Fix various warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-18 15:45:02 +00:00
François Revol
4fa9985629 Add makefile to build under BeOS, I gave up jamming in ZETA.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-18 12:33:23 +00:00
Jérôme Duval
f406c2a4de pass the firewire comm cookie instead of the bus driver cookie
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-14 18:52:07 +00:00
Michael Lotz
67f1ff42ed Add missing check for non-data items which lead to picking up some mice as
keyboards due to buttons being padded by non-data arrays. The keys wouldn't
actually be used later, but a (useless) keyboard device would still be
published.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-10 01:12:12 +00:00
Michael Lotz
18074c28fa Reworked the handler adding to be based on input reports. This way multiple
handlers may be added to a single device if it provides more than one report
for a kind of device. Should fix #5549 where two mouse reports are present
and only the first one was picked up and made available as device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-10 01:06:14 +00:00
Axel Dörfler
a9022acd2a * BlockAllocator::CheckNextNode() did enter an endless loop if it experienced
problems iterating over a B+tree (due to corruption).
* For now, it will stop the check process when this happens, but we definitely
  need to be able to fix broken B+trees in the future.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-09 20:08:25 +00:00
Michael Lotz
2cf04ca728 Don't take ownership by writing the OS-owned semaphore when the BIOS-owned flag
isn't set. I'd tend to say that's a rather odd interpretation of the specified
protocol if a BIOS goes mad if the sem is written to while it doesn't actually
own the controller (it should just be a no-op in that case and directly set the
sem state). But it seems this is what others do as well (FreeBSD, Linux) so we
follow. Thanks to vegardw in #2083 for researching into this and proposing this
fix. Minor other cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-07 22:46:11 +00:00
Axel Dörfler
5edde94cab * checkfs is now working again; I couldn't test my earlier changes because I had
no time left, but I didn't want to lose them either.
* This fixes bug #5536, sorry for the inconvenience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-06 13:47:50 +00:00
Stephan Aßmus
841fd96939 Fixed indentation issue in my previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-04 12:36:24 +00:00
Stephan Aßmus
e3255ac4e5 Fixed error spotted by Axel, which I introduced in r35756. The bus value didn't
get assigned anymore. Sorry about that!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-04 12:33:00 +00:00
Ingo Weinhold
8485307948 Reverted unnecessary part of r35433.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-04 10:38:04 +00:00
Stephan Aßmus
5e144a360c I don't know what recent change may have caused this, but I had to introduce the
check to avoid a division by zero when scanning my partition map in order to be
able to boot. I cannot spot any regressions, I can still access all my partitions
just fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-04 09:53:32 +00:00
Stephan Aßmus
809c5798b1 Check for division by zero.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-04 09:51:50 +00:00
Colin Günther
e4a0a9c2b4 Updating the atheroswifi driver to the FreeBSD HEAD svn rev 204100. This enables
support for some of the newer 9k chipsets. For example my Eee PC 1005 HA can
now be used with WiFi.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-03 21:55:51 +00:00
Axel Dörfler
d501707d8a * Removed the cookie field of the check_control structure; that really was
a stupid idea. Instead, the already existing fCheckCookie member is used.
* bfs_ioctl() now accesses all userland buffers safely, this should help with
  #3264, and move the crash where it belongs.
* Changes not yet tested; they only affect checkfs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-03 19:38:56 +00:00
Matt Madia
b353282928 Extended AddWifiFirmwareToHaikuImage to support a boolean, which determines
whether to extract the firmware archive onto Haiku Image or to simply copy
it intact. This allows the ipw2100 and iprowifi2200 firmware archives to be
copied onto the default images. Fixes #5523


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-03 17:23:06 +00:00
Fredrik Holmqvist
1cb8d6e5c6 Reverting r35592, that checked that it was a valid 32 bit physical address, now that #5449 is fixed. (So we use the ACPICA code without modifications).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-02 21:12:01 +00:00
Colin Günther
1d2ac9a4ea Fixing coding style violation. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-01 22:13:33 +00:00
Axel Dörfler
2056103694 * Added the standard names for the TCP states as comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-01 16:21:44 +00:00
Ingo Weinhold
b7fd1cf61c Patch by Matt Madia:
* Added iprowifi4965 driver to the image.
* Add the firmware for the Wifi drivers that need it to the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-28 23:57:28 +00:00
Michael Lotz
e4c0070fe6 Added a bit of logic to possibly fall back to a fixed 512 block MBR in case
certain conditions indicate that we might deal with a fixed 512 bytes MBR on
a non 512 byte block size medium. One condition is that at least one partition
had to be shrunk to fit the available size (which usually happens with larger
block sizes). We retry with a fixed 512 block size once and compare the result
if it didn't improve the situation it is reverted again. This is mostly a
preparation for the upcoming "anyboot" hybrid MBR/ISO images.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-28 18:10:29 +00:00
Michael Lotz
17d87ddf36 * Finish the partition scanning part so that UDF is recognized and mountable.
* Added myself to the copyrights.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-28 08:50:01 +00:00
Michael Lotz
7cadc8aff2 * Cleanup the Jamfile, this one doesn't work on BeOS anymore.
* Turn off remaining verbose debug output.
* Add UDF to the default image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-28 08:03:41 +00:00
Michael Lotz
af15ee68f1 * Implement udf_io and udf_get_file_map.
* Add file map and cache and do reads through the file_cache for file ICBs.
* Move the private _Read() backend from the header to the implementation file.
* Read() is now only used for directory iteration.
* Turned off the verbose debug output.
* Minor cleanup.

This fixes the abuse of the block_cache, should allow executables on UDF and
won't panic on protected content.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-28 07:50:28 +00:00
Michael Lotz
4f3f1911cd The whole reading was seriously confused. It tried to use the block cache for
multiple blocks at a time which it doesn't do as it always only returns one
block (and actually completely ignores the provided offset and length).
It only didn't crash after that because it would in the end always only memcpy
length >> block shift bytes which ends up being pretty small in most cases.
Since it does block wise mapping it can't do multiple blocks anyway, and really
using the block cache for this is all wrong because this should really use a
file map to resolve the block mapping and then use the file cache instead.
Still this at least gets it working. Beware though that protected DVD content
will make the block cache panic, as reading these blocks without prior setting
the drive up correctly will fail (the drive will stall the reads).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-28 05:35:31 +00:00
Michael Lotz
8d3a8691d4 * UDF didn't actually initializing _flags to 0 (same as with fat).
* Set the _type as well, this gets file listings work.
* Some cleanup and debug output moves/fixes/additions.

Yet crashes when accessing files though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-27 23:19:13 +00:00
Ingo Weinhold
dcd2d7c4a7 Added entry cache support. Not that much to do for a read-only FS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-27 21:03:40 +00:00
Axel Dörfler
791b130291 * Fixed a possible NULL pointer access in case the list is empty.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-25 13:21:40 +00:00
Rene Gollent
1ac83b4fbc Patch by mjw: Fix browsing subdirectories in NFS.
Partially fixes ticket #4661. Thanks!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-25 01:25:47 +00:00
Axel Dörfler
f52b12e51a * Added a peak value (the maximum number of allocated objects) to the net_buffer
stats.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-24 15:08:06 +00:00
Fredrik Holmqvist
af11926fa4 Added a temporary? warning if the ACPI_MACHINE_WIDTH == 32 and Rsdp->XsdtPhysicalAddress > ACPI_UINT32_MAX.
The code is in a part of the ACPI code we import, so using its code style and is based on similar code a
few lines above.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-23 21:40:35 +00:00
Fredrik Holmqvist
6799b0bfe4 Use B_ANY_KERNEL_ADDRESS when mapping physical memory as pointed out by Ingo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-23 17:26:47 +00:00
Ingo Weinhold
28eaa574fd Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-23 14:19:19 +00:00
Ingo Weinhold
4262055074 * Always reset the requests in WriterLocker::AcquireWriter() and
ReaderLocker::AcquireReader() before starting to wait. This could lead to
  busy waiting in loops in certain situations.
* Got rid of the ReaderLocker::AcquireReader(bool) version to avoid confusion.
* Cleaned up and fixed the code introduced in r25408 (VMIN, VTIME support):
  - Gave the second ReaderLocker::AcquireReader() parameter the same name as
    the corresponding one of WriterLocker::AcquireWriter() and fixed its weird
    semantics (one less than the desired number of bytes -- huh?). Since it was
    not set on the request, it didn't work correctly anyway.
  - tty_input_read(): The O_NONBLOCK return code was broken. It returned B_OK
    instead of B_WOULD_BLOCK. The O_NONBLOCK mode overrides VMIN/VTIME now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-22 23:05:39 +00:00
Ingo Weinhold
c8a0f6587d RequestOwner::Wait(): No need to publish the condition variable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-22 18:10:29 +00:00
Fredrik Holmqvist
57c418cdd6 Update ACPI to 20100121.
Changes from ACPI include:
 * eliminate unnecessary invocations of the _STA method, which in turn can improve boot times.
 * Implemented an additional repair for predefined method return values.
 * Removed the obsolete ACPI_INTEGER data type.
 * Removed the unused UINT32_STRUCT type, and the obsolete Integer64 field in the parse tree object.
 * Added additional warning options for the gcc-4 generation.
 * Enhanced automatic data type conversions for predefined name repairs.
 * Implemented automatic removal of null package elements during predefined name repairs.
 * Implemented a repair for the predefined _FDE and _GTM names.
 * Implemented additional module-level code support.
 * Fixed possible mutex acquisition errors when running _REG methods.
 * Fixed a possible memory leak during module-level code execution.
 * Removed messages for successful predefined repair(s).
 * Implemented a post-order callback to AcpiWalkNamespace.
 * Modified the behavior of the operation region memory mapping cache for SystemMemory.
 * Implemented an automatic repair for predefined methods that must return sorted lists.
 * Fixed a possible fault during predefined name validation if a return Package object contains NULL elements.
 * Implemented additional module-level executable AML code support.
 * Fixed a problem where an Operation Region _REG method could be executed more than once.
 * Fixed a possible memory leak for the Scope() ASL operator.
 * Implemented a run-time repair for the _MAT predefined method.
 * Implemented a run-time repair for the _BIF and _BIX predefined methods.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-21 19:46:35 +00:00
Jérôme Duval
cd439bd9e3 We now pin sense the headphone pin widget to check if something is plugged in. Use this to disable/enable speakers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-20 00:28:46 +00:00
Axel Dörfler
a791687e90 * Applied slightly cleaned up patch by romain that sanitizes the volume names.
* This closes bug #4602.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-19 16:52:55 +00:00
Ingo Weinhold
dac21d8bfe * map_physical_memory() does now always set a memory type. If none is given (it
needs to be or'ed to the address specification), "uncached" is assumed.
* Set the memory type for the "BIOS" and "DMA" areas to write-back. Not sure, if
  that's correct, but that's what was effectively used on my machines before.
* Changed x86_set_mtrrs() and the CPU module hook to also set the default memory
  type.
* Rewrote the MTRR computation once more:
  - Now we know all used memory ranges, so we are free to extend used ranges
    into unused ones in order to simplify them for MTRR setup.
  - Leverage the subtractive properties of uncached and write-through ranges to
    simplify ranges of any other respectively write-back type.
  - Set the default memory type to write-back, so we don't need MTRRs for the
    RAM ranges.
  - If a new range intersects with an existing one, we no longer just fail.
    Instead we use the strictest requirements implied by the ranges. This fixes
    #5383.

Overall the new algorithm should be sufficient with far less MTRRs than before
(on my desktop machine 4 are used at maximum, while 8 didn't quite suffice
before). A drawback of the current implementation is that it doesn't deal with
the case of running out of MTRRs at all, which might result in some ranges
having weaker caching/memory ordering properties than requested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-18 13:52:43 +00:00
Axel Dörfler
f7f996cc32 * BPlusTree is now using the TransactionListener mechanism to update its private
fHeader copy on failure.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-16 12:23:43 +00:00
Axel Dörfler
fd91cf4d18 * Replaced the specialized inode in transaction mechanism with a generic one.
That costs 12 more bytes per inode on 32 bit platforms, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-16 11:30:15 +00:00
Axel Dörfler
2a8ae7fb92 * CachedNode::SetToWritable() already needs the updated header, so we need to
Unset() the header in Allocate() before calling it. This fixes bug #5410.
* CachedNode::Allocate() does not need to revert its changes; the transaction
  will take care of that. However, BPlusTree::fHeader is currently not correctly
  maintained if a transaction fails (working on that now).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-16 08:34:55 +00:00
Axel Dörfler
a05e4ed330 * BPlusTree no longer caches the header in its own block, instead, it aggregates
a copy of its structure. CachedNode is only used to write to the header, now.
  This should cause the block_cache to no longer have any referenced blocks
  outside of any I/O.
* Coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-15 16:39:54 +00:00
Axel Dörfler
a3ec278add * Made some internal lists use DoublyLinkedLists instead of struct list.
* Added a few KDL commands to improve your debugging experience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-15 13:28:33 +00:00
Axel Dörfler
965abdebd5 * BufferQueue::Free() no longer will return negative values. As is, the max
bytes restriction is only a soft limit. This fixes stalling TCP connections
  because everything received would be out of window once this happened.
* Added a TODO to look into TCP's window management - it doesn't seem to be
  right.
* Fixed build with tracing turned on.
* Made the fNumber member of tcp_sequence private.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-15 13:27:26 +00:00
Axel Dörfler
10cb62616f * Fixed destruction order of lock/reference that could lead to access already
deleted memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-15 13:23:48 +00:00
Stefano Ceccherini
a0b5b08b2e Added back the id for rtl8139C+. Tested succesfully under XenServer.
Fixes ticket #5180 (or at least part of it)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-11 15:45:46 +00:00
Rene Gollent
177ea1a461 Apply patches by romain:
- Initialize flags argument correctly in get_vnode. 
	- Fix issues with handling the FAT mirror incorrectly.
	
Should resolve ticket #3690 and possibly others.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-09 01:13:35 +00:00
Artur Wyszynski
cee04e8074 Fixed various errors/warnings reported by cppcheck:
* memory leaks
* resource leaks
* added const's to getters
* removed a few reundant conditions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-08 22:50:38 +00:00
Ingo Weinhold
40bb94819e * Removed useless return parameter from vm_remove_all_page_mappings().
* Added vm_clear_page_mapping_accessed_flags() and
  vm_remove_all_page_mappings_if_unaccessed(), which combine the functionality
  of vm_test_map_activation(), vm_clear_map_flags(), and
  vm_remove_all_page_mappings(), thus saving lots of calls to translation map
  methods. The backend is the new method
  VMTranslationMap::ClearAccessedAndModified().
* Started to make use of the cached page queue and changed the meaning of the
  other non-free queues slightly:
  - Active queue: Contains mapped pages that have been used recently.
  - Inactive queue: Contains mapped pages that have not been used recently. Also
    contains unmapped temporary pages.
  - Modified queue: Contains unmapped modified pages.
  - Cached queue: Contains unmapped unmodified pages (LRU sorted).
  Unless we're actually low on memory and actively do paging, modified and
  cached queues only contain non-temporary pages. Cached pages are considered
  quasi free. They still belong to a cache, but since they are unmodified and
  unmapped, they can be freed immediately. And this is what
  vm_page_[try_]reserve_pages() do now when there are no more actually free
  pages at hand. Essentially this means that pages storing cached file data,
  unless mmap()ped, no longer are considered used and don't contribute to page
  pressure. Paging will not happen as long there are enough free + cached pages
  available.
* Reimplemented the page daemon. It no longer scans all pages, but instead works
  the page queues. As long as the free pages situation is harmless, it only
  iterates through the active queue and deactivates pages that have not been
  used recently. When paging occurs it additionally scans the inactive queue and
  frees pages that have not been used recently.
* Changed the page reservation/allocation interface:
  vm_page_[try_]reserve_pages(), vm_page_unreserve_pages(), and
  vm_page_allocate_page() now take a vm_page_reservation structure pointer.
  The reservation functions initialize the structure -- currently consisting
  only of a count member for the number of still reserved pages.
  vm_page_allocate_page() decrements the count and vm_page_unreserve_pages()
  unreserves the remaining pages (if any). Advantages are that reservation/
  unreservation mismatches cannot occur anymore, that vm_page_allocate_page()
  can verify that the caller has indeed a reserved page left, and that there's
  no unnecessary pressure on the free page pool anymore. The only disadvantage
  is that the vm_page_reservation object needs to be passed around a bit.
* Reworked the page reservation implementation:
  - Got rid of sSystemReservedPages and sPageDeficit. Instead
    sUnreservedFreePages now actually contains the number of free pages that
    have not yet been reserved (it cannot become negative anymore) and the new
    sUnsatisfiedPageReservations contains the number of pages that are still
    needed for reservation.
  - Threads waiting for reservations do now add themselves to a waiter queue,
    which is ordered by descending priority (VM priority and thread priority).
    High priority waiters are served first when pages become available.
  Fixes #5328.
* cache_prefetch_vnode(): Would reserve one less page than allocated later, if
  the size wasn't page aligned.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-03 18:53:52 +00:00
Jérôme Duval
7f2f5e05b0 update from Jerome Leveque, with style changes by me (I hope you don't mind).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-01 21:27:42 +00:00
Ingo Weinhold
e65c400299 * Replaced the vm_page_allocate_page*() "pageState" parameter by a more
general "flags" parameter. It encodes the target state of the page -- so
  that the page isn't unnecessarily put in the wrong page queue first -- a
  flag whether the page should be cleared, and one to indicate whether the
  page should be marked busy.
* Added page state PAGE_STATE_CACHED. Not used yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-29 15:54:40 +00:00
Ingo Weinhold
72382fa629 * Removed the page state PAGE_STATE_BUSY and instead introduced a vm_page::busy
flag. The obvious advantage is that one can still see what state a page is in
  and even move it between states while being marked busy.
* Removed the vm_page::is_dummy flag. Instead we mark marker pages busy, which
  in all cases has the same effect. Introduced a vm_page_is_dummy() that can
  still check whether a given page is a dummy page.
* vm_page_unreserve_pages(): Before adding to the system reserve make sure
  sUnreservedFreePages is non-negative. Otherwise we'd make nonexisting pages
  available for allocation. steal_pages() still has the same problem and it
  can't be solved that easily.
* map_page(): No longer changes the page state/mark the page unbusy. That's the
  caller's responsibility.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-29 10:00:45 +00:00
Michael Lotz
c14db1b2a1 Also accept buttons from the "button page" as long as they are using arrays.
That usually indicates keyboard-like usage and one of my keyboards uses this
type for multimedia keys.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-27 00:44:39 +00:00
Michael Lotz
fd97180e27 Make the HID parser usable standalone in userland.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-26 23:27:56 +00:00
Ingo Weinhold
cff6e9e406 * The system now holds back a small reserve of committable memory and pages. The
memory and page reservation functions have a new "priority" parameter that
  indicates how deep the function may tap into that reserve. The currently
  existing priority levels are "user", "system", and "VIP". The idea is that
  user programs should never be able to cause a state that gets the kernel into
  trouble due to heavy battling for memory. The "VIP" level (not really used
  yet) is intended for allocations that are required to free memory eventually
  (in the page writer). More levels are thinkable in the future, like "user real
  time" or "user system server".
* Added "priority" parameters to several VMCache methods.
* Replaced the map_backing_store() "unmapAddressRange" parameter by a "flags"
  parameter.
* Added area creation flag CREATE_AREA_PRIORITY_VIP and slab allocator flag
  CACHE_PRIORITY_VIP indicating the importance of the request.
* Changed most code to pass the right priorities/flags.

These changes already significantly improve the behavior in low memory
situations. I've tested a bit with 64 MB (virtual) RAM and, while not
particularly fast and responsive, the system remains at least usable under high
memory pressure.
As a side effect the slab allocator can now be used as general memory allocator.
Not done by default yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-26 14:44:58 +00:00
Jérôme Duval
72570e2e14 * spawn the thread after an audio group is created to be safe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 21:19:31 +00:00
Axel Dörfler
3c50a64697 * Inode::Create() should also better check if creating the file cache succeeded.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-24 13:05:19 +00:00
Axel Dörfler
c709a396cf * Added a method NeedsFileCache() that determines whether or not a file cache
should be allocated.
* Inode::InitCheck() now fails if a file cache couldn't be allocated.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-24 13:02:18 +00:00
Axel Dörfler
4e32bf0954 * Simplified code a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-24 12:15:31 +00:00
Clemens Zeidler
707e415d47 Allow a tap click when the right touchpad button is pressed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 15:23:58 +00:00
Stephan Aßmus
5266a73520 Applied patch by romain. Through refactoring, the volume name is already
retrieved before a volume is actually mounted and this fixes #4602. I have
applied the patch as is, although it contains some minor coding style violations,
since these have been there before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 14:01:04 +00:00
Ingo Weinhold
e54d40e826 There's no reason for allocating with CACHE_DONT_SLEEP. The only thing that
would get us is that the allocations could fail when they wouldn't need to.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35242 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-22 20:01:26 +00:00
Stephan Aßmus
789d560bc6 Automatic whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-22 11:48:16 +00:00
Ingo Weinhold
86c794e5c1 slab allocator:
* Implemented a more elaborated raw memory allocation backend (MemoryManager).
  We allocate 8 MB areas whose pages we allocate and map when needed. An area is
  divided into equally-sized chunks which form the basic units of allocation. We
  have areas with three possible chunk sizes (small, medium, large), which is
  basically what the ObjectCache implementations were using anyway.
* Added "uint32 flags" parameter to several of the slab allocator's object
  cache and object depot functions. E.g. object_depot_store() potentially wants
  to allocate memory for a magazine. But also in pure freeing functions it
  might eventually become useful to have those flags, since they could end up
  deleting an area, which might not be allowable in all situations. We should
  introduce specific flags to indicate that.
* Reworked the block allocator. Since the MemoryManager allocates block-aligned
  areas, maintains a hash table for lookup, and maps chunks to object caches,
  we can quickly find out which object cache a to be freed allocation belongs
  to and thus don't need the boundary tags anymore.
* Reworked the slab boot strap process. We allocate from the initial area only
  when really necessary, i.e. when the object cache for the respective
  allocation size has not been created yet. A single page is thus sufficient.

other:
* vm_allocate_early(): Added boolean "blockAlign" parameter. If true, the
  semantics is the same as for B_ANY_KERNEL_BLOCK_ADDRESS.
* Use an object cache for page mappings. This significantly reduces the
  contention on the heap bin locks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 23:10:52 +00:00
Michael Lotz
28e27159b9 Adding a log_overlay filesystem layer. It passes through all calls to the other
layer(s) and logs a timestamp, the thread id, the super volume or super vnode
and interesting bits about call arguments/results to a file (in /var/log). This
can be used for example to debug filesystems without having to manually add
debug output to all the calls, or to analyze access patterns. To add the logging
layer just mount the layer with whatever actual filesystem you have:

  mount -t "bfs:log_overlay" /dev/disk/usb/0/0/0 /mountpoint

This would then create the logfile /var/log/log_overlay_dev_disk_usb_0_0_0.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35194 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 05:01:28 +00:00
Michael Lotz
40fa690b51 The vnode->private_node holds our object, not vnode itself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 23:47:03 +00:00
Colin Günther
396abf076f * Adapting firmware based driver to the new firmware name mapping method.
* Removing the respective settings files, as they are no longer needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 17:49:45 +00:00
Stephan Aßmus
bf365f13aa * Renamed NetFSServer to netfs_server and added .rdef for running it in the
background.
 * Renamed NetFSServerPrefs to netfs_server_prefs.
 * Fixed copyright years in authentication_server.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 16:57:59 +00:00
Stephan Aßmus
63fad9a172 Added resource which makes the userlandfs_server run as a background service.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 16:05:19 +00:00
Stephan Aßmus
44905bf648 * Renamed jam target to "authentication_server"
* Updated application signature (I couldn't find a place outside the server's
   code where it is used).
 * Added .rdef with icon and making the app run as background service.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 15:50:33 +00:00
Stephan Aßmus
6a4c235b67 Renamed jam target to just "netfs".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 10:59:00 +00:00
Colin Günther
6754b03459 Another driver settings file. Should have been part of r35158.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 09:45:28 +00:00
Colin Günther
3dc8c9b9ae Adding driver settings file with the firmware name mappings. Those files need
to be copied to /home/config/settings/kernel/drivers with omitting the file
endings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 09:44:02 +00:00
Colin Günther
b6dd23b149 Reverting to original firmware naming scheme. You now just have to extract
the Intel provided firmware archive in /system/data/firmware/ipw2100/ with out
the need of any renaming.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 09:15:27 +00:00
Michael Lotz
2416d6ae42 anevilyak+mmlr:
accept() is supposed to return B_WOULD_BLOCK when SO_NONBLOCK is set.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 04:31:35 +00:00
Michael Lotz
5ec7bd49cb The default for deleteWhenUnreferenced changed between the Referencable of the
old userlandfs and the BReferenceable now in use by netfs. So better explicitly
set that to avoid nasty surprises (like crashes left and right).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 02:41:06 +00:00
Michael Lotz
44b08ffcb9 The node parameter is a void ** but these calls expect the void * to the node we
got as a result from read_vnode. The joys of void pointers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-18 23:57:38 +00:00
Rene Gollent
27bb89cae1 BFS needs to also allocate a file cache when dealing with a long symlink inode. Fixes ticket #5282.
Axel and/or Ingo, please review.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-18 22:49:33 +00:00
Adrien Destugues
4e7bc18cbc - Fix style and bugs in the davicom driver
- Also remove and add some debug output to try to spot the problem without getting flooded with too much messages


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-18 20:12:48 +00:00
Oliver Ruiz Dorantes
9760dcae20 - Move bluetooth net_device module to a independent module HCI, remake API interfaces
- Move functionality for assembling ACL/events packets of the driver to this module
- Move h2generic driver to c++ (not style)
- Pass checkstyle.py to all commited files.
Fixes:
- Wrong condition for finishing l2cap packet segmentation.
- Place NetBuffersPrependers in a inner scope to avoid Sycing twice in destructor.
- Avoid keeping trace of l2cap responses of any other kind of thread.
- Do not free net_buffers of for Frame containers.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35117 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-17 15:46:36 +00:00
Jérôme Duval
e25dcf1a96 * We now mute internal speakers when using headphones. We don't distinguish between headphones and mic jacks though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-15 22:07:42 +00:00
Michael Lotz
fc844f7bfb * Don't call into the ATA stack if we're not transferring data since the
interrupt could be triggered early in the boot process where the ATA channel
  might not yet be fully set up leading to KDLs accessing uninitialized memory.
* Automatic whitespace cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-15 19:21:52 +00:00
Stephan Aßmus
feb0da5925 Fixed misleading warning. I don't know how a BMessage based settings file
at ~/config/settings/netfs/NetFSServer would come into being, but NetFSServer
will fall back to ~/config/settings/kernel/drivers/netfs-server, which works
if that file is there (see src/add-ons/kernel/file_systems/netfs/netfs-server
for an example settings file).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-15 12:35:37 +00:00
Michael Lotz
d4ffeadd1a Don't return early when we're not DMAing. This causes the bus master status
to be read/acknowledged (new) and the status to be read (like before in that
case) which helps discarding spurious interrupts on one controller I have that
would otherwise cause an interrupt storm as the bus master interrupt would never
be acknowledged. The ATA stack will discard the interrupt if it's not expecting
a transfer, so no real harm done.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-15 02:56:39 +00:00
Stephan Aßmus
5a1d355fdf Copied Ingo's netfs from the dark pit in which it was forgotten to something
more visible and ported it to the current UserlandFS server (and GCC4). It still
uses the R5 file system API, which the UserlandFS conveniently still provides
support for. It compiles and links, but is otherwise still untested. The changes
I am alsmost confident that I didn't change any semantics. That is unless
HashMap, HashString and DoublyLinkedList work differently enough to make any of
the netfs code break.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 21:56:16 +00:00
Stephan Aßmus
783a5c71b1 Bring up to speed for GCC4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 21:51:48 +00:00
Axel Dörfler
7108ab1ff9 * copy_meta_data() also copied the size of the buffer, which wasn't such a good
idea. Splitting large buffers no longer causes KDL.
* merge_buffer() now maintains the size of the source buffer while removing its
  nodes.
* The paranoia checks run through again now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 16:35:41 +00:00
Axel Dörfler
bedf29cacd * Fixed build with tracing turned on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 16:31:24 +00:00
Axel Dörfler
82e4f70df1 * Volume::Unmount() never put the root node, and never deleted the volume's
block cache.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 12:36:14 +00:00
Michael Lotz
15755741ce Move just a bit more of the interrupt code to the glue code. It does an and with
the enabled interrupts to check if there's anything of interest. This obviously
couldn't really work when clearing the enabled interrupts in the glue code.
This gets broadcom43xx working for me, tested with a Linksys WMP54GS-EU (PCI).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 22:24:18 +00:00
Axel Dörfler
41e2ba1437 * Added missing check after an allocation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 17:19:14 +00:00
Stephan Aßmus
878bda6780 Made the partition type of Solaris 10 partitions known. I am not quite
sure if Solaris uses this type for boot partitions only.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 15:46:08 +00:00
Stephan Aßmus
ab496a4be8 Patch by Humdinger:
Changed various labels in audio drivers to sentence case. This is
case-audio-drivers.diff from #5169.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 11:23:12 +00:00
Adrien Destugues
b3a6a13635 Preliminary support for the proper frame format for davicom devices.
It still miss at least some checks about packet sizes and frame termination and probably some more error handling.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-11 22:21:33 +00:00
Adrien Destugues
a16d0e47d8 Fixed a stupid bug preventing media stauts to become active.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-11 21:39:43 +00:00
Oliver Ruiz Dorantes
5084d83333 - Do not delete net_buffer in frame container, as it or its fragments have already been deleted in driver transport layer
- Style



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-11 18:04:14 +00:00
Adrien Destugues
95d4cc1cbd - Some style fixes, as pointed out by Siarzhuk Zharski.
- Haiku doesn't like the ethernet maximal frame size to be set to 0. This drops the CPU usage and some calls to read/write are now occuring.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-10 20:29:02 +00:00
Adrien Destugues
2d6539b687 Fixed a small bug. But it still says media is inactive whereas the interrupt displays "link is up".
CPU usage is also always at 100% for some reason.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-10 19:45:05 +00:00
Adrien Destugues
6a6b71135a More work on davicom driver : I got it to the point where I don't know why it fails :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-10 18:22:33 +00:00
Oliver Tappe
4e45de0e5f * when connect()ing an UDP socket, we need to set the local address to the
default address of the outgoing interface as a side-effect


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-10 15:26:46 +00:00
Adrien Destugues
7c7f88ea7d Some progress on davicom usb ethernet driver. The device is now initialized, and only the interrupt handlers are missing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-10 13:57:24 +00:00
Adrien Destugues
1de5dffb8a These files were missing from a previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 18:39:05 +00:00
Adrien Destugues
a323ccd947 Work in progress driver for davicom 9601 ethernet usb chipset. So far it reads the MAC address from the device. It is not finished yet, so don't try to use it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 22:48:20 +00:00
Ingo Weinhold
3cd2094396 * Added new debug feature (DEBUG_PAGE_ACCESS) to detect invalid concurrent
access to a vm_page. It is basically an atomically accessed thread ID field
  in the vm_page structure, which is explicitly set by macros marking the
  critical sections. As a first positive effect I had to review quite a bit of
  code and found several issues.
* Added several TODOs and comments. Some harmless ones, but also a few
  troublesome ones in vm.cpp regarding page unmapping.
* file_cache: PrecacheIO::Prepare()/read_into_cache: Removed superfluous
  vm_page_allocate_page() return value checks. It cannot fail anymore.
* Removed the heavily contended "pages" lock. We use different policies now:
  - sModifiedTemporaryPages is accessed atomically.
  - sPageDeficitLock and sFreePageCondition are protected by a new mutex.
  - The page queues have individual locks (mutexes).
  - Renamed set_page_state_nolock() to set_page_state(). Unless the caller says
    otherwise, it does now lock the affected pages queues itself. Also changed
    the return value to void -- we panic() anyway.
* set_page_state(): Add free/clear pages to the beginning of their respective
  queues as this is more cache-friendly.
* Pages with the states PAGE_STATE_WIRED or PAGE_STATE_UNUSED are no longer
  in any queue. They were in the "active" queue, but there's no good reason
  to have them there. In case we decide to let the page daemon work the queues
  (like FreeBSD) they would just be in the way.
* Pulled the common part of vm_page_allocate_page_run[_no_base]() into a helper
  function. Also fixed a bug I introduced previously: The functions must not
  vm_page_unreserve_pages() on success, since they remove the pages from the
  free/clear queue without decrementing sUnreservedFreePages.
* vm_page_set_state(): Changed return type to void. The function cannot really
  fail and no-one was checking it anyway.
* vm_page_free(), vm_page_set_state(): Added assertion: The page must not be
  free/clear before. This is implied by the policy that no-one is allowed to
  access free/clear pages without holding the respective queue's lock, which is
  not the case at this point. This found the bug fixed in r34912.
* vm_page_requeue(): Added general assertions. panic() when requeuing of
  free/clear pages is requested. Same reason as above.
* vm_clone_area(), B_FULL_LOCK case: Don't map busy pages. The implementation is
  still not correct, though.

My usual -j8 Haiku build test runs another 10% faster, now. The total kernel
time drops about 18%. As hoped the new locks have only a fraction of the old
"pages" lock contention. Other locks lead the "most wanted list" now.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 02:37:05 +00:00
Michael Lotz
c1f316db61 When canceling the transfer, the callback is still called, just with the
canceled status, so we need to collect the corresponding sem release. Otherwise
we would run directly into the old cancel status the next time we schedule.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 02:21:31 +00:00
Michael Lotz
40d3e7158f Whitespace cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 00:13:03 +00:00
Michael Lotz
5926a6129f I don't know why this was disabled, but not canceling the queued transfers after
a timeout leaks these transfers. In the end this would at least lead to a flood
of canceled transfers on device unplug or, worse yet, exhaust the USB memory
pool stalling all further transfers as seen in #4604. Probably fixes both
issues, can't test though as I don't have the hardware.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-06 00:54:15 +00:00
Michael Lotz
cb3d173dc2 Whitespace cleanup only, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-06 00:48:13 +00:00
Axel Dörfler
b2397539da * BFS now correctly reports the B_FS_HAS_QUERY flag (ie. if you disable the
indices it will no longer be set).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-05 17:37:33 +00:00
Axel Dörfler
2e095ebca8 * Removed an assert that will now always trigger (due to the DoublyLinkedList
changes).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-03 19:12:01 +00:00
Fredrik Holmqvist
723fbad583 Substituted 'magic' subclass value (0x0) with it's definition PCI_vga for readability.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-02 10:33:44 +00:00
Stephan Aßmus
3d9449fe75 Fixed complete mixup of order of arguments passed to remap_frame_buffer().
Should fix #5186.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-01 23:25:47 +00:00
Ingo Weinhold
1021fd2826 * agp_gart(): Use vm_page_[un]reserve_pages().
* Removed unused vm_page_allocate_pages().
* Removed now unused (always true) "reserved" parameter from
  vm_page_allocate_page().
* Removed unused (always false) "stealActive" parameter from steal_page().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-01 16:37:14 +00:00
Axel Dörfler
e30dd2c076 * If the VESA driver remaps the frame buffer on init, it will now also make
sure that the kernel's frame buffer console points to the right data.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-01 14:54:41 +00:00
Colin Günther
1e84402302 * Adjusting firmware path of Haiku's native Intel PRO/Wireless 2100 driver,
so that it can make use of the firmware installed by the OptionalPackage
  Wifi-ipw2100+fw.
* Updating OptionalPackages to use the latest Wifi-ipw2100+fw package.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-31 20:39:27 +00:00
Ingo Weinhold
3ce2634533 * Fixed the semantics of [v]snprintf(): If the buffer is not large enough,
the function shall nevertheless return the length of the string that would
  be written, if the buffer were large enough.
  Added a touch of C++ while doing that. :-)
* Fixed the instances in boot loader, kernel, and kernel modules where the
  wrong semantics were expected. The majority of uses actually.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-30 15:17:09 +00:00
Colin Günther
210124c810 Switching from atomic_{and|or} or to atomic_{set|get} as this reads more
natural and spares even one atomic call in syskonnect.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-30 00:45:16 +00:00
Colin Günther
bfaa8fac89 Fixed typo. This will make iprowifi2200 compile again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-30 00:30:56 +00:00
Colin Günther
c006bb2735 * Using conditional compilation instead of simply deleting source code, to
ensure interrupts are disabled only once per interrupt event.
* Coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 23:46:42 +00:00
Colin Günther
75b892d51f * Ensuring that interrupts are disabled only once per interrupt.
* Coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 23:00:42 +00:00
Colin Günther
f8762ee71c Cody style cleanup. Thanx Axel for the headup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 22:56:24 +00:00
Colin Günther
f9ee2947df * Using atomic_{get|set} instead of HAIKU_INTR* macros.
* Using conditional compiliation instead of just deleting original code
  to easen future driver updates.
* Coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 22:48:07 +00:00
Colin Günther
8645a5715e * Ensuring reading of interrupt status is done only once.
* Code style cleanup.
* Automatic white space cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 22:31:43 +00:00
Colin Günther
2d939304db * Ensuring that reading interrupt status register and disabling interrupts
is done only once.
* Coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 22:20:54 +00:00
Colin Günther
0e39b0b7ce Using atomic_{set|get} as proposed by Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 22:10:04 +00:00
Colin Günther
b69688c36e * Reworked interrupt handlink so that the interrupt status is read only once
per interrupt. Moreover the interrupt is disabled only once now too.
* Using atomic_{set|get} operations for synchronizing the interrupt status
  as proposed by Axel.
* Coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 22:00:28 +00:00
Colin Günther
168aaf2f9d * Using atomic operations to synchronize the interrupt status between glue code
and ath_intr function. Those are faster than the HAIKU_INTR* macros.
* Some variable renaming to stick with common naming conventions of the other
  wlan drivers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 18:24:35 +00:00
Colin Günther
097be0a818 Codestyle cleanup. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 18:15:39 +00:00
Colin Günther
6e12370632 * Disable interrupts only once, to prevent misbehaviour of hardware. Though
I don't know about such hardware, it is better to be cautious here.
* Code style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 18:12:17 +00:00
Colin Günther
ed36d5dfa2 Using the same pointer orientation as the rest of the code. No functional
change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 18:01:33 +00:00
Colin Günther
296653ac73 * Coding style cleanup. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34807 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 17:58:17 +00:00
Colin Günther
b72a17e3a2 * No need for a special interrupt reenabling routine, as this is done by
the FreeBSD driver already.
* Some coding style cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 17:57:24 +00:00
Colin Günther
49fbc5438e Read the interrupt status only once, to prevent wrong status reads in the
wpi_intr function. This should fix firmware timeouts, which occure due to the
second read just returns wrong values.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 17:50:44 +00:00
Colin Günther
92ba12f110 Read the interrupt status only once, to prevent wrong status reads in the
iwn_intr function. This should fix firmware timeouts, which occure due to
the second read just returns wrong values.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 17:40:59 +00:00
Colin Günther
b1c3d835a4 Adapting build files, so that they reflect the new location of the ipw2100
driver.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-24 11:55:16 +00:00
Colin Günther
5d6c2e8bc6 Moving the native Intel Pro Wireless 2100 driver into the wlan directory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-24 11:52:03 +00:00
Colin Günther
1614c41230 Enabling C++ structs is required for jmicron2x0 to make it compile when
kernel_c++_structs.h wasn't assembled previously.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-22 16:45:56 +00:00
Colin Günther
dc6a91927a Removed superflous include directories from Jamfile and added a newline at end
of file. No functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-22 16:42:35 +00:00
Colin Günther
0286a8a758 Some modifications to the glue.c file to make the jmicron2x0 driver linkable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-22 16:25:51 +00:00
Colin Günther
a9887eb1c8 Modifictation of Jamfiles, so that jmicron2x0 driver is compileable now. Though
it does not link, yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-22 16:16:07 +00:00
Jérôme Duval
dfb72c7888 * warn_count is unused.
* the last valid index should be written in HDAC_STREAM_LAST_VALID instead of the fragment count.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-21 11:05:12 +00:00
Jérôme Duval
e4e70475db * style cleanup
* added location to pin widget control name


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-20 22:52:01 +00:00
Colin Günther
d9f040ab4e Codestyle fix: adding spaces between operator. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-19 20:43:31 +00:00
Colin Günther
eb4ede2859 * Adding the glue.c file needed to make the aironetwifi linking. The driver
is not tested, though, as I don't own the hardware.
* Note: This wifi driver is special, as it doesn't require the FBSD_WLAN flag
  set in the glue.c. This is due to the driver making little use of the
  wlan stack. Thus no initialization of wlan stuff is needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-19 20:34:50 +00:00
Ingo Weinhold
ca77afe75f * Implemented missing cleanup when an IOScheduler is destroyed. The threads
weren't terminated orderly.
* IOScheduler now stores its name and gets a unique ID.
* Added IOSchedulerRoster singleton which registers all IOSchedulers. It also
  provides a notification service. We generate interesting events for
  IOSchedulers, IORequests, and IOOperations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-19 14:32:14 +00:00
Jérôme Duval
6a60618fc8 use the codec GPIO count for quirks
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-19 11:16:01 +00:00
Ingo Weinhold
f887c7059e Try to detect whether the stream's DMA position is broken and switch to using
the LPIB, if it is.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-16 20:39:54 +00:00
Ingo Weinhold
37e514b64c Fixed unintended operator precedence.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-15 18:41:08 +00:00
Ingo Weinhold
3a58749c5d Automatic whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-15 18:39:04 +00:00
Ingo Weinhold
e0a187dd59 * stream_handle_interrupt():
- Round the DMA position for the buffer cycle computation. Apparently some
    chipsets trigger the interrupt before the position has been updated.
  - Don't just assume that stream->buffer_length frames have been processed
    at that time. Use the exact stream position at that time. This makes the
    performance time computation more precise and immune to the interrupt
    being delayed.
* Init hda_stream::frames_count.

Audio skips on I/O seem to be gone for me, now. Not obviously motivated skips
still happen.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-15 18:38:00 +00:00
Ingo Weinhold
cd803f23e1 * Disabled tracing.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-15 18:21:04 +00:00
Axel Dörfler
f8288ec75c * Made sure the sockaddr::sa_len field is set correctly for sendto(), and
connect().
* This fixes not working connections whenever the incoming sa_len field happened
  to be zero.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-15 17:40:14 +00:00
Fredrik Holmqvist
7afaadfbb7 If we get a overflow read the data.
This probably fixes #2801 and is what the FreeBSD driver does.  


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-15 16:46:44 +00:00
Ingo Weinhold
4673f145a3 * stream_handle_interrupt(): Fixed a misunderstanding of the SDnLPIB (stream
descriptor n link position in buffer) registers. They contain "the number
  of bytes that have been received off the link", which is not to be confused
  with the number of bytes that have been transferred by the DMA engine.
  The interrupt is triggered when the last byte of the buffer has been fetched
  by the DMA engine, at which point the stream's LPIB is still somewhere in
  the last buffer. So the interrupt handler could compute the wrong buffer
  index, which would lead to the multi audio add-on filling the wrong
  (currently being transferred) buffer, resulting in noisy sound. Now we use
  the DMA position. Should fix #4072.
* Also removed the not (always) working hack-around for the "wrong" buffer
  positions in the interrupt handler.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-15 00:21:43 +00:00
Colin Günther
bfe69c5264 * The ralinkwifi driver links now.
* There is firmware needed, which can be distributed with Haiku:
  a) Get the firmware from www.ralinktech.com -> Software -> Linux
     -> Firmware RT2501(RT2561/RT2661)
  b) Extract the three binaries to /system/data/firmware/ralinkwifi/
  c) Rename them by removing the '.bin' ending and append fw instead
     (e.g.: rt2561.bin -> rt2561fw)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-14 23:00:33 +00:00
Colin Günther
b4f369b8a5 * Removed superflous header inclusion statement.
* Also note: the firmware needs to be installed in /system/data/firmware/marvell88w8335
  and not malo8335 as I stated in commit r34661.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-14 15:56:28 +00:00
Colin Günther
e863cb774a * The marvell88w8335 links now, too.
* This driver requires a firmware, which is not publicly available, and
  therefor cannot distributed with Haiku. To retrieve and install the firmware
  nonetheless following steps are required:
  a) Download the firmware from http://www.nazgul.ch/malo/malo-firmware-1.4.tgz
  b) Copy the included firmware files malo8335-h and malo8335-m to /system/data/firmware/malo8335/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-14 15:38:01 +00:00
Jérôme Duval
996953e91c use directly AcpiReset() for acpi reboot
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-13 23:01:28 +00:00
Ingo Weinhold
59967f764e * buffer_ready_sem was released with B_DO_NOT_RESCHEDULE, but without
returning B_INVOKE_SCHEDULER from the interrupt handler, causing
  latencies up to a full quantum for the multi audio output thread. This
  change improves audio clicks quite a bit on my machine. Though they still
  happen from time to time and particulary on FS activity.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-11 16:16:44 +00:00
Colin Günther
5b7dad76dd Dependency for kernel_c++_structs.h needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-11 08:52:11 +00:00
Colin Günther
2b03fdfe35 * Implementing rman_get_start and copying rman_make_alignment_flags from
FreeBSD 8 (r199625) and thus adding the FreeBSD license header.
* Implementing the glue code to make the wavelanwifi driver linking.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-10 22:04:51 +00:00
Colin Günther
89ee864a4c Renamed atheros wlan driver to atheroswifi. This makes it easier to tell apart
the lan atheros813x and the wlan atheros driver.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-10 20:21:43 +00:00
Colin Günther
0229a55264 * Adding remaining wlan drivers (FreeBSD RELEASE_8_0_0) to trunk.
Both are compiling, but not linking yet. Only for compilation of pci support
  has been taken care of, as neither ISA nor PCMCIA are usable within Haiku 
  anyway.
* Enhancing the FreeBSD compat layer so that the above drivers are compiling.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-10 16:23:38 +00:00
Siarzhuk Zharski
cafbf72df7 VIA VT6122 Gigabit Ethernet driver. Based on FreeBSD vge driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 20:10:39 +00:00
Siarzhuk Zharski
2fa85815f6 Bringing FreeBSD driver to trunk as vt612x.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 20:00:05 +00:00
Clemens Zeidler
5237897801 Check if we have 64 or 32 bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 17:49:20 +00:00
Clemens Zeidler
3875331b37 As suggested by Ingo use the normal mutex_lock function in case of ACPI_WAIT_FOREVER.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 17:14:14 +00:00
Colin Günther
ac3566cd6a Adding dependency on kernel_c++_structs.h on the driver, which are using
sys/condvar.h and as such the kernel_c++_structs.h file in their souces.
As Ingo pointed out when introducing the "C++ structs in C only code" feature,
this dependency needs to be put on every target that includes 
kernel_c++_structs.h directly and indirectly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 12:38:49 +00:00
François Revol
94a6d7ada8 Work-in-progress BeOS hack allow loading with either the R5 or BONE tty manager, due to using the same version and incompatible module hooks we must detect it at runtime to avoid crashing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 23:51:23 +00:00
François Revol
50015543bb Change dprintfs to TRACE(), and make always on tracing less verbose.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 23:00:32 +00:00
Jérôme Duval
a9bff40a89 It seems the codec GPIO count isn't usable for quirks, ie the GPIO count is zero on the Macbook
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 22:31:30 +00:00
Clemens Zeidler
f0ab4adfc9 We now also use a mutex in acpi. Thanks Ingo for the mutex timeout function.
This fix some warnings mentioned in #4722.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 18:25:11 +00:00
Colin Günther
2166eec15c * Removing some targets which where usefull when atheros driver was distributed
outside of Haiku's repository, only. 
* Also this fixes the build break that arose when the Haiku repo was checked
  out with something different than svn (git for example:), due to a hardcoded
  reference to the svn entries file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-06 21:21:17 +00:00
Colin Günther
bc69c291c2 Recopying ralinkwifi from vendor/freebsd/RELEASE_8_0_0 and made it compiling
well. This approach was taken to ensure that the version information propagates
correctly to the repository mirrors.
See comment from nielsx on this topic here: http://www.freelists.org/post/haiku-commits/r34507-in-haikutrunksrcaddonskerneldriversnetworkwlan-ralinkwifi-ralinkwifidev-ralinkwifidevral,3


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-06 11:48:33 +00:00
Colin Günther
05d66b370a Removing the ralinkwifi, for readding it with correct version information the
next time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-06 11:40:16 +00:00
Colin Günther
a3915b9de0 Copied marvell88w8335 driver from vender/freebsd/RELEASE_8_0_0 and made it
compiling fine. So linking still needs to be worked on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-06 11:17:50 +00:00
Colin Günther
7bb39c3df3 Adding ralinkwifi driver. This driver compiles, only, as there is a glue.c
is missing atm. If someone wanne add it go ahead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-05 14:24:30 +00:00
Colin Günther
afa6c0001b This driver needs a swi taskqueue
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-05 14:06:45 +00:00
Colin Günther
21e74f0305 Whitespace cleanup. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-05 12:05:37 +00:00
Colin Günther
75b5fa6bd6 Relaxing handling of compilation warnings, so that driver compiles with gcc4,
too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-04 12:13:11 +00:00
Axel Dörfler
82aa4a0f4e * Replaced the remaining AF_DLI references with AF_LINK.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-04 09:34:35 +00:00
Jérôme Duval
6a2a59e1fa Patch from Krzysiek Cwiertnia: Enable headphone jack sense for HP NC 40xx notebooks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 23:04:02 +00:00
Jérôme Duval
3f8db22c66 Patch by Krzysiek Cwiertnia: Switch to use ac97 common code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 23:02:46 +00:00
Colin Günther
1e685f7fea Renaming to full vendor name, as there is practically no restriction on the
length of driver names.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 22:25:45 +00:00
Colin Günther
7a5b341ad8 * Driver marv88w8363 now links. Can't test it as I don't own this hardware.
* Firmware is needed:
  a) Download the firmware files from FreeBSD 8
     here http://svn.freebsd.org/viewvc/base/release/8.0.0/sys/contrib/dev/mwl/mw88W8363.fw.uu?view=log
     and here http://svn.freebsd.org/viewvc/base/release/8.0.0/sys/contrib/dev/mwl/mwlboot.fw.uu?view=log
  b) Use the tool uudecode <firmware-file> to convert both files into their
     binary format.
  c) Copy both files to /system/data/firmware/marv88w8363/
  d) Rename first file to mw88W8363fw and the second to mwlboot
  e) Copy the License from http://svn.freebsd.org/viewvc/base/head/sys/contrib/dev/mwl/LICENSE?view=markup&pathrev=193240
     into this directory, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 20:16:24 +00:00
Colin Günther
b69928b291 Coding style fixes and white space clean up. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 19:23:33 +00:00
Colin Günther
5b7a3b4173 Codestyle fix. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 19:19:26 +00:00
Colin Günther
3b71e6a6ab Whitespace Cleanup. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 19:18:08 +00:00
Colin Günther
caf10c9c87 Renaming to reflect the specific chipset this driver supports. This is done
because there is another FreeBSD driver used for 88w8335 chipsets. So the old
name would be misleading.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 19:02:56 +00:00
Axel Dörfler
751ce9e228 * Removed the interface fallback from the datalink module's is_local_address().
* Instead, added a new function is_local_link_address() which returns the
  interface with the matching link level address, and can additionally test
  for unconfigured interfaces.
* Merged the two versions of fill_sockaddr_in() together in ipv4.cpp.
* ipv4 now uses the new is_local_link_address() function to figure out whether
  the received packet should be processed or not. This should fix a few DHCP
  issues with multiple and configured interfaces as recently explained on the
  mailing list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 14:31:39 +00:00
Axel Dörfler
207f71773b * The ethernet deframing used the wrong family for its reported source and
destination address (AF_DLI instead of AF_LINK).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 14:25:45 +00:00
Colin Günther
d75905df19 Relax treatment of warnings, so that iprowifi2100 compiles with gcc4, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 11:27:27 +00:00
Jérôme Duval
c773831b8f more clean up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-02 22:11:42 +00:00
Jérôme Duval
88e5c1ac3b ALI 5451 audio driver for Haiku multi audio by Krzysiek Cwiertnia
* playback, tested with 16bit format, with sample rate range from 8 to 48kHz
 * recording, fixed at 48kHz 16 bit (read below)
 * controlling some mixers, input selector, etc.

I placed the driver in the ac97 directory as it fits better.
Also a few coding style fixes by me.
This driver collides at least with one pci id of the sis7018 driver.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-02 20:49:37 +00:00
Ingo Weinhold
e50cf8765b * Moved the VM headers into subdirectory vm/.
* Renamed vm_cache.h/vm_address_space.h to VMCache.h/VMAddressSpace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-02 18:05:10 +00:00
Colin Günther
abc6c938fd WLAN driver broadcom43xx links now. Needs to be tested as I don't own the
required hardware (many current Macbooks). 
This driver needs a firmware. The retrieval of this firmware requires 
following steps:
 a) Download the linux firmware from http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o
 b) Download and compile b43-fwcutter from http://bu3sch.de/b43/fwcutter/b43-fwcutter-011.tar.bz2
 c) Use b43-fwcutter to cut the linux firmware in pieces.
 d) Copy those pieces into /system/data/firmware/broadcom43xx/
 e) Prepend them with bwi_v3_ and remove the .fw ending.
 f) You also need to create an empty file called bwi_v3_ucode in this directory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-02 02:34:27 +00:00
Oliver Ruiz Dorantes
375ddaad85 - Style, mostly spacing, after passing checkstyle
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 20:58:44 +00:00
Ingo Weinhold
bd185b4117 *.c -> *.cpp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 17:06:26 +00:00
Colin Günther
e557314537 iprowifi4965 now links. Still needs to be tested as I don't own the required
hardware myself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 15:46:52 +00:00
Colin Günther
86a3b75e8a iprowifi3945 now links. Still needs to be tested as I don't own the needed
hardware.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 15:36:27 +00:00
Axel Dörfler
c1cb57b1b1 * Coding style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34407 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 12:58:49 +00:00
Axel Dörfler
b834a54550 * Applied patch by lt_henry that enables another bus speed frequency as part
of bug #3796. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 12:48:59 +00:00
Colin Günther
4cb0a74c12 Enabling linkage of the iprowifi2100 driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 21:20:34 +00:00
Colin Günther
8004aeb40b Making the drivers compile again. So linking still needs to be worked on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 20:03:33 +00:00
Axel Dörfler
c37e40a078 * Didn't notice that AdjustSize() was called from somewhere else, too. This
fixes the haiku_loader build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 16:36:28 +00:00