Commit Graph

33079 Commits

Author SHA1 Message Date
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
Rene Gollent
ca833f9f1b HandleAddSystemBeepEvent was checking for a specific error code which changed during some recent media_server reworking. As a consequence, adding new system beep events no longer worked.
Fixes ticket #5176.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 16:57:44 +00:00
Colin Günther
f0f0db8b2a Enabling FreeBSD based WLAN ioctls, as those will become the future Haiku
WLAN ioctls anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 03:54:55 +00:00
Colin Günther
e31bb3f634 Removing superflous files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 03:26:10 +00:00
Colin Günther
e14aa471c2 Adding crypto support for ccmp (aka WPA2) to the wlan stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 03:21:16 +00:00
Colin Günther
9f6777c625 Copying the rijndael (aka AES) cryptographic algorithm into the freebsd_wlan
folder, as it is used by the crypto_ccmp module, only. Though there would be
no sense in making AES available to the FreeBSD compat layer in general.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 03:15:29 +00:00
Colin Günther
f5c86019c4 Adding crypto support for tkip (aka WPA) to the wlan stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 02:40:21 +00:00
Colin Günther
f1c8646374 Adding crypto support for wep to the wlan stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 02:35:59 +00:00
Colin Günther
ca16bde32b Enhancing the freebsd compat layer in preparation of including crypto support
for the wlan stack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 02:34:47 +00:00
David McPaul
6768fe0d89 Improve IO performance for all media files
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 00:41:08 +00:00
Ingo Weinhold
d4e7d2de5c Don't delete IORequests that have not been finished. The objects nevertheless
belong to the respective Threads.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-28 14:23:23 +00:00
Colin Günther
25b7483716 * Removing comments, that were leftovers from FreeBSD. These comments lead to
wrong impression about innerworkings of Haiku's compat layer.
* Use C++ comment style where appropriate.
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-28 04:53:18 +00:00
Colin Günther
041865ac2b Adding a constant, to allow compiling of the iprowifi5xxx driver based on
the r27 source from http://svn.techwires.net/svn/projects/freebsd/sys/.
Actually this driver works now, but as it is developed outside of the FreeBSD
repo, I will not include it into Haiku's repository.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-28 04:48:17 +00:00
Colin Günther
430eb68718 * Removing debugging flag to lower the debug output. Moreover the removed DEBUG_ELEMID flag proved unuseful anyway.
* Whitespace cleanup.
* Uniform usage of pointer char.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-28 04:39:15 +00:00
Ingo Weinhold
448671a39c * Build library libroot_debug.so, which is the standard libroot.so with the
debug heap implementation.
* Added libroot_debug.so to the DevelopmentMin optional package. Since it has
  the same soname as the standard libroot, it can simply be specified in
  LD_PRELOAD to run a program with that version.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-28 00:13:17 +00:00
