396 Commits

Author SHA1 Message Date
Ingo Weinhold
b9d586e9d9 Added wrappers for the spinlock functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-17 19:59:02 +00:00
Ingo Weinhold
35ca8fd8aa Added various missing functions to the error mapper.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 21:23:46 +00:00
Axel Dörfler
edd8c1c247 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 13:02:35 +00:00
Michael Lotz
2b5b2e045a Implement MSI support using the x86 specific PCI module in the FreeBSD
compatibility layer. This should make some network and wireless hardware use
MSIs and therefore solve issues related to interrupt sharing and wrongly
advertised interrupt lines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 15:24:18 +00:00
Ithamar R. Adema
f7b0c08cae This modifies the Postscript printer to be able to insert a pipe in between the Postscript generation
and the transport addon. The actual command use as pipe is retrieved from the PPD that can be selected
at printer creation time.

Currently PPD selection is not shown (as the PPD directory is not available) and therefore the pipe
will not be inserted.

This still needs a bit of TLC, so hope to commit the last changes to fully support this later this week.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 22:01:13 +00:00
Ingo Weinhold
de0b831289 * opentty(): Added missing return in error case. Fixed warning.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 09:59:59 +00:00
Ithamar R. Adema
663b74a594 * Lock printing status window before calling Quit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-10 15:33:11 +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
Ingo Weinhold
baa26c5b4c Fixed "if" condition: We need to map the error code to a negative value, when
it is positive.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-08 17:09:56 +00:00
Ingo Weinhold
691b9fac72 Left-over from before splitting the files. Duplicate definitions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-05 17:11:41 +00:00
Jérôme Duval
e842ee1933 * moved tiff public headers to headers/libs/tiff
* build shared and static libraries for libtiff, cleaned libtiff sources
* TIFFTranslator now uses this library
I used 3.8 as library version as it seems the API didn't change since then


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-14 14:13:12 +00:00
Jérôme Duval
b0ec5aef02 copied libtiff 3.9.2 to trunk
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-14 12:15:52 +00:00
Jérôme Duval
b4f7c2428d adjusted png library version as suggested by Oliver. I hope I got it right!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-14 11:37:15 +00:00
Jérôme Duval
6793fc9a17 updated libpng to 1.4.1
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-13 18:30:53 +00:00
Oliver Tappe
3fbef6e0ec * added one more missing dependency for ICU_Confusables, fixing #5475
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-27 01:08:26 +00:00
Oliver Tappe
5dbf6e515e closing #5039:
* fix ICU jamfiles to no longer MakeLocate on source files and added some 
  missing dependency declarations for break-iterators - now building with
  -j16 no longer fails (it did before, for me too)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-26 23:27:21 +00:00
Jérôme Duval
dd4974484f merged freetype 2.3.12
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-21 20:08:50 +00:00
Ingo Weinhold
25daf1cf1e * Build libsupc++.so and libstdc++.so only when they aren't provided by the
compiler. Fixes #5322 (the ones in /boot/develop would be overwritten).
* Simplified the Jamfile building these libraries.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-03 20:19:53 +00:00
Oliver Tappe
783930d916 * reverted the part of r35362 that introduced support for minor ABI versioning - my evil twin made
me do that!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-31 23:41:44 +00:00
Oliver Tappe
af50956825 * added ABI version info for libz.so, libpng.so and libjpeg.so (hopefully, I got it right, as it is
really hard to tell from the available info)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-31 20:55:16 +00:00
Colin Günther
3c08c615dc * Broken build detected by mmadia: When compiling with jam -j8 the atheroswifi
driver may not build due to dependencies to the kernel_c++_structs.h header.
  Normally this header is build by jam when building the libfreebsd_network.a
  library, with the first network driver so to speak.
  Adding a rule to the atheroswifi Jamfile to build kernel_c++_structs.h
  would be the wrong fix, because the atheroswifi doesn't need condition
  variables.
  The correct fix is to remove the #include <condvar.h> statement from proc.h.
  And while I'm at it, I remove all the other include statements, too, as none
  of them are needed by this header (all drivers are still compiling).
