Commit Graph

339 Commits

Author SHA1 Message Date
Michael Lotz
de86f3421c Also call construct_mbuf() from m_getjcl() as it initializes the mbuf fields. It
also handles the M_PKTHDR flag. Before, the uninitialized fields could be left over
from earlier freed mbufs and on m_freem previous m_next fields could be returned
resulting in random mbufs being freed. This makes the iprowifi4965 work and fixes
#5089.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-18 18:00: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
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
Colin Günther
3d9728baf9 * Changed definition of driver_intr_t to the way it is defined in FreeBSD.
The internal_intr structure needed to be adapted accordingly, otherwise it
  would not compile anymore.
  This definition is needed by the aironet (if_an.c) driver I'm currently
  porting.
* Extending FreeBSD compat layer a bit in preparation of porting the remaining
  wlan drivers. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-10 16:16:19 +00:00
Colin Günther
ccc02f719a * Moved socket ioctls from FreeBSD compat layer into the corresponding Haiku
header. This shall ensure uniqueness of the ioctls.
* Added a special SIOCEND define to Haiku's sockio.h, so that drivers can define
  private ioctls as can be seen in src/add-ons/kernel/drivers/network/wlan/atheros/dev/ath/if_athioctl.h.
* Modified ioccom.h of the FreeBSD compat layer, to make use of the special
  SIOCEND define.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-10 11:11:03 +00:00
Stephan Aßmus
b8ec67f491 * Simplified and optimized a lot the "ToString()" debugging facilities.
* *::Index() is now const, thanks to the BList improvements.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-06 13:14:45 +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
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
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
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
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
Colin Günther
962b2f7296 This function needs to handle the sJumboPageSizeCache, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 22:51:33 +00:00
Colin Günther
f47e4d7f93 * Adding another mbuf cache for handling MJUMPAGESIZE sized clusters.
* This should fix ticket #5063.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 20:28:51 +00:00
Colin Günther
8aefb67757 Remove unused header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 19:36:33 +00:00
Colin Günther
56c28b450f * Getting rid of the necessity for cleaning up initialized ConditionalVariables
in uninit_condition_variables(). This method and its counterpart
  init_condition_variables() will be removed, once the need for the 
  sConditionVariableHash will be eliminated.
* Now every initialized  ConditionalVariable gets removed right after it is no  
  longer needed. Ingo what do you think?
* This behaviour matches with the FreeBSD way, where a conditional variable
  gets assigned to a sleepqueue only when needed, and is removed from that
  sleepqueue the moment the condition is met.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 18:48:54 +00:00
Colin Günther
aa068fb982 * Fixing the panics occured when deleting ConditionVariables while still
holding the InterruptsSpinLocker.
* Have to use B_RELATIVE_TIMEOUT if you want to wait for a specific period.
  This fixes the problem of failing firmware loading in iprowifi2200 due to
  always timing out before the firmware would have had the chance to actually
  load.
* I can surf with iprowifi2200 now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 15:02:50 +00:00
Colin Günther
cb89b085e3 * Completing the condition variable subsystem. Thanks to ingo for the heads
up.
* Removed the cv_waiters structure member as it is nowhere used in the network
  subsytem by FreeBSD either.
* Removing the sleepqueue dummy functions completely, as Haiku's condition
  variable subsystem is well suited for this purpose.
* This fixes the build, too, as it introduces the new implementation of pause
  and _pause.
* Implementing the msleep and wakeup functions based on the condition variable
  implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 22:27:02 +00:00
Colin Günther
914a9b34b7 Adding adaptive multi rate retry algorithm module to the wlan stack, as it is
needed by some drivers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 21:49:26 +00:00
Colin Günther
fcd8a8a031 Enhancing freebsd network compat layer with linkage support of the iprowifi2100
driver in mind.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34391 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 21:19:30 +00:00
Colin Günther
d0805bf47e * Basically reimplemented the conditional variable support, so that it is now
easier to a) cleanup on driver unloading and b) to implement the msleep
  and wakeup functions. This is facilitated by keeping track of used
  conditional variables in a hash table. Also this table can be used to get
  the conditional variable belonging to a hash, which isn't supported by
  Haiku's conditional variable support at the moment.
  All network drivers are compiling and linking but it needs to be tested,
  whether executing rises any issues.
* Minor coding style cleanup in condvar.h regarding intersection spacing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 13:17:04 +00:00
Colin Günther
a315b76dc8 * Importing r401 of ported wlan stack from osdrawer.net/haiku-wifi.
This port is based on FreeBSD RELEASE_8_0_0 (r199625) found in Haiku's
  freebsd vendor branch.
* Added freebsd_wlan directory to the Jamfile in HAIKU_TOP/src/libs/compat/
  so that the stack can be built with jam libfreebsd_wlan.a.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 11:22:01 +00:00