Ingo Weinhold
c682a1937e SharedLibrary: The soname of the library can now be set explicitly by setting
the HAIKU_SONAME variable on the target.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-28 00:06:11 +00:00
Ingo Weinhold
765a039de2 Pre-load shared objects as libraries, so their symbols will be used
automatically and a pre-loaded library will not be loaded again, when it's
also a dependency.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-28 00:05:10 +00:00
Ingo Weinhold
9704a425ea When pre-loading stuff, we must not access gProgramImage unchecked.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-28 00:02:54 +00:00
Ingo Weinhold
eb8dc1ebfb * Removed DEBUG_PAGE_CACHE_TRANSITIONS debugging.
* Added VMCache::MovePage() and MoveAllPages() to move pages between caches.
* VMAnonymousCache:
  - _MergeSwapPages(): Avoid doing anything, if neither cache has swapped out
    pages.
  - _MergeSwapPages() does now also remove source cache pages that are
    shadowed by consumer swap pages. This allows us to call _MergeSwapPages()
    before _MergePagesSmallerSource(), save the swap page shadowing check
    there and get rid of the vm_page::merge_swap flag. This is an
    optimization based on the assumption that usually none or only few pages
    are swapped out, so we save a lot of checks.
  - Implemented _MergePagesSmallerConsumer() as an alternative to
    _MergePagesSmallerSource(). The former is used when the source cache has
    more pages than the consumer cache. It iterates over the consumer cache's
    pages, moves them to the source and finally moves all pages back to the
    consumer. The final move is relatively cheap (though unfortunately we
    still have to update all pages' vm_page::cache field), so that overall we
    save iterations of the main loop with the more expensive checks.

The optimizations particularly improve the common fork()+exec*() situations.
fork() uses CoW, which is implemented by putting two new empty caches between
the to be copied area and its cache. exec*() destroys one copy of the area,
its cache and thus causes merging of the other new cache with the old cache.
Since this usually happens in a very short time, the old cache does still
contain many pages and the new cache only few. Previously the many pages were
all checked and moved individually. Now we do that for the few pages instead.

A very extreme example of this situation is the Haiku image build. jam has a
huge heap (> 200 MB) and it fork()s+exec*()s for every action to be executed.
Since during the cache merging the cache is locked, any write access to a
heap page causes jam to block until the cache merging is done. Formerly that
took so long that it killed a lot of parallelism in multi-job builds. That
could be observed particularly well when lots of small actions where executed
(like the Link, XRes, Mimeset, SetType, SetVersion combos when building
executables/libraries/add-ons). Those look dramatically better now.
The overall speed improvement for a -j8 image build on my machine is only
about 15%, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-27 16:14:13 +00:00
Ingo Weinhold
6afe50d424 * Added assignment operators.
* Some automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-27 15:19:17 +00:00
Scott McCreary
cd9c31cc1a added sed to DevelopmentBase, seemed to be the place it best fit in.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-27 08:58:50 +00:00
Scott McCreary
96b1978dc5 Updated neon to 0.29.1 and fixed symlinks in bzip2 package.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-27 03:30:44 +00:00
Colin Günther
aa50f74f12 Adding patch by mmadia, which allows installation of firmware for the
Intel Pro Wireless 2100 and 2200/2945 chipsets in a license correct manner.
Thank you!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-27 00:13:08 +00:00
Ingo Weinhold
c2d5972b6a Moved merging swap pages from Merge() to a separate method.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-26 21:05:38 +00:00
Ingo Weinhold
4566a632c6 * Some style cleanup.
* Pulled the code moving the pages out of Merge() into a separate method.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-26 21:00:02 +00:00
Adrien Destugues
5458cdeaf5 Fixed OpenGL preflet, I missed an important part of its internationalization.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-26 19:49:54 +00:00
Oliver Ruiz Dorantes
1f37b29b5d CheckStyled
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-25 18:46:53 +00:00
Oliver Ruiz Dorantes
4b68462fe1 CheckStyled
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-25 18:09:17 +00:00
Oliver Ruiz Dorantes
17836d5ed0 Place all Device's feature strings left aligned
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-25 17:51:37 +00:00
Ingo Weinhold
f627a56a9b Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-25 13:10:52 +00:00
Ingo Weinhold
c5154d568f Changed hopefully all remaining GUI strings to sentence case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-25 12:46:24 +00:00
Ingo Weinhold
579be822bb Applied patch by Humdinger (#5169): Changed GUI strings to sentence case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34771 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-25 12:40:53 +00:00
Ingo Weinhold
ade3a199a6 Already assigned the IOScheduler's ID in the constructor and use it in the
names of its threads.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-25 11:46:15 +00:00
Adrien Destugues
f60c232ee4 I missed this catkey fix in my previous commit. Sorry!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-24 17:22:55 +00:00
Adrien Destugues
0b2fbbfaa9 Patch by Humdinger to convert all the preference panels to sentance case.
Also update the localization catalogs as needed.
CPUFrequency localization is broken : the current code works, but the DoCatalogs jamrule is not powerful enough to properly extract the catkeys.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-24 15:31:00 +00:00
Adrien Destugues
213a7c81d0 Internationalize OpenGL preferences
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-24 14:24:56 +00:00
Adrien Destugues
ea054b6a1a Fix cpufrequency again : actually StatusView is used both in the add-on and standalone, so it must be able to work in both ways. The macro are then unuseable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-24 12:19:18 +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
Adrien Destugues
b6cb7d4779 MacDecorator: only formatting changes
WinDecorator:
 * Now compilable
 * Windows are drawing properly
 * The window title is still missing for some reason


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-24 11:25:28 +00:00