Commit Graph

5201 Commits

Author SHA1 Message Date
Ingo Weinhold
0a1dabca7e Added public io_request_is_vip(), returning whether the given request has the
VIP flag set.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 11:08:34 +00:00
Oliver Tappe
0ea1aab28a * fixed a couple of regressions of r37670 concerning optional build targets
(bluetooth, ac3_decoder, netfs)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 23:10:57 +00:00
Oliver Tappe
eddec292d5 * applied patch by kaliber that fixes more than 100 warnings - thanks a lot!
Closes #6349

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 21:43:20 +00:00
Axel Dörfler
0a0bed1c7b * Improved debug output; ipv4 will now dump the whole header if TRACE_IPV4 is defined.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 16:23:38 +00:00
Axel Dörfler
2bb43d8246 * First (untested) steps into ICMP support for UDP: we should send port
unreached ICMP messages now, and at least signal an error to select() (there
  is no mechanism yet to actually forward the error to userland).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 14:57:28 +00:00
Axel Dörfler
fcea1b1665 * ICMP now removes its header before passing the error on to the upper levels.
* Therefore, IPv4 no longer needs to mess with that (incorrectly, anyway).
* Removed unused include, turned off ICMP debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 14:54:24 +00:00
Axel Dörfler
aea00dc3bc * deliver_multicast() now returns whether or not it delivered the buffer,
instead of always returning B_OK.
* deliver_multicast() now takes the protocol restriction of a raw socket into
  account.
* raw_receive_data() now correctly returns whether a buffer was delivered (due
  to the protocol restriction, this wasn't the case before).
* ipv4_receive_data() leaked all multicast buffers.
* Some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 13:11:58 +00:00
Axel Dörfler
1978fb81ee * First part of ICMP support: this is based on the work by Ivo Vachkov (GSoC
2007), and Yin Qiu (GSoC 2008). And even though I needed to rewrite pretty
  much all of it because of the countless bugs and problems it had, it still
  shares the same architectural problems of introducing a domain dependent
  error mechanism to the upper layers, and needing the
  net_buffer::network_header hack. This I will rework later.
* net_buffer's append_size(), and prepend_size() will now gracefully handle
  buffers without a data node.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 12:00:27 +00:00
Ingo Weinhold
83f46ed6ab file_cache_write() can get a NULL buffer and still a size != 0, which the
request handling wasn't taking into account.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 09:55:04 +00:00
Axel Dörfler
8d1485fa06 Work in progress commit by Atis Elsts (I'm posting his ChangeLog comments
directly here), I made only a few style changes:
* introduced 'has_broadcast_address' field in
struct net_address_module_info
 - REVIEW: the name, and the status of this field for UNIX and L2CAP
	families
* ipv6 address family support
* ipv6 address printing	
* ipv6 protocol support	
* ipv6 multicast support
  - TODO: add and remove multicast routes in a more proper way
  - TODO: support MLD
* ipv6 datalink protocol support
* icmpv6 protocol support (EchoRequest and EchoResponse messages)
* ipv6 neigbor discovery protocol support
  (Advertisement and Solicitation messages)
  - TODO: only the very basic support is present,
	the protocol state machine is by no means completed
  - TODO: replying to Solicitation does not work too good ATM
	(visible, when pinging Haiku from outside)
* added Jenkin's hash algorith
* minor changes in existing IPv4 code - cleanup function
	ipv4_get_loopback_address(), written by myself
* add tests: raw, udp, tcp/udp, mullicast sender
* add 'hoplimit' field in struct net_buffer
  - TODO: this is just a hack, more generic approach would be  better.
* add 'receive_data' function pointer in
	struct net_datalink_protocol_module_info
  - TODO: this is also more like a hack, to support information
	passing from ICMPv6 to IPv6_datagram level.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-19 16:55:55 +00:00
Axel Dörfler
d869a06172 * Made the stack send out interface change notifications where needed (at least
hopefully :-)).
* Improved interface change notification to include the flags that changed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-19 13:48:16 +00:00
Axel Dörfler
51b6847f5f * Dump a line if an unhandled ICMP packet was received.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-19 11:10:45 +00:00
Axel Dörfler
0fc7ab7be6 * put_route() now survives being called with a NULL domain (TCP might do this).
* This fixes bug #6239.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-19 10:58:59 +00:00
Ingo Weinhold
ae3bba85bb Volume::Link(): Also unwrap the target vnode. The client FS would get a wrong
vnode pointer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-19 10:48:44 +00:00
Ingo Weinhold
08e2a0556c do_iterative_fd_io(): Don't fail when the getVecs callback returns
B_BUFFER_OVERFLOW. It will have returned valid vectors in this case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-19 01:14:02 +00:00
Ingo Weinhold
1977401106 Simplified Jamfiles. The drivers isn't built anyway, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-14 21:11:24 +00:00
Oliver Ruiz Dorantes
8638173cff - Implementation for sendto() & close(), tested over a Motorola V5
- Incomming command rejections not yet properly handled.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-12 22:08:11 +00:00
Oliver Ruiz Dorantes
ef36d96496 - Implement hook Connect()
- Polish l2cap signals negotiation



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-11 16:57:47 +00:00
Jérôme Duval
f0cbfc95e0 fix build with gcc4 and DEBUG
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-11 13:25:14 +00:00
Stephan Aßmus
a9ab7e7f24 Patch by Kaliber: Supported device list was missing terminator. Fixes ticket
#6286. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-09 15:52:35 +00:00
Axel Dörfler
4b0427bddc * Since the native rtl8169 is problematic on many chipsets (including mine),
I've removed it for now, until someone finds the time to look into it.
* Therefore, enabled all supported devices for the rtl81xx driver.
* Made the rtl81xx driver actually work by adding the missing PHYs - it doesn't
  use the same PHYs as the rtl8139 driver. Imported the rgephy.c|h from FreeBSD
  8 (not yet in vendor branch, but unchanged).