Ingo Weinhold
dc28a50219 Hacked up mesa/x86/gen_matypes.c so it no longer generates a header file, but
a file suitable for the CreateAsmStructOffsetsHeader rule. The file is then
used to generate the actual matypes.h header. This fixes issues when
cross-compiling from a 64 bit platform.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-27 14:12:32 +00:00
Colin Günther
da0be4bf3f Remove the wlan specific headers to allow a clearer distinction between
ethernet and wlan drivers when compiling them. Also this removes the burden to
recompile every ethernet driver just because of changes in the wlan part.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-27 12:13:10 +00:00
Axel Dörfler
648aeae3bc * Properly fixed libutil; we should not use O_TRUNC before having exclusive
access to the file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-26 14:22:35 +00:00
Axel Dörfler
aec945c959 * Removed the O_* modes that we currently don't and probably won't support
(O_MOUNT, O_EXLOCK, and O_SHLOCK). I only left the non-standard O_TEMPORARY
  for the time being (as it shouldn't fool anyone).
* Fixed libutil that already used O_EXLOCK, even though it did not do anything.
* Moved O_NOCACHE, and O_NOFOLLOW to the section with implemented modes.
* Added O_DIRECTORY.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-26 14:17:46 +00:00
Bruno G. Albuquerque
7d39f1f137 - Get the process information of the correct team by using get_team_usage_info
instead of getrusage.
- Thanks François for insisting on this. :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-19 12:48:45 +00:00
Bruno G. Albuquerque
4459056dda - Fix tabs. Thatś the price I pay for doing Haiku development outside Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 17:09:08 +00:00
Bruno G. Albuquerque
7d911b2ad9 - Coding style fixes. Thanks Axel for the heads up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 16:13:00 +00:00
Bruno G. Albuquerque
9306738deb - Only try to get usage info if there was no error with waitpid.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 16:00:10 +00:00
Bruno G. Albuquerque
ada17216f9 - Added wait3() and wait4() to the bsd compatibility library.
- Untested, but should work (will test it when I get home later today).
- This is my first attempt at adding something for compatibility reasons. Let
  me know if something in wrong.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 15:53:17 +00:00
Jérôme Duval
35e2c7ab62 updated libpng to 1.2.40
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-08 23:30:28 +00:00
Colin Günther
fd0795f24c This TODO was resolved in r33860.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-01 20:41:56 +00:00
Colin Günther
99a016fd97 * Replacing the Haiku with the FreeBSD copyright in the ieee80211_haiku.h file as it is basically the ieee80211_freebsd.h file. But it only contains code needed by the haiku port. As I regard to the process of adding only needed code as trivial, I sofor removode the Haiku specific copyright completely. Opinions welcome.
* Adding the complete ieee80211 channel structure as it contains alot of useful information which is hard to obtain otherwise (e.g. conversion between frequency and channel number).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-31 20:33:39 +00:00
Axel Dörfler
ea607d6f7f * Applied a patch by Christof Lutteroth that updates ALM, and brings new test
apps.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-28 09:00:14 +00:00
Colin Günther
df65e069cf Coding style fix. Thx to axeld. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-27 18:56:10 +00:00
Colin Günther
6c76785bef Using the add_timer() function as proposed by alexd. Thanks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-27 17:09:53 +00:00
Colin Günther
2406849d4a * Coding style fixes regarding whitespace usage.
* Copyright style fixes.
* Implemented FreeBSD hardclock subsystem, which is needed to update the ticks
  variable. The previous usage of "#define ticks system_time()" wasn't
  sufficient anymore, as there are drivers using the ticks name for local
  scoped variables.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-27 08:14:03 +00:00
Rene Gollent
e9af5d4585 Fix build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-23 13:31:52 +00:00
Colin Günther
c5a4650d6b Fixing the gcc4 build break.
Using macro nonnull which actually resolves to an attribute doesn't work
on inline functions.
Thx to mmlr for helping out.
Eitherway it should have worked in the first place, because the compiler
has all the information it needs.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-23 08:54:52 +00:00
Colin Günther
14627e087b * reordering of headerfile inclusion to comply to FreeBSD 8
ordering.
  this makes porting driver (especially wifi ones) more
  convinient
* based on FreeBSD svn revision 196691

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-23 00:38:56 +00:00
Adrien Destugues
e78ad19f6b Added new methods introduced in freebsd head that encapsulate macros to allow better binary compatibility if the locking way ever changes. These are not really useful, but needed for newer drivers sourcecode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 20:26:40 +00:00
Oliver Tappe
571d840abf * dropped svn:keywords property from all files that carried it
to avoid recurring problems during migration of subversion checkouts
  (restored binary files that were garbled by subversions during checkout)
* added appropriate svn:mime-type property for problematic (binary) files
* removed a single (mistyped) svn:mimetype property 
* dropped svn:eol-style property for cleanup (they all contained 'native')



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-19 22:42:52 +00:00
Scott McCreary
f1b1e2fc9a updated freetype to 2.3.11
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-19 07:03:46 +00:00
Axel Dörfler
676ef01ba7 * Applied patch by Hong Yul Yang to update linprog.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-16 12:13:07 +00:00
Stephan Aßmus
df3a6fbd86 Patch by Joshua R. Elsasser: (ticket #4647)
Fix fgetln() in libbsd to actually return the length of the string.
Thanks a bunch!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-27 07:54:17 +00:00
Philippe Houdoin
e609e7d3eb Ooops, forgot this one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-25 02:08:13 +00:00
Philippe Houdoin
62f9de87b0 Moved Mesa libs (mesa, glu & glut) under src/libs/mesa, where it should have
been since long already.
This should help aljen reintegrate his gallium branch sooner than later, 
which after the speed improvment on softpipe made last days will 
be welcomed, I'll bet ;-)

Maybe it's possible to even have both current Mesa Software Renderer add-on 
*and* Gallium-based SoftPipe one. Will need to actually support renderer 
selection (in OpenGL preference panel or via a missing OpenGL Kit API), 
as today the first add-on found is the only one ever selected...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-25 01:50:30 +00:00
Rene Gollent
ecf8923a9d Fix missing subdir directive. Modify GeneratePackageList to not rely on any OS-specific find extensions. This gets things building again on a FreeBSD host. Review welcome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-19 03:02:00 +00:00
Oliver Tappe
75f1522155 * reintegrated gsoc-locale-kit branch into trunk - there's more
work to do, but it's about time to give this code more exposure.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-18 22:23:34 +00:00