Commit Graph

32835 Commits

Author SHA1 Message Date
Axel Dörfler 2f9ed888a2 * The SharedBufferList is now only cloned once in a team, no longer once for
each buffer, and once for each buffer group.
* Also, SharedBufferList::Get() now gets the area to clone from itself, if
  necessary, the caller no longer has to provide it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-05 11:52:01 +00:00
Colin Günther 69972fe0de Enabling usage of C++ structures in C only code for the wlan stack, too. This
fixes the problem where building wlan drivers failed, due to not yet assembled
kernel_c++_structs_sizes.h while only the wlan stack needed to be compiled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-05 11:16:02 +00:00
Axel Dörfler 9dec231042 Sorry for this large commit in advance; it's not really possible to divide this
into smaller parts:

media_addon_server:
* Removed (broken) use of (broken and inefficient) home-brewn Map, and List
  classes. This also fixes a crash on shutdown when used with the malloc_debug
  implementation. It's using stl::vector, and stl::map now instead.

_shared_buffer_list:
* Renamed _shared_buffer_list to SharedBufferList, and put it into the BPrivate
  namespace. Also, made a class out of it.
* Separated shared buffer list creation from cloning.
* Enlarged maximum number of buffers to something that is not that evil, but
  actually uses the space it has (ie. is a useful multiple of
  shared_buffer_info that fills a multiple of B_PAGE_SIZE as much as possible).
* No longer drops into the debugger if the
* The list that is currently used is very inefficient for the features it
  provides though (no change there).

_buffer_id_cache:
* Renamed to BufferCache, and put it into the private namespace
* It now deletes its buffers on deletion; since the BBufferConsumer will be
  gone, too, at this point, there is little chance that there are still buffers
  in use.
* Also, it's now using std::map instead of the (see above) Map class.

BBuffer:
* Got rid of the fBufferID member.

Misc.:
* Got rid of the global "team" variable; the media kit is now using the
  private app kit's current_team() now.
* Added a lot of missing error checks (mostly memory allocations).
* Renamed fields like "flavorid" to flavor_id, renamed "dfi_*" fields to
  something more detailed.
* Moved ServerInterface.h from src/servers/media/ to headers/private/media.
* Notifications.h was not self contained.
* Added missing licenses.
* Lots of cleanups, and coding style fixes.

What this doesn't fix:
* Bug #4954 which started all this (this comes next, though)
* Deinitialization is broken, as the PortPool is uninitialized too early, and
  still used afterwards.
* The strange add-on monitoring code in the media_addon_server


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-05 11:11:28 +00:00
Axel Dörfler 04c71a2f1d * Removed code duplication, SetBufferGroup() will now use AllocateBuffers()
instead of doing the same manually.
* AllocateBuffers() is now returning a status code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-05 10:46:49 +00:00
Stephan Aßmus ca8b3261b1 According to the BeBook, BListView passes the flags unchanged to the BView
constructor. This means we have to provide B_FRAME_EVENTS ourselves, if we
want don't want to enforce this in the BListView code. This fixes ticket
#5081 (Attribute list view scrollbar not maintained when window size changes).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-05 09:43:32 +00:00
Rene Gollent 5b41cd61e6 Clear the navigation menu before populating it. Fixes ticket #5079.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-05 00:06:32 +00:00
Ingo Weinhold 08d9b6d462 Obvious copy and paste left-over. Totally missed it as I've been testing
the wrong image for quite a while. :-/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-04 21:32:00 +00:00
Ingo Weinhold 2c1886aeae * Added VMArea subclasses VM{Kernel,User}Area and moved the address space list
link to them.
* VM{Kernel,User}AddressSpace manage the respective VMArea subclass now, and
  VMAddressSpace has grown factory methods {Create,Delete}Area.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-04 17:07:16 +00:00
