Commit Graph

20187 Commits

Author SHA1 Message Date
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
Michael Lotz
3dc77d1dc9 Prepare cancelling transfers from the stack side. The actual handling will happen in the HCD modules where transfer management has to be done anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 15:22:12 +00:00
Michael Lotz
a49633c222 * Moved around some initialization to avoid problems when deleting incompletely created objects
* Also move waiting for the first explore to run through out of the constructor to reduce delays
* Remove the old device when a new one is connected to the same port - this could happen when you very quickly un- and replug a device

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 15:17:00 +00:00
Hugo Santos
e1a99f77d4 freebsd compat. layer: use a thread for deferred interrupt handling. fixed a issue with bus_space_write_N. init the receive queue on device creation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 15:08:08 +00:00
Hugo Santos
5502e596dc added io_interrupt_handler methods for dynamic handling of IO interrupts, including enabling/disabling without allocation and in interrupt context.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 15:07:56 +00:00
Ingo Weinhold
5ddfffd44a Removed left over debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 13:48:07 +00:00
Michael Lotz
3f2288a41b Fixed wrong deallocation of device resources which caused KDL when unplugging devices with more than one interface.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 12:48:38 +00:00
Ingo Weinhold
21da033912 Typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 12:32:45 +00:00
Stefano Ceccherini
1560418a27 forgot the \n
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 20:41:39 +00:00
Stefano Ceccherini
5115ca0858 Added optional debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 20:03:31 +00:00
Ingo Weinhold
45bf6259ad Fixed libbe_test app server build. ServerPicture.cpp uses the storage kit
private OffsetFile.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 13:27:33 +00:00
Ingo Weinhold
8e9ec2905a Added Samuel Rodriguez Perez to the list of contributors. Without him
FreeBSD wouldn't be a supported build platform.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 13:17:43 +00:00
Ingo Weinhold
047b4d3cc8 Patch by Samuel Rodriguez Perez (slightly modified): Make the new
bfs_shell build on FreeBSD. ioctl() is defined in a non-standard header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 13:16:00 +00:00
Axel Dörfler
ed1589a568 Fixed binary compatibility problem I introduced yesterday.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 05:46:08 +00:00