Commit Graph

20000 Commits

Author SHA1 Message Date
Hugo Santos
a300c4e4e1 added FreeBSD 6.2's if_rl (rtl 8139) driver. Mostly original source, just a minimal change to protect the interrupt mask register to more freely enable and disable device interrupts. This driver is still not working, MII support is left, should come soon.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 15:27:48 +00:00
Hugo Santos
2a275df505 freebsd compat. layer: a couple more definitions, minimal, mostly adding a new glue method to re-enable device interrupts since if_rl (rtl 8139) will require it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 15:27:13 +00:00
Michael Lotz
d081ee7b5b Remove now unused fxp directories. BTW: is there a reason to have those drivers under "haiku_name/dev/freebsd_name/*" instead of directly under "haiku_name/*"?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 14:25:17 +00:00
Hugo Santos
5538a25de7 it seems jam prefer SubInclude to be on the bottom of the Jamfile. suggested by Jerome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:52:14 +00:00
Hugo Santos
7d1e0a1da9 freebsd compat. layer: fixed a couple warnings, use KernelStaticLibrary as suggested by Ingo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:49:05 +00:00
Hugo Santos
6ef02a6c21 added FreeBSD 6.2's 3Com 3c90x Etherlink XL PCI driver. The compat. layer still needs a couple things for this one to work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:20:41 +00:00
Hugo Santos
50de974ebb added FreeBSD 6.2's Intel Pro 1000 driver to the tree (original source, unchanged).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:20:14 +00:00
Niels Sascha Reedijk
ad26e9b48c Remove unnecessary Doxygen XML to BoostDoc to Docbook
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:17:19 +00:00
Hugo Santos
45b5203b78 network stack: getsockopt/setsockopt are no longer optional for protocols, as suggested by Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 12:57:00 +00:00
Axel Dörfler
6386c723a5 Applied patch provided in ticket #1218 - should enable nVidia 7100 GS cards. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 12:02:49 +00:00
Ingo Weinhold
13246f99ab Apparently _GNU_SOURCE doesn't imply 64 bit off_t on all glibc
platforms. Funny that it still isn't the default, anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 09:48:35 +00:00
Hugo Santos
ed014fee89 freebsd compat. layer: when open()ing the device, and setting it up, don't clear the device flags (multicast included).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 05:40:39 +00:00
Hugo Santos
07ef8870a3 freebsd compat. layer: multicast support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 05:37:46 +00:00
Hugo Santos
0747d47e40 freebsd compat. layer: added swi taskqueue and a couple more methods that if_xl needs. also marked some as unimplemented so its clearer what is left to be done.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 04:21:47 +00:00
Hugo Santos
dcaf1f47c5 freebsd compat. layer: splited freebsd original code into own files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 03:00:57 +00:00
Hugo Santos
100b6e6537 freebsd compat. layer: close() and free().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 01:28:02 +00:00
Hugo Santos
9628dc45e2 freebsd compat. layer: remove arbitrary limit on number of created threads available in taskqueue_start_threads.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 00:55:10 +00:00
Hugo Santos
303a4a3df6 freebsd compat. layer: a couple more changes. a DMA-using driver (FreeBSD's em, Intel Pro 1000) now works without any modifications (it has a fast interrupt mode).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 00:29:29 +00:00
Hugo Santos
4d281161ba freebsd compat. layer: respect requested priority in taskqueue_start_threads.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 17:15:16 +00:00
Hugo Santos
3f3e58db20 freebsd compat. layer: gcc 4 fixes, it seems __FUNCTION__ is variant.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 17:01:10 +00:00
Hugo Santos
adf9024529 freebsd compat. layer: only init taskqueue_fast if FBSD_FAST_TASKQUEUE requirement is set (since it starts a thread and consumes a couple semaphores).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 16:53:13 +00:00
Hugo Santos
b6ace498dd freebsd compat. layer: added a requirements field so not all drivers init all subsystems. pcnet for instance doesn't need taskqueues.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 16:52:48 +00:00
Hugo Santos
859a95b6c7 freebsd compat. layer: taskqueue implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 16:52:26 +00:00
Jérôme Duval
e477dd1845 now polls the link status for older revisions of bcm440x
inversed active status


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 16:27:56 +00:00
Hugo Santos
a0a553caa3 tcp: allow TCP_NODELAY to be set
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 15:38:33 +00:00
Hugo Santos
36880dfbed make tcphdr public, it is used by several applications.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 13:10:45 +00:00
Hugo Santos
25d42ceb99 freebsd compat. layer: a few more definitions, preparing for a DMA-using driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 13:10:02 +00:00
Axel Dörfler
d00539e3ba * Revamped BPathMonitor API as suggested by Ingo - we could rename it to BNodeMonitor
and add wrappers for watch_node() as well, though.
* Implemented more or less all what is needed for the path monitoring to work.
* Added a test application: works fine under Haiku, but somewhat flaky under BeOS,
  dunno why yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 00:30:59 +00:00
Axel Dörfler
7f61f501cf We now respond to TCGETA to let isatty() think we're a terminal which caused our libroot to use unbuffered I/O.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 00:01:51 +00:00
François Revol
b741fc8986 Fix building on R5 (dano at least).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 23:05:52 +00:00
Stefano Ceccherini
0d478eeb6f Avoid sending an extra (useless) B_DIRECT_MODIFY notification to the
client, when the connection is stopped. But cache the "reason" of the 
notification, and join it with the next one, when B_DIRECT_START is 
notified. Experimental, could be reverted. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 21:26:33 +00:00
Stefano Ceccherini
ca3e59106d call lock/unlock_draw() in SwapBuffers too. Don't set the view color to
B_TRANSPARENT_32_BIT because it doesn't look good in direct mode. Korli, 
please review.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 21:21:28 +00:00
Stefano Ceccherini
652f187eee finally fixed debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 20:49:58 +00:00
Jérôme Duval
d752ee3be8 added missing ioctl for handling link state change. I noted it's not supported on my bcm440x chipset
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 18:08:55 +00:00
Michael Lotz
34cbbba798 * Reworked userland buffer access functionality into two functions in the Transfer class to not duplicate code in each HCD
* Use these functions in UHCI and EHCI which greatly reduces overhead on fragmented transfers as the vector conversion and area cloning is only done once
* Use the PrepareKernelAccess() function before submitting fragments which fixes the crash when trying to access the next fragments buffer in user memory from the kernel thread

This should fix bug #1167 which could be encountered when sending data to a mass storage device with an application that uses a large enough transfer buffer size.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 17:57:30 +00:00
Michael Lotz
562328e70a Fixed wrong cancelling algorithm. This is what you get when you "rework" an existing function without thinking it through again... Thanks J Jerome for noticing\!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 16:58:00 +00:00
Jérôme Duval
40fd232817 implemented CancelQueuedTransfers for uhci
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 14:08:30 +00:00
Ingo Weinhold
633a699447 Since I haven't got enough information to solve the missing LLONG_MAX
issue on some Linux distros by now, here's a work-around.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 13:43:55 +00:00
Ingo Weinhold
e23824d781 Surprising how much gcc 4 compilers on Linux differ. Another attempt to
make both gcc 2.95.3 and the plethora of gcc 4s happy: Typedefed
struct fssh_stat to fssh_struct_stat, thus hopefully avoiding spurious
errors concerning clashes with the function or regarding namespacing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 13:41:12 +00:00
Axel Dörfler
3bef51f0ae * Removed unused code when USER is defined - the fs_shell no longer does this, but
provides a kernel emulation layer.
* Renamed all private BPlusTree methods to have the '_' prefix.
* Removed useless set_sem_owner() from Lock.h - all semaphores created in the kernel
  always belong to the system team automatically.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 12:26:21 +00:00
Axel Dörfler
68f08f67f5 * Fixed a bug introduced with big-endian fixes in r17557; the super block's blocks_per_ag
field was always 1, and therefore, the last allocation group could grow too large.
  Thanks to Samuel Rodriguez Perez for reporting the error (bfs_shell was crashing on
  larger images).
* Minor cleanup in BlockAllocator::_Initialize().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 10:56:40 +00:00
Axel Dörfler
fbe10cf294 A bit more useful output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 10:45:42 +00:00
Ryan Leavengood
44d1fa37cd Initial check-in of Joysticks preferences, courtesy of Oliver Ruiz Dorantes.
There is still work to be done.

I did some code formatting as well as created the Jamfile and rdef. I copied
the R5 Joysticks bitmap icons, but am working on a Haiku vector icon. For now I
just copied the Fonts icon for purposes of having something in the rdef.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 05:48:30 +00:00
Hugo Santos
b27873dc4a freebsd compat. layer: added ETHER_SETPROMISC, ETHER_GET_LINK_STATE and ETHER_SET_LINK_STATE_SEM support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 05:29:06 +00:00
Hugo Santos
9534d90eb9 added IFM_AUTO to if_media and ifconfig.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 05:28:55 +00:00
Hugo Santos
80df11254f freebsd compat. layer: now both receiving and sending work with PCNET.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 05:28:38 +00:00
Hugo Santos
e2941f52fd freebsd compat. layer: couple fixes, sending now works with PCNET. enabled ifmedia_ioctl, and when opening a device, set it down, change media to ETHER/AUTO and set it back up so it sees a IFF_UP.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 03:20:58 +00:00
Hugo Santos
cdb3eb762a the previously added IO interrupt handling routines are no longer necessary, at least for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 22:40:52 +00:00
Hugo Santos
0bdff52467 freebsd compat. layer: instead of disabling the IRQ, disable the device's interrupts on real interrupt request as suggested by Travis. This solves potential issues with shared IRQs. The check & disable interrupts function is part of the required glue code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 22:40:19 +00:00
Michael Lotz
4b3d0fcfda Implemented transfer cancelling for EHCI by reworking the previously unused CancelPendingTransfer() into CancelQueuedTransfers() with the pipe based semantic.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 15:55:26 +00:00