Ingo Weinhold e2518ddbb1 Made VMAddressSpace an abstract base class and moved the area management into
new derived classes VM{Kernel,User}AddressSpace. Currently those are
identical, but that will change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-04 14:45:08 +00:00
Ingo Weinhold 38a97b2c36 Moved all knowledge of reserved areas from vm.cpp to VMAddressSpace. It's a
pure address space feature, so it should be handled there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-04 13:33:25 +00:00
Colin Günther ef102a3599 Removing superflous headers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-04 13:15:48 +00:00
Colin Günther a22b78e693 Making use of the C++ structures in C only code feature introduced with
r34441. This allows to completely stick to FreeBSD's conditional cv_* function
semantics as 'struct cv' variables are freed automatically now.
This also gets rid of the dynamically de-/allocating of ConditionalVariables.
Thank you Ingo for helping me through this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-04 13:10:23 +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
Adrien Destugues 1f11333149 The en.catkeys file is autogenerated from the sourcecode, there is no need to add it to the data/ folder.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-04 07:41: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
Axel Dörfler 4ed344af25 * Moved _SoundPlayNode into the BPrivate namespace and dismissed the '_' prefix.
* Further cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 22:16:54 +00:00
Clemens Zeidler e508a7fbd3 Cleanup pointed out by axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 21:59:08 +00:00
Clemens Zeidler 63a39e24d0 Touchpad preferences using the local kit now.
Style cleanup. Patch by mt thanks!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 21:46:36 +00:00
Adrien Destugues 1e752e59df Added translation contributors to AboutSystem. I was not sure how to present the "languages" subtitles, feel free to improve.
I hope I didn't forgot someone and got everything right. Thanks to you all :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 21:42:35 +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
Axel Dörfler 812fde99a1 * When you even already have the typedefs, why wouldn't you want to use them?
* Some cleanup, no functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 19:48:11 +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 7228af3083 * Added BeBook example quoted in bug #4920 as a test application into the
repository.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 17:57:13 +00:00
Colin Günther c9986738a3 Refactoring condition variable subsystem of FreeBSD compat layer. Basically it
separates the usage of published and unpublished ConditionalVariables into
different functions. 
This allows to stick to the semantics of FreeBSD's condition variable subsystem
where it isn't needed to call cv_destroy. With the refactoring now there aren't
orphaned published ConditionalVariable left over, when shutting down the compat
layer.
Though, allocated unpublished struct cv's aren't cleaned up yet. This will be
addressed in a next commit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 17:47:20 +00:00
Ingo Weinhold f69032f22b * Added VMAddressSpace::ResizeArea{Head,Tail}() to adjust an area's base
and size.
* Made VMArea::Set{Base,Size}() private and made VMAddressSpace a friend.
  In vm.cpp the new VMAddressSpace::ResizeArea{Head,Tail}() are used
  instead.
Finally all address space changes happen in VMAddressSpace only. *phew*
Now it's ready to be thoroughly butchered. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 15:21:18 +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
Ingo Weinhold bbd97b4bb4 Made the VMArea fields base and size private and added accessors instead.
This makes it more explicit where the fields are modified.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 14:18:24 +00:00
Colin Günther 0a05bd2063 Removing superflous functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 13:41:29 +00:00
Colin Günther af983c175d Coding style cleanups. Thanks axeld.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 13:05:39 +00:00
Colin Günther a49ed9ad76 * Refactoring the condition variable and synchronization subsystem of the
freebsd compat layer.
* Renaming functions where their names aren't preset by FreeBSD to stick
  to the coding style guidelines.
* Making use of static Notify functions of Haiku's ConditionalVariable
  implementation.
* Removing management of used ConditionalVariables within the compat layer.
  This should also fix #5072.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 12:50:14 +00:00
Ingo Weinhold f5251d5b60 Added comment regarding use restriction.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 12:47:29 +00:00
Ingo Weinhold 35d940014e * Changed the address space area list to doubly linked. The reason is to
simplify migration of the area management, but as a side effect, it also
  makes area deletion O(1) (instead of O(n), n == number of areas in the
  address space).
* Moved more area management functionality from vm.cpp to VMAddressSpace and
  VMArea structure creation to VMArea. Made the list and list link members
  itself private.
* VMAddressSpace tracks its amount of free space, now. This also replaces
  the previous mechanism to do that only for the kernel address space. It
  was broken anyway, since delete_area() subtracted the area size instead of
  adding it.
* vm_free_unused_boot_loader_range():
  - lastEnd could be set to a value < start, which could cause memory
    outside of the given range to be unmapped. Haven't checked whether this
    could happen in practice -- if so, it would be seriously unhealthy.
  - The range between the end of the last area in the range and the end of
    the range would never be freed.
  - Fixed potential integer overflows when computing addresses.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 12:41:11 +00:00
Colin Günther 1581b764e0 * Adding static Notify{One,All} functions. This allows a cleaner implementation
of the condition variable and synchronization subsystem of the freebsd compat
  layer which will be committed next.
* Also there was a discussion about adding these functions on the commit
  mailing list. The mail in http://www.freelists.org/post/haiku-commits/r34395-in-haikutrunksrclibscompatfreebsd-network-compatsys,3
  is a good sum up of it (need to scroll somewhat down, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 12:24:17 +00:00
Axel Dörfler b69c120bfd * Removed superfluous B_AVOID_FRONT flag.
* Renamed BCatalog member from "cat" to fCatalog.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 12:11:14 +00:00
Axel Dörfler f7d3982857 * Always take the last window when choosing a new focus window in normal mouse
mode. This fixes focus issues as describen in bug #5020.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 11:56:00 +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
Axel Dörfler 593a0d2d90 * Ignore send errors on negotiation, and just try again when they happen.
* This should improve the reliability in case drivers cannot send a packet when
  they are still negotiating the line speed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 10:44:05 +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 def9898c9b Moved the three address space locker classes into a separate pair of
header/source files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-02 20:16:31 +00:00
Ingo Weinhold f34a1dd5d7 Created VMArea.{h,cpp} and moved VMArea and the global area hash table (new
class VMAreaHash) there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-02 19:55:59 +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
Axel Dörfler 939b3801ea * Add info if the B_NO_HANDLED_INFO flag is set in the "ints" KDL command.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-02 16:49:22 +00:00