* Thank you mmadia for the heads up.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-30 19:04:45 +00:00
Axel Dörfler
00d70bc148 * Jerome obviously did not test the new libjpeg... replaced /usr/tmp with /tmp
as found out in #5332.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-29 15:20:45 +00:00
Oliver Tappe
ebaeff9e68 * activated API-versioning for ICU-libs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-27 23:14:50 +00:00
Oliver Tappe
9d63a92ad0 * automatic whitespace cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-27 18:38:03 +00:00
Jérôme Duval
2a22d2f0e6 forgot these files
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-27 02:00:32 +00:00
Jérôme Duval
7fd580914a * updated libjpeg to version 8, as the previous version on trunk didn't look like version 7, the merge wasn't usable. I modified jpeglib.h to have the JPEGTranslator built.
* added libjpeg to AboutSystem
* JPEGTranslator now uses the shared library libjpeg.so


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-27 01:57:51 +00:00
Ingo Weinhold
8d1316fd23 Replaced CACHE_DONT_SLEEP by two new flags CACHE_DONT_WAIT_FOR_MEMORY and
CACHE_DONT_LOCK_KERNEL_SPACE. If the former is given, the slab memory manager
does not wait when reserving memory or pages. The latter prevents area
operations. The new flags add a bit of flexibility. E.g. when allocating page
mapping objects for userland areas CACHE_DONT_WAIT_FOR_MEMORY is sufficient,
i.e. the allocation will succeed as long as pages are available.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-22 21:19:23 +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
Colin Günther
d3806c1b62 * Reworked firmware loading. This gets rid of the need for the settings files.
Name mapping is now defined in the glue code.
* Adding two macros for handling firmware name mapping completely in the glue
  code:
  - HAIKU_FIRMWARE_NAME_MAP(firmwarePartsCount) is used when mapping is
    required. Have a look to iprowifi2100's glue code for an example.
  - NO_HAIKU_FIRMWARE_NAME_MAP() is used when the firmware names don't need to
    be mapped. For example: broadcom43xx
* Discard usage of vm_map_file() and use the previously read() method again.
  After Axel and Ingo agree that both methods are fine in this particular use
  case, using read() looks easier on the eye. It needs only 3 parameters, where
  vm_map_file() takes 10.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 17:44:38 +00:00
Colin Günther
865639deac * Changing the naming scheme for firmwares. Instead of directly renaming
the respective firmware files renaming is now done within the firmware loader.
  The mapping of original firmware names to FreeBSD internal firmware names is
  now done within driver specific settings files. Those are committed in a next
  step.
  This approach allows a clean separation of FreeBSD compat layer requirements
  and native driver requirements.
  For example: we have two Intel PRO/Wireless 2100 drivers. Do we prefer the
  naming scheme of the native driver or do we force the native driver to use
  the one of the FreeBSD driver? With this commit we prefer native over FreeBSD.
* Changed the firmware loader to make use of Haiku's file mapping facility.
* Implementing firmware unloading.
* Some minor cleanups in two compat layer header files, which are using Haiku
  defined identifiers, where apropriate.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 09:08:52 +00:00
Stephan Aßmus
c50dfc20df Small cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-12 22:11:17 +00:00
Oliver Tappe
6ed5e0d208 fixed a couple of issues that I encountered when testing our xattr support
(in libgnu.so) with my current rsync port:
* Node now opens its fd with O_RDONLY, as otherwise BFS will refuse to open
  (the attributes of) directories
* Node::Get() and Node::Set() now make use of the encoded attribute type,
  as otherwise all created attributes would have the type 'XATR' (instead
  of the encoded haiku-specific type)
* minor cleanup with respect to the line width limit 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-05 15:43:42 +00:00
Oliver Tappe
82cbfd3573 first stab at fixing #5091:
* let BuildSetup set HAIKU_HOST_IS_BIG_ENDIAN according to HOST_GCC_MACHINE
* minor cleanup in BuildSetup
* when building ICU, set the endianness indicator suffix according to
  HAIKU_HOST_IS_BIG_ENDIAN

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-02 22:11:08 +00:00
Colin Günther
8d84a92032 Coding style cleanup. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-30 09:04:01 +00:00
Colin Günther
485da29cbc Found a better solution for implementing ieee80211_node_dectestref().
Now the reference count get accessed only once, leading to true atomarity.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-30 01:00:51 +00:00
Colin Günther
5ce504e289 * Reworked scanner registration. Scanners are getting cleanly unregistered
on wlan stack shutdown, now.
* Added patch by mmlr to support IBSS (aka Ad-hoc) mode. To activate IBSS mode
  one would need recompile the wlan stack, though, once the constant in
  start_wlan() is switched from IEEE80211_M_STA to IEEE80211_M_IBSS. There is
  no runtime configuration, yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-30 00:37:23 +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
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
Colin Günther
b7dbc3795f Whitespace cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-22 16:48:32 +00:00
Colin Günther
32a0e3810e This change should have been part of r34718.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-20 13:44:43 +00:00
Colin Günther
cc69ec0dd6 Implementing pci_{get|set}_powerstate. There are some wlan chips with the need
to be switched to D0 first.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-20 13:10:20 +00:00
Ingo Weinhold
96054879c1 Fixed build. Since vprintf() is defined as a macro, it's a good idea to
include the <stdio.h> first. I don't see, why the header defines stuff that
is already defined in <stdio.h> anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-20 13:07:02 +00:00