* It seems to work reliably with Gigabit now, albeit a bit slow, and with too
  high CPU load.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-08 07:04:44 +00:00
Stephan Aßmus
0f66fdc1b3 Patch by kaliber. Fixes mismatched types for the PCI domain attribute! Closes
#6269, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-07 15:37:23 +00:00
Ithamar R. Adema
c4c6cedde6 * Work around a problem with a USB device (in my case, Qualcomm Gobi 3G modem) that reports interface_number values that are out of range with the interface_count. This would make the usb stack in Haiku crash.
Will need a different fix to get device to work, but at least Haiku won't crash on bootup with this change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-05 20:51:59 +00:00
Ingo Weinhold
e66231742e Added a bit of stuff referenced by inline functions in private kernel
headers. GCC 2 has the unpleasant habit of actually linking the unused inline
functions in. That doesn't suffice to build the userlandfs server with debug
info (it would be the wrong file anyway), but allows to build checksumfs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-05 16:48:44 +00:00
Wim van der Meer
ac40d7205b Fixing the memory leak intruduced by my previous patch. Thanks to Ithamar for pointing this out.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-01 12:13:26 +00:00
Wim van der Meer
89e73c2bbc Fix to get rid of a 'deprecated conversion from string constant to 'char*'' warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-01 11:56:48 +00:00
Wim van der Meer
b1477985ef Add parentheses to get rid of 'suggest parentheses around && within ||' warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-30 12:56:34 +00:00
Wim van der Meer
1daacc6b45 Initialize variables to get rid of '<foo> may be used uninitialized in this function' warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-30 12:34:26 +00:00
Jérôme Duval
919f9c41da Patch from Janito Ferreira Filho with fixes by myself: Ext3 Indexed Directory Lookup (as part of GSOC).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-28 21:38:37 +00:00
Philippe Houdoin
307ff45454 Promoted newest 3dfx video driver by Gerald Zajac in place of the outdated tdfx driver.
Added to Haiku image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-28 20:43:37 +00:00
Fredrik Holmqvist
cfb281bd72 ACPI Module info for prepare_sleep_state, enter_sleep_state, reboot didn't look to be right.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37260 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-26 09:59:36 +00:00
Ingo Weinhold
45bd7bb3db Removed unnecessary inclusions of <boot/kernel_args.h> in private kernel
headers and respectively added includes in source files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-25 22:16:10 +00:00
Ingo Weinhold
b3dc81b1c6 Renamed to C++.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-25 13:39:06 +00:00
Philippe Houdoin
fd9fa13896 Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37242 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-24 04:29:38 +00:00
Philippe Houdoin
a56bc48835 ImÃport new 3dfx graphics driver from Gerald Zajac (see #6215.
Supports Banshee, Voodoo3 and Voodoo5 chips.
It will be promoted as older tdfx replacement soon, but not until 
my small changes around phys_addr_t are validated.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-24 03:47:49 +00:00
Ingo Weinhold
8d71819a01 Restrict B_DMA_HIGH_ADDRESS to 4 GB. AHCI can generally support 64 bit DMA,
but whether the respective controller does is indicated by a capability flag,
which we can't easily access at this point.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37228 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-23 13:36:08 +00:00
Ingo Weinhold
5e679f282f Set B_DMA_HIGH_ADDRESS to 4 GB in the ATA/IDE modules.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37227 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-23 13:31:03 +00:00
Ingo Weinhold
9fb2d73772 Replaced B_32_BIT_MEMORY by B_32_BIT_FULL_LOCK and B_32_BIT_CONTIGUOUS, so
the constraint can be expressed more precisely. ATM B_32_BIT_FULL_LOCK is
implemented as B_32_BIT_CONTIGUOUS when B_HAIKU_PHYSICAL_BITS > 32, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-23 13:29:25 +00:00
Ingo Weinhold
06a6bec0c0 Force 32 bit physical addresses.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 23:22:59 +00:00
Ingo Weinhold
3553f1894d Use the correct type for physical addresses.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 23:22:19 +00:00
Ingo Weinhold
6a76b51960 * Force 32 bit physical addresses.
* Added TODO about apparently ignored 64 KB boundary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 23:21:07 +00:00
Ingo Weinhold
24309cde24 Fixed more issues with 64 bit physical addresses. Mostly by restricting
allocations to 32 bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 22:54:42 +00:00
Ingo Weinhold
34a662eda7 Force 32 bit physical addresses. Added TODOs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 22:02:31 +00:00
Ingo Weinhold
509c0b22d5 Radeon_PrepareDMA(): Fail when encountering physical addresses > 4 GB.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 21:48:02 +00:00
Ingo Weinhold
d108c41998 Force memory allocations to 32 bit physical addresses. The code using them
has implicit limitations (probably because the devices/controllers/... do).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 21:17:23 +00:00
Ingo Weinhold
2cbd922b91 Removed undead code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 21:00:51 +00:00
Ingo Weinhold
fb2ec51289 Fixed build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 21:00:28 +00:00
Ingo Weinhold
c53724f7bf Added work-arounds for intel_gart not being able to deal with physical
addresses > 4 GB.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 20:21:06 +00:00
Ingo Weinhold
160c9c661d scsi_alloc_dma_buffer():
* Use create_area_etc() instead of create_area() so we don't have to deal
  with the physical address restrictions by hand.
* Force physical addresses < 4 GB for the time being.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 19:25:50 +00:00
Ingo Weinhold
bf48aa4321 scsi_init_emulation_buffer():
* Use create_area_etc() instead of create_area(), so the alignment doesn't
  need to be ensured by hand.
* Use B_32_BIT_MEMORY for the time being.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 18:50:51 +00:00