Commit Graph

8560 Commits

Author SHA1 Message Date
Clemens Zeidler
b9857cc356 Adapt MacDecorator to the new addon interface.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 04:46:21 +00:00
Clemens Zeidler
1649544d81 Adapted the ClassicBe decorator to the new DecorAddOn interface.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 04:38:38 +00:00
Clemens Zeidler
4d1aa4a619 Some coding style fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-02 23:16:19 +00:00
Axel Dörfler
cd08b9f7bc * Work in progress of extending the AF_LINK protocol to be able to send and
receive raw packets (only without the ethernet framing).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-02 21:21:16 +00:00
Axel Dörfler
67678a989e * put_device_interface() now also accepts a NULL pointer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-02 21:17:33 +00:00
Axel Dörfler
edf1018372 * Removed a superfluous check.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-02 21:16:02 +00:00
Axel Dörfler
ca215dfe68 * Replaced more occurences of EOPNOTSUPP with B_NOT_SUPPORTED.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-02 16:27:44 +00:00
Axel Dörfler
fee56868a1 * Added a dedicated lock for the device monitors. This fixes a locking issue in
interface_protocol_send_data() which accessed the monitors unlocked.
* Changed SIOCCPACKETCAP to check if the device name matches the one used with
  SIOCSPACKETCAP.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-02 15:23:19 +00:00
Axel Dörfler
41f05b8607 * Made datalink and interface protocol module functions static.
* Got rid of datalink.h.
* Only allow sending/receiving of packets through AF_LINK for root (not that
  sending would be implemented yet).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-02 14:45:44 +00:00
Axel Dörfler
cb8adf5ed2 * Only allow raw sockets for root.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-02 14:18:26 +00:00
Axel Dörfler
845a29a054 * B_SELECT_{READ|WRITE|ERROR} are no flags fields, so they cannot be or'ed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-02 08:28:47 +00:00
Axel Dörfler
791fe8ec0f * Added new socket ioctls to strace, and the datalink debug output.
* Added a few more types to strace's network ioctls.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37807 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-29 09:54:46 +00:00
Axel Dörfler
9d771afb39 * Added Haiku specific socket ioctls to configure the interface aliases:
SIOC_IF_ALIAS_ADD, SIOC_IF_ALIAS_REMOVE, SIOC_IF_ALIAS_GET, SIOC_ALIAS_SET,
  and SIOC_IF_ALIAS_COUNT.
* Implemented all of those new ioctls, though they are yet untested.
* Added ifreq::ifr_data, and removed the hack in the FreeBSD compat if.h
  header.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-29 09:43:08 +00:00
Axel Dörfler
5b2bb28ea1 * Fixed typo that broke the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-29 09:38:07 +00:00
Axel Dörfler
4d41aff0ac * Made sure is_empty_address() also detects AF_UNSPEC addresses as empty.
* The is_empty_address() function of AF_UNIX did not deal correctly with empty
  addresses.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-29 09:33:45 +00:00
Axel Dörfler
d72a2493e6 * Replaced ENODEV with B_DEVICE_NOT_FOUND.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-29 09:28:54 +00:00
Axel Dörfler
61729d9323 * Reworked the complete stack to allow more than one address per network
interface - this caused quite a number of changes.
* Network interfaces, and its addresses are now reference counted (not yet
  complete, though, InterfaceAddresses need to hold references to their
  interface as well).
* There are two known regressions of this commit that I will fix later:
  - you cannot remove interfaces anymore
  - IPv4 multicast was broken anyway, but now it's disabled, too.
* Moved a device_interfaces.cpp|h out of interfaces.cpp.
* The datalink layer chain is now instantiated per domain per interface,
  not just per interface anymore.
* When a buffer reaches the network layer, it has no known interface yet, ie.
  the ipv4|6|whatever modules need to set this manually.
* Added more debug output, and some new debugger commands, the control option
  is now printed in clear text.
* Added hash_address() function to the address modules. Added "const" to
  set_to_defaults() where needed.
* Fixed net_buffer's restore header functions offset use as reported by Atis.
* Improved buffer dump output, use the domain module to print the address if
  available.
* Moved net_buffer::type into the union, as it's not needed by the upper layers
  anymore.
* Moved IPv6 specific code from {add|remove}_default_route() to where it
  belongs, but disabled it for the time being.
* Completely discarded useless ipv4_datagram module.
* Added ping6 to the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 17:38:23 +00:00
Axel Dörfler
b216fbd077 * Applied next work in progress patch by Atis that takes into account most of
my comments so far. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 17:09:12 +00:00
Michael Pfeiffer
6f0d416957 * Moved enconding files into system/data/PDF Writer directory,
as correctly pointed out by Ingo these are no setting files.
* Use find_directory() here and in places marked with TODOs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-27 14:45:25 +00:00
Adrien Destugues
4e525978ba * Make linkcatkeys output the fingerprint in decimal in case of error. This makes it easier to match with the one in the
catkey file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-27 09:16:38 +00:00
Michael Pfeiffer
b085f93bcd * Added files used by PDF Writer to the image
(closed ticket #6380).
* Changed path to /boot/common/settings.
Someone feel free to change the implementation to get 
the path from find_directory(...). 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-26 18:30:36 +00:00
Axel Dörfler
2e1729d050 * Removed _EndpointFor() again; DeliverError() is using _FindActiveEndpoint()
instead, ie. ICMP errors are only forwarded to connected UDP sockets.
* Also notify the DatagramSocket's dequeue loop if an error occurs - this makes
  udp_unreachable finally work as intended.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 10:24:19 +00:00
Axel Dörfler
988d8d4088 * If an error is notified, also forward the even to read/write.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 10:13:05 +00:00
Axel Dörfler
d62ee168ed * Corrected naming/visibility of the DatagramSocket methods (protected methods
do not get the '_' prefix, only private ones do).
* Added a "peek" argument to SocketStatus() (and generally renamed "clone" to
  "peek" where it made sense).
* Implemented the base version of SocketStatus() to return the actual socket
  error. This enables returning ICMP errors back to the socket user.
* Other minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 10:12:06 +00:00
Axel Dörfler
b0e48987f0 * ipv4_error_received() also needs to fill in the buffer's address, and
protocol, and cut off its IPv4 header before forwarding the buffer to the
  upper layers.
* Some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 10:08:23 +00:00
Axel Dörfler
6404b00512 * We need to delay the checksum computation after the reply is complete.
* Also, we need to set the buffer's protocol.
* Now we actually send correct ICMP messages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 10:04:40 +00:00
Axel Dörfler
d98980a446 * dump_buffer() now also prints the stored header, if any, and a bit more data.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 10:02:10 +00:00
Stephan Aßmus
ba0f80c46b * Split debug output into general, audio and video (video output not done).
* Set the AVContext->frame_size, though I don't think it has any effect.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 09:16:18 +00:00
Stephan Aßmus
5061b3521f Patch by Adek336: Support one more H264 fourcc in B_QUICKTIME_FORMAT_FAMILY.
Allows playback of H264 content in Flash container (probably among others).
Thanks! Closes #6372.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 08:27:37 +00:00
Stephan Aßmus
4117556768 Patch by Adek336: Improve debug output in AVFormatReader for the codec id
returned by libavformat. Style fix by myself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 08:25:45 +00:00
Axel Dörfler
437ecdb9d5 * We need to invalidate all routes belonging to the interface when removing it.
* This fixes the second problem mentioned in bug #6243, and therefore the bug
  itself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 13:07:12 +00:00
Axel Dörfler
4ea113cd53 * Make sure the interface matches to the route if given. This fixes problem 1 of
bug #6243.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 13:00:23 +00:00
Axel Dörfler
74a4c33fda * Implemented a way to preserve header data while passing along a buffer to the
upper layers: you use the store_header() function to mark the header you want
  to preserve. All subsequent remove_header() calls won't claim the actual
  data, but only move the node start around.
* This header can then be restored by restore_header(). However, a call to
  prepend_data() will destroy the stored header. Also, if remove_header() cuts
  off a whole node, restoring the header won't succeed anymore.
* Discarded the no longer needed net_buffer::network_header field.
* Also discarded the hoplimit field which temporarily breaks the IPv6 build
  until Atis reworks it.
* IPv4 now also dumps the IP header in the send path if debug output is enabled.
* icmp_error_reply() might be called so early that the net_buffer's addresses
  do not point to the reply address; this is now detected, and the addresses are
  taken out of the IP header in that case.
* Improved dumping the net_buffer to also include its address, and flags.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 12:26:46 +00:00
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
Stephan Aßmus
df2945b3c5 "-O20" GCC flags should have been bogus. As far as I know, we are already
compiling with "-O2". Fixes ticket #6303.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 07:15:59 +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
Adrien Destugues
75e29683b2 * BeDecorator : use _InvalidateFootprint as in the default decorator.
* MacDecorator : use _InvalidateFootprint and implement _MoveBy. This makes the MacDecorator work fine again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-20 10:47:11 +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
Adrien Destugues
a6036edea1 * Update the MacDecorator to be more in-line with the new API. It still doesn't draw anything, however.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-19 12:12:18 +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
François Revol
92d7886758 Fix Mac decorator build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-18 20:16:23 +00:00
Adrien Destugues
3becd1d260 * Fix the ClassicBe decorator for decorator API change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-18 16:31:25 +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
Jérôme Duval
7a87728eea added yuy2 and nv12 guid
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-11 12:00:06 +00:00
Rene Gollent
0537120f12 Fix broken BaseTranslator code that was 100% guaranteed to crash any app making use of Translators.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-10 21:37:29 +00:00
Rene Gollent
526e86ac79 Fix translator builds.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-10 20:52:30 +00:00
Adrien Destugues
87f030bc81 Patch by Jorma Karvonnen : localize BaseTranslator. Thanks !
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-10 19:20:08 +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
David McPaul
651dcdac93 Same fix needed as mp3_decoder see r37362 and bug #6251
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37391 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-04 13:36:28 +00:00
Wim van der Meer
af56de5bb1 Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-03 12:45:44 +00:00
Wim van der Meer
568716bed7 Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-03 10:23:04 +00:00
Wim van der Meer
6b176bef5b Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-03 08:11:37 +00:00
Wim van der Meer
a6cd1edfaa Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-03 07:49:30 +00:00
Wim van der Meer
24874466dc Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-03 06:29:52 +00:00
David McPaul
affec393bc Update to latest libasf (r107)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-03 06:12:56 +00:00
David McPaul
a775c1a432 Correct test. Fixes bug #6251
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-03 06:11:39 +00:00
Adrien Destugues
be8fa2fb30 * Update all applications in tree to use the new localizing system
* Remove the old one from the locale librairy, with some cleanup
Known regressions :
 * readonlybootprompt will no longer update the locale settings : the 
method used messed with internal undocumented things
 * external localized apps (webpositive for example) will not run 
anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-02 11:36:13 +00:00
Axel Dörfler
8efbc2761e * Further cleanup while I was at it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-02 08:14:54 +00:00
Axel Dörfler
10d0523409 * Removed questionable use of strlen().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-02 08:10:38 +00:00
Jérôme Duval
c5f257c095 style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-01 21:08:55 +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
Wim van der Meer
b3df2c9a87 Fixing BeOS binary compatibility.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-28 22:16:07 +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
Wim van der Meer
f52d672815 Compiler warning and code style fixes. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-27 08:40:54 +00:00
Wim van der Meer
0b392e0ec9 Fixes compiler warnings and a few minor code style violations. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-27 06:20:23 +00:00
Wim van der Meer
8bef36786e Compiler warning fix. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-27 06:00:17 +00:00
Wim van der Meer
f1143621ca Compiler warning fixes. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-27 05:49:19 +00:00
Wim van der Meer
23c0ae0362 Compiler warning fixes and code style cleanup. No Functional changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-27 03:02:48 +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
Wim van der Meer
27a54cf005 Compiler warning fix and code style cleanup. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-25 14:27:20 +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
Wim van der Meer
fc86770ba9 Compiler warning fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-25 13:31:17 +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
Adrien Destugues
bb61af4f64 iPatch by Jorma Karvonen : fix warning about deprecated convertion in raw translator.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 18:49:53 +00:00
Ingo Weinhold
84161eb0da Removed useless code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 18:26:41 +00:00
Ingo Weinhold
41ad209240 For the time being use B_32_BIT_MEMORY to allocate the auto-sense area.
Should rather use the device's DMA restrictions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 18:26:12 +00:00
Ingo Weinhold
ae531e279d prepare_sleep_state():
* Use the respective error types for OS and ACPICA functions.
* Don't lock the memory. The caller must do that, since there's no balancing
  function that would unlock the memory again.
* Get the memory map of the given function, not of the on-stack variable.
* Added 64 bit support and a check for the PAE case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 17:15:52 +00:00
Ingo Weinhold
64cf56f5cd Force allocation of physical memory < 4 GB until the related TODOs are fixed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 16:47:29 +00:00
Ingo Weinhold
02507604e7 read_write(): Consider a request created from an io_operation DMA safe. This
saves some checking in the bus manager.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 16:19:49 +00:00
Ingo Weinhold
1043be1d7c Fixed build -- code including <vm/vm.h> must be C++.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 16:14:31 +00:00
Ingo Weinhold
0a35130cc6 Removed undead code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-21 16:00:37 +00:00
David McPaul
7436ac49e5 Code Cleanup, Performance improvements, Seeking Improvements. Audio Seek still not quite right though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-18 09:16:05 +00:00
Rudolf Cornelissen
e48ec1b5e7 added engine function OFFSCREEN_TO_SCREEN_SCALED_FILTERED_BLIT. Not used yet, testing and wip. Function is confirmed up and running on geforce 7200, 6200, 6600, 5200.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-16 20:06:44 +00:00
Rudolf Cornelissen
baf432d5f6 added recognition for case 0x03d510de: /* Nvidia Geforce 6100 nForce 420 */
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-16 19:32:31 +00:00
Rudolf Cornelissen
e904206b8b added recognition for Geforce 7300 GT id 0x02e2, ticket #5872, by Ziusudra. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-16 18:47:34 +00:00
Rudolf Cornelissen
d311275f45 added recognition for Geforce 7100 nForce 630i, ticket #6135, diver. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-16 18:30:43 +00:00
Rudolf Cornelissen
01654a9daa modified force_ws option to include 16:9 aspect modes so both 16:9 and 16:10 modes are settable with this option. version is 1.08.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-15 20:24:57 +00:00
Philippe Houdoin
945ca4378b Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-15 19:12:29 +00:00
Philippe Houdoin
6985b0a46f USB devices should report better than generic B_ERROR in order to
help the stack to detect and handle hotplug device removal.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-15 01:29:20 +00:00
Ingo Weinhold
d6e307aed9 Until the adapter interface has been changed, play it safe and restrict the
high address for DMA to 4 GB.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-15 00:08:27 +00:00
Philippe Houdoin
2aab101928 Register for only supported devices, which reduce a bit overhead when unrelated USB device is plugged-in.
Applied patch for #5209 by oruizdorantes for usb_asix, do the same for usb_davicom.
Will eventually rework it in order to remove duplicated IDs list.
The usb_serial driver also needs the same optimization, 
but gathering the IDs list will take more time than refactor the code and since 
usb_serial is not yet included in haiku image neither ready (no tty module), there is less user experience immediate gain...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-14 21:43:29 +00:00
Oliver Ruiz Dorantes
a5bf12376d *Incorrect endianess handling from bdaddr at parsing from string.
*Remove bluetooth_util deprecated header
*Issue conn_req for socket connect() call



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-14 20:04:10 +00:00
Ingo Weinhold
a8ad734f1c * Introduced structures {virtual,physical}_address_restrictions, which specify
restrictions for virtual/physical addresses.
* vm_page_allocate_page_run():
  - Fixed conversion of base/limit to array indexes. sPhysicalPageOffset was not
    taken into account.
  - Takes a physical_address_restrictions instead of base/limit and also
    supports alignment and boundary restrictions, now.
* map_backing_store(), VM[User,Kernel]AddressSpace::InsertArea()/
  ReserveAddressRange() take a virtual_address_restrictions parameter, now. They
  also support an alignment independent from the range size.
* create_area_etc(), vm_create_anonymous_area(): Take
  {virtual,physical}_address_restrictions parameters, now.
* Removed no longer needed B_PHYSICAL_BASE_ADDRESS.
* DMAResources:
  - Fixed potential overflows of uint32 when initializing from device node
    attributes.
  - Fixed bounce buffer creation TODOs: By using create_area_etc() with the
    new restrictions parameters we can directly support physical high address,
    boundary, and alignment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-14 16:25:14 +00:00
Axel Dörfler
35f8d08009 * Fixed the good old operator& precedence bug I noticed while looking over a
patch by Ziusudra.
* Use new(std::nothrow) instead of new.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-13 16:52:21 +00:00
Jérôme Duval
30dabe8cd9 added missing return, noticed by stippi. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-12 19:00:11 +00:00
Jérôme Duval
3f0827a2d1 * fixes a warning
* try to launch screen_blanker by path when a launch by signature fails.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-12 17:47:47 +00:00
Jérôme Duval
b14ae02b95 some verbs use a 16 bits payload
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-12 14:16:30 +00:00
Jérôme Duval
9a0a4979d5 * add some helper functions to read/write verbs.
* try at support realtek alc888. alsa uses this init sequence.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-12 14:02:50 +00:00
Ingo Weinhold
bdc4a73afc Disable debug output also in C++ mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 18:04:25 +00:00
Ingo Weinhold
1d26c7248f vm_page_allocate_page_run(): Added parameter "limit", specifying the upper
physical address limit for the page run to allocate.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 17:30:49 +00:00
Axel Dörfler
4c75e72cde * Fixed style violations introduced by Rudolf.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 10:56:05 +00:00
Rudolf Cornelissen
a586cdf275 added ricatech netbook touchpad recognition. works ok now. hope nobody minds..
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 10:48:07 +00:00
Ingo Weinhold
297bfa1aba Converted sources that include the private <vm/vm.h> to C++. Fixes the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 10:38:29 +00:00
Joachim Seemer
2d192e7a80 Improved TeamManager default button behaviour, closing #6051.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-08 16:43:14 +00:00
Jérôme Duval
fede7ab530 * updated if_re to HEAD from FreeBSD, keeping most Haiku changes (re_defrag was removed for the time being).
I'd like to know if keeping re_defrag is required. Tests welcome (see #5180).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-06 17:53:25 +00:00
Jérôme Duval
786171e012 * Locks fLocker when drawing. This avoids a cleanup while drawing (fixes bug #6138).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-06 14:05:04 +00:00
Axel Dörfler
cdfd124b11 * Now phys_addr_t should be used where needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-06 09:39:38 +00:00
Rene Gollent
5003f66a4c The physical base pointer can be NULL since it's only allocated if certain flags are passed. Fixes regression introduced in r36999 and hopefully ticket #6137. Axel, please review.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-05 02:10:14 +00:00
Jérôme Duval
77ba3b5259 * whitespace cleanup and some style fixes
* fixes TODO about using phys_addr_t instead of void*


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-04 23:04:09 +00:00
Jérôme Duval
ac0b32534b * whitespace cleanup and some style fixes
* fixes TODO about using phys_addr_t instead of void*


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-04 22:52:06 +00:00
Jérôme Duval
e43d37db09 * added idt codec vendor id
* added quirks for idt 0x76b2 and apple macbook 0x00a1
* add headphones to the output path in case one input has a path to a used output


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-04 22:25:51 +00:00
Axel Dörfler
32ebe87c01 * Enabled debug output for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-04 07:42:38 +00:00
Ingo Weinhold
1d578e15fe Fixed more address types related issues. Mostly printf() or comparison
warnings, but also some oversights from earlier changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-02 20:46:49 +00:00
Ingo Weinhold
19a0767e35 Quick and dirty work-around for broken interface.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-02 20:43:59 +00:00
Ingo Weinhold
435c43f591 * Introduced type generic_io_vec, which is similar to iovec, but uses types
that are wide enough for both virtual and physical addresses.
* DMABuffer, IORequest, IOScheduler,... and code using them: Use
  generic_io_vec and generic_{addr,size}_t where necessary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-02 18:42:20 +00:00
François Revol
0c538753e2 Attempt to fix several flaws that prevented me from backing up my 650MB of mails from my BeOS partition:
- Select() didn't actually reselect even when asked to force things from AddMessage(), making the uploaded mail get an off-by-one unique id assigned and a second copy downloaded on subsequent fetching, though this would really need proofreading as I'm not really sure how it all works,
- the allocated buffer wasn't freed, making mail_daemon allocate 650MB, which obviously crashed when out of physical ram, now it only uses 15MB :p,
- try to find workable IMAP flags for sent and pending mails, or use custom ones when the server allows arbitrary flags,
- the LIST command wasn't checked for correct response, making subsequent commands like CREATE mailbox fail from the OK answer of previous ones when syncing on a new accound,
- try to read the creating time (actually modification time since creation time is reset when copying files around) and pass it to APPEND command so I won't get the whole 10000 mails all received as of today.
Now I can put all my old mails on an imap server (tested on dovecot) to read it from other OSes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-01 19:04:00 +00:00
Siarzhuk Zharski
a5bc5bb66d Fixed Haiku coding style violations mostly pointed by FuncHaikuCheck.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-01 18:50:04 +00:00
Axel Dörfler
8b5a01bb4d * The adjusted capacity was one block too short.
* Added debug output to test_capacity().
* Minor other cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-01 14:34:51 +00:00
Axel Dörfler
8e8739eb3c * Try at solving bug #6036; similar to Linux, we now try to cut down the
capacity by trying to read at the end of the medium.
* Not tested at all yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-01 13:39:12 +00:00
Axel Dörfler
455b379c27 * Added a read_write() function to the scsi_periph module.
* Internally, moved the contents of periph_io() into a static read_write()
  function, and use it from the new periph_read_write() as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-01 13:37:55 +00:00
Axel Dörfler
8825d45d57 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-01 12:06:56 +00:00
Axel Dörfler
03768a4052 * Introduced IOScheduler::MediaChanged() - this is now called by scsi_cd instead
of having the logic be triggered by IOScheduler::SetDeviceCapacity(), as that
  one might actually be called more often (for each call to update_capacity(),
  ie. each B_GET_GEOMETRY/B_GET_DEVICE_SIZE will trigger it), and there is no
  reason to throw away the cache every time (will make a difference during
  partition/file system detection).
* In cd_init_device() just call update_capacity() instead of duplicating its
  code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-01 12:05:24 +00:00
Axel Dörfler
266ee1f290 * Added a TODO about reporting partial transfers.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-01 11:59:23 +00:00
Axel Dörfler
36f016ddbe * Enlarged the identify TOC buffer to 2048 bytes just to be sure.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-01 11:56:21 +00:00
Siarzhuk Zharski
98694dd385 Fixed using user_memcpy for data received from userlad. This fixes ticket #6082.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-31 19:30:48 +00:00
Axel Dörfler
9a063f059c * Fixed the AGP interface to correctly use phys_addr_t where needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-28 09:19:11 +00:00
Ingo Weinhold
64d79eff72 * Changed physical_entry::{address,size} to phys_{addr,size}_t and changed
map_physical_memory()'s physicalAddress parameter type from void* to
  phys_addr_t. This breaks source compatibility, but -- as long as
  phys_{addr,size}_t remain 32 bit wide -- keeps binary compatibility with
  BeOS.
* Adjusted all code using the affected interfaces (Oh what fun!). Added a few
  TODOs in places where the wrong types (e.g. void* for physical addresses
  are used). Looks like quite a few drivers aren't 64 bit safe and others
  will break with PAE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-27 22:07:27 +00:00
Jérôme Duval
1716472d36 try at unmuting the headphone pin complex when the jack is present, see ticket #6057
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-27 21:20:48 +00:00
Ingo Weinhold
8984ae973b * Added TODO.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-27 20:42:53 +00:00
Ingo Weinhold
4c214152e8 * Added TODO.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-27 20:09:03 +00:00
Ingo Weinhold
13f956b116 Added TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-27 20:06:42 +00:00
Axel Dörfler
d7e91d9253 * The DPMS code tried to enable the LVDS panel already if a digital display
was detected; however, it should only do so when there is an actual LVDS panel
  detected.
* This should fix one part of ticket #3149 - looks like there are two different
  issues. Thanks to Robert J. Gebis for providing me remote access to his
  system.
* Minor debug output improvements.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-26 13:48:46 +00:00
David McPaul
c436ab319d gcc4 fixes and add removal of buffer when source disconnected
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-25 09:06:26 +00:00
Ingo Weinhold
386be45abc Fixed 64 bit warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-24 21:41:20 +00:00
Ingo Weinhold
9d570af7c8 Changed the type of the "op" parameter of the fs_vnode_ops::ioctl() hook and
the _kern_ioctl() syscall from ulong to uint32.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-24 21:04:22 +00:00
David McPaul
a3d9c49a18 Use the alpha from the source
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-24 09:43:24 +00:00
David McPaul
8391490adc make the block more dynamic
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-24 09:42:33 +00:00
Stephan Aßmus
59193042cc Make header selfcontained.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-23 12:29:35 +00:00
Fredrik Holmqvist
e427cb78f7 * Fixing acpi_embedded_controller to work with the acpi 20100428.
* Fixed one instance where ACPI and BeOS status codes was not handled right.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-22 09:45:18 +00:00
David McPaul
e615fd4dda add video_mixer to Jamfile
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-22 05:29:29 +00:00
David McPaul
0fe9fd368f Start of a video mixer node
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-22 05:27:49 +00:00
David McPaul
da4fcd47f5 Try to use overlay first
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-22 05:27:15 +00:00
David McPaul
dc706a1b49 additional option to display a color block
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-22 05:25:32 +00:00
Axel Dörfler
b70311a396 * The RTF parser only accepted lower case hex numbers which prevented the
prices.rtf to be parsed correctly as reported by humdinger.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-21 11:39:19 +00:00
Axel Dörfler
db90422897 * The RTF-Translator will now convert all command line arguments to plain text
to stdout (mostly for testing).
* Removed no longer needed packaging jam rule.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-21 11:26:48 +00:00
Ingo Weinhold
5023986b41 USBWebcamHeaderGen rule: Add grist to both header and sources. Simplifies the
invocation and fixes the dependency problem (missing grist on the sources)
that caused the headers not to be regenerated when the sources changed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-20 19:01:18 +00:00
Fredrik Holmqvist
ffb873afec Merge acpi from acpica vendor branch 20100428:
* AcpiSetGpeType no longer exists, replaced with AcpiSetGpe. Since acpi changed gpe handling embedded controller might need improvements.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-19 21:33:02 +00:00
Stephan Aßmus
941e7bddbc Patch by herdemir: Fix codec table to include correct fourcc for H.264 video
streams in AVI files. Could confirm this with a test video. Thanks and sorry
for the delay!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-17 16:27:25 +00:00
Stephan Aßmus
1b603b3f39 Implement a fall-back for calculating the media_header start time when the
packet did not specify a PTS. Made this change long ago, I don't believe it
helped much...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-17 16:22:41 +00:00
Stephan Aßmus
e2a53a81d1 White space cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-17 16:18:39 +00:00
Stephan Aßmus
be1140e1e5 Added some more defines for demuxers that could in theory be enabled. But we
have native implementations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-17 16:17:06 +00:00
Stephan Aßmus
3e3162e3af Patch by idefix: Add support for four different Bamboo devices. Closes ticket
#3744, thanks a bunch!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-17 15:39:42 +00:00
Stephan Aßmus
a9f29dd29c Patch by idefix: Code cleanup and debug output cleanup. Part of patch to
ticket #3744, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-17 15:38:25 +00:00
Stephan Aßmus
19ec74b048 Patch by Wim van der Meer: Use the new get_mouse() function instead of the
previous hack. Thanks a bunch! Closes #6019.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-17 12:13:36 +00:00
Michael Pfeiffer
4339f8be19 Style clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-14 09:36:26 +00:00
Michael Pfeiffer
13dfd6ccca * Avoid null pointer reference if configuration dialog is canceled
(fixes #5988).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-14 09:20:55 +00:00
Stephan Aßmus
62355113cf Fixed coding style violation...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-11 18:36:02 +00:00
Stephan Aßmus
9716ee3e47 For Intuos3, use an additional bit from another data bucket. This is what the
Linux driver does, thanks for idefix for tracking down the problem! Should fix
ticket #5960, but I don't personally have the hardware. The change can only
affect Intuos3 tablets, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-11 18:32:16 +00:00
François Revol
7a2f989819 Make sure native drivers are loaded first, by openning the /dev directories to let devfs scan them. Also make sure oss is loaded so we can open /dev/sndstat.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-08 22:36:37 +00:00
François Revol
ee9a07fc52 Seems I presumed too much about my copy-pasting skills, doing continue in the loop without incrementing doesn't go much further. Fixes busy-loop on error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-08 22:10:08 +00:00
François Revol
bbb55d159e Add PCI device reservation to the drivers that still missed it in the image. This along with the updated OpenSound should fix the KDLs. Hopefully the init_driver() code was identical enough I didn't make any copy-paste error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-08 18:45:28 +00:00
François Revol
7d8c577325 - use DRIVER_NAME in dprintf.
- unreserve the device in case init failed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-08 17:44:35 +00:00
Michael Lotz
6bb5960fd6 Temporary workaround to the MSI issue on broadcom570x. Fixing for real later,
but this one should go into alpha2 to make the card work as before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-08 15:38:26 +00:00
Michael Lotz
b59539c7ce Ensure that the PCI module is initialized when using the x86 specific module as
it makes use of gPCI which is initialized during pci module init. Might help
with #5936.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-08 15:09:28 +00:00
Michael Lotz
dea3dab422 Forgot to commit the removal of the old file in r36223.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-08 14:57:21 +00:00
Jérôme Duval
cea369ce9d UVC webcam addon isn't ready yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-08 14:51:02 +00:00
Ithamar R. Adema
9661f324d9 * Don't mark edid_detailed_timing entries with a pixel_clock <= 0 as EDID1_IS_DETAILED_TIMING. This prevents decode_edid clients to incorrectly interpret the entries as valid.
This fixes booting on the Samsung NP-N135, which used to reset before being able to enter the bootloader menu. It would be interesting if tickets #4408, #5539, #5696, and #5720 could be retested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-07 21:51:06 +00:00
Matt Madia
4eb0cbb044 Updated TR_CONTEXT to be B_TRANSLATE_CONTEXT, relating to #5408.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-07 20:19:06 +00:00
Ingo Weinhold
8da96bede1 Disabled the driver on SMP machines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-07 17:30:31 +00:00
Axel Dörfler
709b35256a * No longer keep the write lock when accessing the attribute data; instead, we
now make sure no one else touched it in the mean time (in order to retrieve
  consistent data for the index update). This should fix bug #5878.
* Squashed a TODO by locking the inode in the transaction as well.
* Fixed a quasi bug that would not have read the attribute data if there was no
  live query for it; "fortunately", Volume::CheckForLiveQuery() is not
  implemented yet, and always returns true.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-07 08:36:31 +00:00
Axel Dörfler
51576f91e8 * Fixed broken build with TRACE_PS2 defined as reported by Pieter.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-07 07:56:26 +00:00
Matt Madia
b842a5efaf Updated add-ons/* to use B_TRANSLATE* macros. relates to #5408.
To note, I'm grepping for "TR_CONTEXT" to identify which files to update.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-06 15:55:56 +00:00
Clemens Zeidler
da0e57ba62 Remove leftover from the intel driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-04 21:56:53 +00:00
Matt Madia
fe0335fc5a Added two HVIF for the PDF Writer, applied the 2nd as its icon.
Improvements welcomed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-04 13:09:47 +00:00
Matt Madia
ed620d575c Updated to build with HVIF+rdef instead of bitmap+rsrc.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-02 15:08:21 +00:00
Fredrik Holmqvist
3a8771067d Trying to cleanup header order. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-02 08:29:41 +00:00
Fredrik Holmqvist
d52ea9c90e Trying to fix #5861. As we are now so early in the boot process, we should really avoid functions that wait. The change in r36565 from waiting on condvar seems to have moved the problems over to the snooze method.
We now use spinlocks instead of snoozing while booting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-01 18:25:33 +00:00
Fredrik Holmqvist
30653a9ed0 Use polling in embedded controller while booting. Might fix #5861. Is this usage of the flag ok?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-01 07:59:48 +00:00
Ingo Weinhold
523d310585 * get_emulation_buffer(): Don't replace the request data. Both callers
(scsi_start_mode_sense_6(), scsi_start_mode_select_6()) also call
  replace_request_data(), which does the same. Therefore the original request
  data were lost. scsi_start_mode_select_6() also copied the wrong data due
  to this.
* scsi_finish_mode_sense_10_6(): In case of error also call
  restore_request_data() to restore the request data.

Fixes #5855 -- since the request data length was changed, unlock_memory() was
called with a different length than lock_memory(), thus triggering the
panic(). After starting CDPlayer the syslog is still spammed with failing
requests, so obviously something is still not OK.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-29 20:26:19 +00:00
Ingo Weinhold
d3166e469c Replaced no longer necessary send_signal_etc() work-arounds for
resume_thread().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-29 15:23:29 +00:00
Axel Dörfler
d3a302aae8 * embedded_controller_support() now actually checks all entries of the
supporting ID array (just that it only contains one entry).
* Fixed missing malloc() result check in embedded_controller_init_driver().
* Style fixes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-29 15:09:38 +00:00
François Revol
79bda6fd6e Fix #5754 so at least the driver builds. It is not yet usable since we do not have a tty manager. For now it should be possible to get the BeOS one to work in Haiku though, but it's not tested.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-28 09:58:18 +00:00
Fredrik Holmqvist
8b0107016a The embedded controller handled timeouts wrong in several ways:
* It confused ms and usecs for ec_timeout
 * It tried to handle waiting like on platforms that can't do better timing than ms. Haiku can do much better, which simplifies the code a lot.

This should fix #4623 and #5825. At least on my laptop BatteryStatus never shows weirdness or reports errors in syslog.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-27 20:55:01 +00:00
Ithamar R. Adema
d023a58407 * Fix problem reported by stippi: The IPP transport addon expected the URL in a custom printer attribute instead of the standard transport_address attribute. This caused the IPP transport to ask for the URL even though the Printers preference panel had already stored the URL in the transport_address attribute.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-27 16:04:34 +00:00
Stephan Aßmus
c497ec3773 Patch by Alex Wilson (yourpalal): Converted the remaining two translators to use
layout management. Fixed a bug in the HVIFTranslator which did not release
the TranslatorSettings in it's destructor. Thanks a bunch!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-27 10:39:39 +00:00
Ingo Weinhold
e76856a4a5 Enabled the IOCache depending on the amount of free pages. Currently the
limit is 180 MB.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-26 16:56:37 +00:00
Ingo Weinhold
0715529b59 Renamed IOScheduler to IOSchedulerSimple and pulled an interface IOScheduler
out of it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-26 14:47:24 +00:00
Axel Dörfler
3179449933 * Renamed ATAInfoblock.h to ATAInfoBlock.h.
* Fixed copyright as pointed out by Ingo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-26 09:13:12 +00:00
Stephan Aßmus
94a204f083 Patch by Alex Wilson (yourpalal): Convert the JPEG2000 Translator to use the
BaseTranslator framework and layout management. Big coding style clean up, too.
Thanks a bunch, great work!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-25 11:12:20 +00:00
Stephan Aßmus
b98ef4f94b Patch by Alex Wilson (yourpalal): Converting the JPEG Translator to using the
same BaseTranslator framework as many other translators are already using and
converting it to using layout management for the interface. Great work! Thanks
a lot!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-25 10:59:55 +00:00
Ingo Weinhold
574e5742ad Optionally use the IOCache instead of the IOScheduler (specified by
USE_IO_CACHE macro in the header). Currently disabled, though. It works fine,
if the machine has a good deal of RAM. I tested with the anyboot CD -- the
boot and installation times drop dramatically. On machines with little RAM
there are issues, though. Apparently the cache isn't drained fast enough, so
that other allocations can fail.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-23 18:14:53 +00:00
Axel Dörfler
11a40e6d46 * Fixed wrong indentation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-23 10:56:39 +00:00
Axel Dörfler
6c7bc7cd22 * Added missing const in ATAPIDevice::IsATAPI() that prevented CD-ROMs from
working since r36416.
* Added more const, and removed all superfluous semicolons.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-23 10:43:10 +00:00
Fredrik Holmqvist
5d9cc10f80 Moving ACPI Embedded Controller to ACPI bus manager.
* Removed irq_routing struct from ACPI.h to where it is used. Might be able to use acrestype.h instead of duplication.
 * Disable old embedded controller and remove it from image.
 * Move embedded controller code to busmanager module.
 * Remove (some) code duplication

Should work as before, but is now initialized right after the bus manager. Can probably remove further code duplication.
I hope I've done it correctly, feedback is most welcome.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-22 16:19:41 +00:00
Axel Dörfler
63400da873 * Got rid of the ATA_BLOCK_SIZE define.
* The logical and physical block sizes are now retrieved from the info block,
  though only the logical one is actually used (where ATA_BLOCK_SIZE was used
  before).
* Also added retrieving the offset of the first logical block inside the first
  physical one.
* All this stupidity just for Windows XP, it's really sad.
* Added "const" to some methods, removed some superfluous ';'.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-22 14:13:32 +00:00
Axel Dörfler
46d3d6949b * Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-22 13:42:13 +00:00
Axel Dörfler
dba5fcaed8 * Use the ATAInfoblock.h header file instead of redoing it somehow.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-22 12:14:05 +00:00
Axel Dörfler
0b46a85e47 * Added missing definitions to support the concept of physical vs. logical
block sizes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-22 12:12:32 +00:00
Axel Dörfler
a2f2499840 * Style and automatic whitespace cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-22 12:03:47 +00:00
Jérôme Duval
17c5e0648d Fix #5587: added B_CLOSE_ON_ESCAPE on team monitor window and a close shortcut for Command+W.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-21 19:32:19 +00:00
Axel Dörfler
b19e758b80 * The Keymap::IsDeadKey() of the Keymap preferences which was the main source
of BKeymap was not compatible with IsDeadKey() of the other Keymap
  incarnations.
* Now, I've renamed IsDeadKey() to DeadKey(), and introduced a new
  ActiveDeadKey() method that works like the other former IsDeadKey().
* This fixes the dead key problems my earlier BKeymap work introduced.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-21 16:36:54 +00:00
Clemens Zeidler
66f1ecdae7 Start to cleanup radeon_hd driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-21 10:03:01 +00:00
Jérôme Duval
17aad616d2 Patch from Janito Ferreira Filho (bug #5706): limit the Inode ID to the maximum number of Inodes. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-19 19:04:40 +00:00
Clemens Zeidler
8bb679076d Set the write combine flag for the framebuffer area.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-16 15:29:30 +00:00
Axel Dörfler
b44c25de42 * Factored out a single base class out of the three Keymap implementations we
had in our tree.
* Adapted Keymap, <input>keyboard, and consoled to use it - the additional
  functionality is implemented via a subclass in the first two cases.
* "keymap" will come next.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-16 07:47:41 +00:00
Fredrik Holmqvist
186058c517 Some corrections and cleanup to ACPI Embedded controller:
* Exposed ACPI API needed by Embedded Controller
	This will be removed again if moved inside the bus manager.
	It also duplicates ACPI's own headers so it might go out of sync atm.
 * Added mutex to controller and fixed the mixup between acpi_status needed in int handlers and Haiku status.
 * Major code cleanup
	Not for headers as they are mostly redundant if we move the controller.
	Variable names still needs some cleanup

This makes the ACPI errors from the controller understandable. I get AE_NO_HARDWARE_RESPONSE now.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 19:23:43 +00:00
François Revol
af0bb8e3d3 Implement creating attributes, though still with a broken mapping loosing the type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 15:15:36 +00:00
Axel Dörfler
8f49507c1d * Added MSI support (might help with bug #5511).
* Fixed wrong return type from wpi_read_prom_data().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 13:04:05 +00:00
Axel Dörfler
e1bef3de00 * Use send_signal_etc() instead of resume_thread() to prevent immediate
rescheduling; this allows DPC queues to be created before the scheduler is
  running.
* Removed BeOS R5 support.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 12:31:56 +00:00
Axel Dörfler
7380abeb44 * Implemented the debugger mode for the USB keyboard driver.
* Made the USB keyboard driver safe to be used from more than one team - only
  the first one will be able to retrieve any keys. Before, since there was no
  locking, internal structures would have been messed up in that case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 09:03:32 +00:00
Clemens Zeidler
d5009951b7 Scale the output to the correct resolution. Finally got the correct resolution on my laptop :-)
Possibly fixed the monitor timming.

TODO: 
- Very big code cleanup.
- At the moment there is only one hardcoded dislplay_mode (1366 x 768).




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 09:01:35 +00:00
Axel Dörfler
7089514138 * Pass the cookie to ProtocolHandler::Close() as well.
* Removed superfluous semicolons.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 08:31:50 +00:00
Axel Dörfler
447b0afd93 * Use const where appropriate.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 08:18:37 +00:00
Adrien Destugues
8025477189 * Implement a function to get all the available languages for a given application
* use it in readonlybootprompt instead of previous workaround code.
This makes the readonlybootprompt faster and lighter as it doesn't open and parse all the catalogs anymore, but only checks for their existence.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 23:48:01 +00:00
Axel Dörfler
48450caac5 * Prepared driver for the implementation of the debugger mode: there is now a
uint32 cookie that is saved per file handle and passed to the ProtocolHandler
  objects.
* Beware that the output of the driver no longer shows the handler as pointer,
  but the internal device cookie.
* Added handling of KB_SET_DEBUG_READER to the KeyboardDevice class (it just
  doesn't do anything with that).
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 21:59:15 +00:00
Axel Dörfler
2c49465329 * Removed the at_kbd_io and AT keyboard stuff; this is now done within the PS/2
driver, and that driver is using the raw_key_info structure as well.
* Renamed kb_mouse_driver.h to keyboard_mouse_driver.h.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 19:19:14 +00:00
Axel Dörfler
f3cf9af6bf * Fill the gap between a write and the former file size with zeros, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 14:36:02 +00:00
Axel Dörfler
39aab96e4c * Removed the old keyboard driver - it's no longer needed as consoled no longer
uses it.
* While I were at it, I removed the ps2mouse driver as well, as well the whole
  arch directory (as it is otherwise empty).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 13:06:12 +00:00
Axel Dörfler
64e57f07ce * Added a bit of code to Keymap that lets it load a keymap from disk; I might
unify the three or so version we have of that class into one in the not so
  distant future.
* Moved the AT keycode map into its own file.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 12:51:44 +00:00
Axel Dörfler
897ca37d52 * Introduced a new debugger access to the keyboard drivers, and implemented that
in the PS/2 driver for now. The basic idea is to allow everyone to open the
  device, but only allow one key reader (as usual). However, once someone
  registers itself as a debugger, the original reader is blocked, and the
  debugger can read the key presses instead.
* Renamed ps2_keyboard.c to .cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 12:30:23 +00:00
Axel Dörfler
3856867b03 * Made C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 12:20:30 +00:00
Michael Lotz
38fc536e05 Some more constness.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 09:44:15 +00:00
Michael Lotz
19b8f8a080 Cleanup and some added constness.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 09:32:11 +00:00
Michael Lotz
cc9f959d8b Rename usbspec_p.h to usbspec_private.h and fix header guards.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 09:13:55 +00:00
Michael Lotz
853e6be8ca * Rename usb_p.h to usb_private.h.
* Some automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 09:10:48 +00:00
Michael Lotz
72457eddbc Add a yet unused physical memory version of queue_bulk_v(). For full/lowspeed
devices it's uninteresting, but for EHCI it may be implemented some day.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 08:42:20 +00:00
Michael Lotz
661d8af64c The cloned area to access the userspace buffer in the case of fragmented
transfers was created with wrong permissions leading to a read-protected area.
Since we actually support read-protection in Haiku this caused a crash for all
fragmented transfers (transfers > 384K) leading to #5538.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 08:32:22 +00:00
Clemens Zeidler
c9abe8265d Revert wrongly committed files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 22:43:50 +00:00
Clemens Zeidler
a90ebd77ee Work in progress of a Radeon HD 3200 driver to change the display mode (status when I leave the coding spring). At least it shows a picture but with a wrong scaling.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36243 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 22:35:53 +00:00
François Revol
d9590f1cc2 Remove duplicate assignment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 22:01:49 +00:00
Michael Lotz
ee6e756ef1 Add license headers as pointed out by Jérôme.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 21:55:52 +00:00
Michael Lotz
696914f907 If device allocation fails, retry the attach process, i.e. reset and initialize
the device again. Makes Axel's USB stick work and might also help with other
(broken) devices.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36234 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 18:26:26 +00:00
Ingo Weinhold
f6f047841e Use debug_memcpy() instead of user_memcpy() in the kernel debugger.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 17:40:50 +00:00
Michael Lotz
2548ea219a * Add the framework for adding an arch specific module to the PCI bus_manager.
* Implement such a module for x86 which currently exports only an MSI API.
* Implement the PCI part for configuring and enabling MSIs.
* Some automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 15:18:46 +00:00
Axel Dörfler
2d4ce06468 * Changed the latency computation a bit to make it somewhat clearer.
* Only report lateness if it is beyond the accepted jitter.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 21:51:40 +00:00
Axel Dörfler
d0085d25d1 * We now limit the maximum latency in MediaPlayer and the audio mixer, as a
latency can easily get annoying if too high.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 20:53:15 +00:00
Jérôme Duval
02af02f93a partial clean up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 20:34:04 +00:00
Jérôme Duval
ac8b5878d7 clean up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 20:13:40 +00:00
Oliver Tappe
ab1a4bef4f cleaning up after myself 4 years later:
* remove matches_broadcast_address slot in address module, as it
  doesn't exist anywhere
* automatic whitespace cleanup



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 19:06:46 +00:00
Oliver Tappe
56f097ebd9 Applying patch by Atis Elsts:
* fix connecting to INADDR_ANY work for tcp (effectively will
  connect to INADDR_LOOPBACK)
* add same behaviour to udp
* move some ipv4-specific code out of tcp into ipv4 address module
* bind() and connect() now reject addresses from non-matching 
  families
* myself: minor cleanup in udp.cpp with respect to 80 chars limit
Closes #5716 - many thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 18:39:34 +00:00
Axel Dörfler
b289aaf66b * A BBuffer does not know where it came from, so
BBufferConsumer::BufferReceived() cannot know whom to send the "buffer is
  late" notification (unless we only have a single input). To solve this, the
  media_header now contains extra fields that can be used to create a
  media_source object.
* Unfortunately, BBufferProducer::SendBuffer() cannot know the output either in
  case there is more than one. Hence, I deprecated the existing SendBuffer()
  call and moved it into "private" - IOW old sources using it won't compile
  anymore under Haiku.
* I introduced a new SendBuffer() variant that also gets the media_source as
  argument.
* Updated all sources (that are part of the image) to use the new variant.
* Removed some purposely commented out code in the audio mixer.
* Implemented late buffer notification, as well as late buffer handling in the
  audio mixer; this is a bit of work in progress, so the debug output is left
  in there.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 13:15:46 +00:00
Rene Gollent
0d6b5aa1ea Fix build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 01:17:15 +00:00
François Revol
4b19582754 First implementation of attribute support on NTFS. Currently lists and reads named streams as such, but the name mapping is not yet correct.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 00:07:52 +00:00
François Revol
e16c15a7e7 Fix a possible mem leak in case of error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 00:05:40 +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
Michael Lotz
8f4f2bf933 Implement support for ATAPI command set devices. It's used by some USB CD drives
and easy to implement since ATAPI basically is SCSI anyway and we don't use many
problematic commands. Only tested for the 0x05 subclass, but 0x02 should work
the same.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 17:13:49 +00:00
Ithamar R. Adema
b6e09fad7a * More style fixes ;)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 16:29:37 +00:00
François Revol
2365cde279 - cleanup,
- fix copyright,
- disable tracing,
- add support for reading attributes. The current naming is not final as I'm actually experimenting with it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 13:56:44 +00:00
François Revol
5e818c534c Add missing files, fix the build :P
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 13:27:53 +00:00
François Revol
b026d219fc Partial implementation for attribute support. Currently listattr successfully lists attributes on files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 13:18:05 +00:00
Axel Dörfler
1a1a8f33d1 * Applied patch by Janito that solves a TODO and utilizes the actual device
block size to align the file map.
* This closes ticket #5707, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 12:05:59 +00:00
Axel Dörfler
275463f4c3 * Applied (changed) patch by Janito to update the superblock structure to its
latest version. Thanks!
* This closes #5704.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 11:48:51 +00:00
Ithamar R. Adema
86d4795d36 * Use Jam variable for bnetapi library
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 09:31:30 +00:00
Ithamar R. Adema
a5b39147b3 * More style fixes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 09:07:43 +00:00
Ithamar R. Adema
f0ae1d0c2c * Fix coding style issues.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 08:57:15 +00:00
Ingo Weinhold
37cfdb5d95 Patch by Sean Bartell:
* SuperBlock: In case of ReiserFS 3.6 we were stil loading only the old
  superblock format.
* Added support for ReiserFS labels (volume names).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 08:44:38 +00:00
Adrien Destugues
35ead8815b The WinDecorator crashed when trying to draw a menu.
Clean it up, and try to fix other things. It is now opening menus, but crashes when opening windows...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 08:26:17 +00:00
Axel Dörfler
e572c32335 * When receiving an out of sequence FIN we must ignore it until its part of
our available buffer (we might want to move this into the BufferQueue class).
* Now, _AddData() remembers the flag (and its position), and will alter the
  segment's flags field to reflect the current state.
* This fixes not being able to login into mmlr.dyndns.org.
* Fixed warnings when TCP_PROBE is defined.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 00:04:23 +00:00
Ithamar R. Adema
c52f7982c9 * Switch to using USBKit instead of usb_printer kernel driver
* Implement new transport id/name listing



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-10 17:12:31 +00:00
Ithamar R. Adema
3cbb7d0544 * Implement LAN printer broadcast handling for IPP
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-10 16:03:54 +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
Michael Lotz
bb1d98b687 * The volume init wasn't checked, so a failed init would crash.
* Unlocking a removable drive was done in the wrong error label which would've
  resulted in accessing deadbeef due to the volume being freed just before its
  use or using the not initialized volume variable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-10 12:57:17 +00:00
Ingo Weinhold
37b79c0324 Patch by Sean Bartell: Added support for old ReiserFS 3.5 super block location.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-10 12:02:02 +00:00
François Revol
092cf00807 Fix broken TRACE() arg. Add more tracing to spot a crash on unmount after deleting a folder. Return B_OK from read() when node has no data, this allows copying bookmarks which are empty files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-08 01:35:58 +00:00
François Revol
ce7942c6e0 More argument fixing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-08 00:36:52 +00:00
François Revol
8b1460ce94 It's working, it's working !
- put_vnode() also had a signature change,
- add backup server (commented) in config file,
- disable trace build,
- some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 22:33:23 +00:00
François Revol
4358b19156 Of course, filling in the vnode ops for xattrs will help :D
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 17:42:03 +00:00
François Revol
507f27c458 Seems get_vnode() also had some changes in arguments. Now googlefs mounts and shows on the desktop. Seems xattrs aren't readable yet though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 17:26:02 +00:00
François Revol
cdf1815cd7 Fix various prototype errors due to changes in the VFS, mostly fs_node vs fs_vnode->private_node. This should fix obvious crashes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 15:56:08 +00:00
François Revol
9f747e6715 Fix TRACE build. Fix a crash due to a changed arg to googlefs_publish_static_entries() that wasn't reflected. Mounts but still crashes as Tracker tries to open something.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 20:23:41 +00:00
François Revol
8c3082077f The mighty GoogleFS builds again for Haiku \o/
Still lotsa warning and panics on mount though...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 19:43:27 +00:00
François Revol
185b8ae6b0 Hmm, we'll move it elsewhere anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 18:06:05 +00:00
François Revol
4e8d74eed5 Keep the BeOS compatible kernel interface here for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 15:00:24 +00:00
François Revol
80858f95df The Haiku kernel now exports BSD socket calls directly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 14:53:03 +00:00
David McPaul
63f8d1346e Remove downmix to stereo workaround.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-05 11:37:43 +00:00
Oliver Ruiz Dorantes
62f5ba006a - Read Local features al LocalDevice constructor
- keep record in UL and KL side



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-02 12:12:29 +00:00
Oliver Ruiz Dorantes
0feca7d685 - Prepending l2cap header in a separate function to not play with c++ contexts
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-02 11:42:00 +00:00
Ingo Weinhold
58b0a5dda6 DoCatalogs:
* Renamed parameter "appName" to "target".
* Replaced parameter "generatedCatalog" by "sourceLanguage" and made it
  optional. Default is "en".
* Removed the no longer needed parameter from the DoCatalogs invocations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-31 18:34:03 +00:00
Ingo Weinhold
6d9af5b7a0 Removed no longer needed DoCatalogs parameters.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-30 18:21:26 +00:00
Axel Dörfler
61fb53ddc5 * The usual cleanup behind mmu_man ;-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-29 18:22:04 +00:00
Jérôme Duval
42581cdc8c Patch from kallisti #5557: add additional device ID's to Nvidia GPGPU driver
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-29 16:47:28 +00:00
François Revol
5f69c35f32 Fix tracing code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-28 19:14:33 +00:00
François Revol
e45fc8563b Hmm, ignoremask is an *ignore* mask :D
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-28 18:32:14 +00:00
François Revol
5692fe1305 Seems NetMos is another brand for MosChip, use the better known brand.
Add link to datasheet for the other supported chip. Seems their site wants people to register to get them, but google indexed the PDF directly anyway so...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-27 19:22:10 +00:00
François Revol
9d1aa9c9ac Restore DEVICE_COUNT which was set to 2 for testing. We can do better :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-26 23:47:22 +00:00
François Revol
1d62878c78 Update copyrights. Mention TuneTracker Systems as a sponsor.
Add several ways to restrict UART probing when matching devices:
- max port count,
- PCI subsystem ID mask (some cards encode the port count there),
- Base Address Register mask (some cards only have UART in the first 2 ranges).
Use those to match 2 specific NetMos chips, and avoid screwing up when input_server tries to access UARTs at boggus ranges.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-26 23:44:07 +00:00
François Revol
baaa0348a9 Implemented ioctl(FIONREAD) on tty devices. Untested.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-26 19:47:23 +00:00
François Revol
6e5c475a09 Finish the alternative device scanning code (using the PCI bus manager instead of config manager) and use it, it actually works better in R5 on SMP boxen (config manager seems to miss reporting IRQ lines).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-25 00:14:41 +00:00
François Revol
f878f09673 Less tracing by default...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-23 19:22:29 +00:00
Ingo Weinhold
515c6d1bff Automatic white space cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-19 18:11:55 +00:00
Ingo Weinhold
02cb896640 * StreamReader::ReadAt(): Passed incorrect size to _ReadDirectItem(), which
could cause a memory read access beyond the block, resulting in a crash, if
  nothing was mapped there.
* Automatic white space cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-19 18:11:32 +00:00
François Revol
d362993433 Fix various warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-18 15:45:02 +00:00
François Revol
4fa9985629 Add makefile to build under BeOS, I gave up jamming in ZETA.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-18 12:33:23 +00:00
Jérôme Duval
f406c2a4de pass the firewire comm cookie instead of the bus driver cookie
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-14 18:52:07 +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
5291bbb0be libpng API changed, adapted PNGTranslator accordingly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-13 18:38:33 +00:00
Michael Lotz
67f1ff42ed Add missing check for non-data items which lead to picking up some mice as
keyboards due to buttons being padded by non-data arrays. The keys wouldn't
actually be used later, but a (useless) keyboard device would still be
published.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-10 01:12:12 +00:00
Michael Lotz
18074c28fa Reworked the handler adding to be based on input reports. This way multiple
handlers may be added to a single device if it provides more than one report
for a kind of device. Should fix #5549 where two mouse reports are present
and only the first one was picked up and made available as device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-10 01:06:14 +00:00
Axel Dörfler
a9022acd2a * BlockAllocator::CheckNextNode() did enter an endless loop if it experienced
problems iterating over a B+tree (due to corruption).
* For now, it will stop the check process when this happens, but we definitely
  need to be able to fix broken B+trees in the future.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-09 20:08:25 +00:00
Adrien Destugues
0484ff6792 Fix hta patch generation errors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-09 12:40:55 +00:00
Adrien Destugues
2ed2cb025b Sync spanish translation from hta.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-09 12:09:34 +00:00
Michael Lotz
2cf04ca728 Don't take ownership by writing the OS-owned semaphore when the BIOS-owned flag
isn't set. I'd tend to say that's a rather odd interpretation of the specified
protocol if a BIOS goes mad if the sem is written to while it doesn't actually
own the controller (it should just be a no-op in that case and directly set the
sem state). But it seems this is what others do as well (FreeBSD, Linux) so we
follow. Thanks to vegardw in #2083 for researching into this and proposing this
fix. Minor other cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-07 22:46:11 +00:00
Stephan Aßmus
a070cf5306 * Indentation update in DateTime.h
* Extended BTime, BDate and BDateTime with archiving functionality.
 * Adjusted code which uses these classes, since including DateTime.h
   already imports the classes from the BPrivate namespace.
 * Moved DateTime.h into Support Kit. It is still in the BPrivate namespace,
   as I am uncertain what to do with time_type and diff_type. I'd favor
   moving the constants into the classes itself. Possibly removing the B_
   prefix from them. Feedback welcome.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-07 12:08:47 +00:00
Axel Dörfler
5edde94cab * checkfs is now working again; I couldn't test my earlier changes because I had
no time left, but I didn't want to lose them either.
* This fixes bug #5536, sorry for the inconvenience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-06 13:47:50 +00:00
Ryan Leavengood
a76f629efa Apply patch from Maxime Simon to make several translators use the Layout API.
There are a few small changes from myself, such as adding a copyright for
Maxime in files with bigger changes. Also because this patch was so old I had
to do some manual patching, and added back the title and description on the TGA
and TIFF translators.

I think this improves things a lot, though there is still some work to do to
improve the consistency of the translator settings views.

I think this mostly fixes #2117, though I may leave the ticket open until a few
more things are resolved.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-06 04:45:43 +00:00
Stephan Aßmus
841fd96939 Fixed indentation issue in my previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-04 12:36:24 +00:00
Stephan Aßmus
e3255ac4e5 Fixed error spotted by Axel, which I introduced in r35756. The bus value didn't
get assigned anymore. Sorry about that!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-04 12:33:00 +00:00
Ingo Weinhold
8485307948 Reverted unnecessary part of r35433.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-04 10:38:04 +00:00
Stephan Aßmus
5e144a360c I don't know what recent change may have caused this, but I had to introduce the
check to avoid a division by zero when scanning my partition map in order to be
able to boot. I cannot spot any regressions, I can still access all my partitions
just fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-04 09:53:32 +00:00
Stephan Aßmus
809c5798b1 Check for division by zero.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-04 09:51:50 +00:00
Colin Günther
e4a0a9c2b4 Updating the atheroswifi driver to the FreeBSD HEAD svn rev 204100. This enables
support for some of the newer 9k chipsets. For example my Eee PC 1005 HA can
now be used with WiFi.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-03 21:55:51 +00:00
Axel Dörfler
d501707d8a * Removed the cookie field of the check_control structure; that really was
a stupid idea. Instead, the already existing fCheckCookie member is used.
* bfs_ioctl() now accesses all userland buffers safely, this should help with
  #3264, and move the crash where it belongs.
* Changes not yet tested; they only affect checkfs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-03 19:38:56 +00:00
Axel Dörfler
625ab0dea1 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-03 19:20:51 +00:00
Matt Madia
b353282928 Extended AddWifiFirmwareToHaikuImage to support a boolean, which determines
whether to extract the firmware archive onto Haiku Image or to simply copy
it intact. This allows the ipw2100 and iprowifi2200 firmware archives to be
copied onto the default images. Fixes #5523


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-03 17:23:06 +00:00
Fredrik Holmqvist
1cb8d6e5c6 Reverting r35592, that checked that it was a valid 32 bit physical address, now that #5449 is fixed. (So we use the ACPICA code without modifications).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-02 21:12:01 +00:00
Colin Günther
1d2ac9a4ea Fixing coding style violation. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-01 22:13:33 +00:00
Axel Dörfler
2056103694 * Added the standard names for the TCP states as comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-01 16:21:44 +00:00
Ingo Weinhold
b7fd1cf61c Patch by Matt Madia:
* Added iprowifi4965 driver to the image.
* Add the firmware for the Wifi drivers that need it to the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-28 23:57:28 +00:00
Adrien Destugues
c97677f94c Add brazilian portuguese translation from hta.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-28 18:23:44 +00:00
Michael Lotz
e4c0070fe6 Added a bit of logic to possibly fall back to a fixed 512 block MBR in case
certain conditions indicate that we might deal with a fixed 512 bytes MBR on
a non 512 byte block size medium. One condition is that at least one partition
had to be shrunk to fit the available size (which usually happens with larger
block sizes). We retry with a fixed 512 block size once and compare the result
if it didn't improve the situation it is reverted again. This is mostly a
preparation for the upcoming "anyboot" hybrid MBR/ISO images.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-28 18:10:29 +00:00
Michael Lotz
17d87ddf36 * Finish the partition scanning part so that UDF is recognized and mountable.
* Added myself to the copyrights.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-28 08:50:01 +00:00
Michael Lotz
7cadc8aff2 * Cleanup the Jamfile, this one doesn't work on BeOS anymore.
* Turn off remaining verbose debug output.
* Add UDF to the default image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-28 08:03:41 +00:00
Michael Lotz
af15ee68f1 * Implement udf_io and udf_get_file_map.
* Add file map and cache and do reads through the file_cache for file ICBs.
* Move the private _Read() backend from the header to the implementation file.
* Read() is now only used for directory iteration.
* Turned off the verbose debug output.
* Minor cleanup.

This fixes the abuse of the block_cache, should allow executables on UDF and
won't panic on protected content.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-28 07:50:28 +00:00
Michael Lotz
4f3f1911cd The whole reading was seriously confused. It tried to use the block cache for
multiple blocks at a time which it doesn't do as it always only returns one
block (and actually completely ignores the provided offset and length).
It only didn't crash after that because it would in the end always only memcpy
length >> block shift bytes which ends up being pretty small in most cases.
Since it does block wise mapping it can't do multiple blocks anyway, and really
using the block cache for this is all wrong because this should really use a
file map to resolve the block mapping and then use the file cache instead.
Still this at least gets it working. Beware though that protected DVD content
will make the block cache panic, as reading these blocks without prior setting
the drive up correctly will fail (the drive will stall the reads).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-28 05:35:31 +00:00
Michael Lotz
8d3a8691d4 * UDF didn't actually initializing _flags to 0 (same as with fat).
* Set the _type as well, this gets file listings work.
* Some cleanup and debug output moves/fixes/additions.

Yet crashes when accessing files though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-27 23:19:13 +00:00
Ingo Weinhold
dcd2d7c4a7 Added entry cache support. Not that much to do for a read-only FS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-27 21:03:40 +00:00
Axel Dörfler
791b130291 * Fixed a possible NULL pointer access in case the list is empty.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-25 13:21:40 +00:00
Rene Gollent
1ac83b4fbc Patch by mjw: Fix browsing subdirectories in NFS.
Partially fixes ticket #4661. Thanks!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-25 01:25:47 +00:00
Axel Dörfler
f52b12e51a * Added a peak value (the maximum number of allocated objects) to the net_buffer
stats.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-24 15:08:06 +00:00
Fredrik Holmqvist
af11926fa4 Added a temporary? warning if the ACPI_MACHINE_WIDTH == 32 and Rsdp->XsdtPhysicalAddress > ACPI_UINT32_MAX.
The code is in a part of the ACPI code we import, so using its code style and is based on similar code a
few lines above.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-23 21:40:35 +00:00
Fredrik Holmqvist
6799b0bfe4 Use B_ANY_KERNEL_ADDRESS when mapping physical memory as pointed out by Ingo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-23 17:26:47 +00:00
Ingo Weinhold
28eaa574fd Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-23 14:19:19 +00:00
Ingo Weinhold
4262055074 * Always reset the requests in WriterLocker::AcquireWriter() and
ReaderLocker::AcquireReader() before starting to wait. This could lead to
  busy waiting in loops in certain situations.
* Got rid of the ReaderLocker::AcquireReader(bool) version to avoid confusion.
* Cleaned up and fixed the code introduced in r25408 (VMIN, VTIME support):
  - Gave the second ReaderLocker::AcquireReader() parameter the same name as
    the corresponding one of WriterLocker::AcquireWriter() and fixed its weird
    semantics (one less than the desired number of bytes -- huh?). Since it was
    not set on the request, it didn't work correctly anyway.
  - tty_input_read(): The O_NONBLOCK return code was broken. It returned B_OK
    instead of B_WOULD_BLOCK. The O_NONBLOCK mode overrides VMIN/VTIME now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-22 23:05:39 +00:00
Ingo Weinhold
c8a0f6587d RequestOwner::Wait(): No need to publish the condition variable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-22 18:10:29 +00:00
Fredrik Holmqvist
57c418cdd6 Update ACPI to 20100121.
Changes from ACPI include:
 * eliminate unnecessary invocations of the _STA method, which in turn can improve boot times.
 * Implemented an additional repair for predefined method return values.
 * Removed the obsolete ACPI_INTEGER data type.
 * Removed the unused UINT32_STRUCT type, and the obsolete Integer64 field in the parse tree object.
 * Added additional warning options for the gcc-4 generation.
 * Enhanced automatic data type conversions for predefined name repairs.
 * Implemented automatic removal of null package elements during predefined name repairs.
 * Implemented a repair for the predefined _FDE and _GTM names.
 * Implemented additional module-level code support.
 * Fixed possible mutex acquisition errors when running _REG methods.
 * Fixed a possible memory leak during module-level code execution.
 * Removed messages for successful predefined repair(s).
 * Implemented a post-order callback to AcpiWalkNamespace.
 * Modified the behavior of the operation region memory mapping cache for SystemMemory.
 * Implemented an automatic repair for predefined methods that must return sorted lists.
 * Fixed a possible fault during predefined name validation if a return Package object contains NULL elements.
 * Implemented additional module-level executable AML code support.
 * Fixed a problem where an Operation Region _REG method could be executed more than once.
 * Fixed a possible memory leak for the Scope() ASL operator.
 * Implemented a run-time repair for the _MAT predefined method.
 * Implemented a run-time repair for the _BIF and _BIX predefined methods.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-21 19:46:35 +00:00
Jérôme Duval
cd439bd9e3 We now pin sense the headphone pin widget to check if something is plugged in. Use this to disable/enable speakers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-20 00:28:46 +00:00
Axel Dörfler
7c69435755 * Applied patch by idefix that disables the "Initialize" button if the name
field is empty. This is part of ticket #4123.
* The message constants should be moved into their own shared
  header, though; added a TODO for this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-19 17:22:54 +00:00
Axel Dörfler
a791687e90 * Applied slightly cleaned up patch by romain that sanitizes the volume names.
* This closes bug #4602.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-19 16:52:55 +00:00
Adrien Destugues
a99f1ef770 Update to hungarian localization from hta.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-19 13:45:33 +00:00
Ingo Weinhold
dac21d8bfe * map_physical_memory() does now always set a memory type. If none is given (it
needs to be or'ed to the address specification), "uncached" is assumed.
* Set the memory type for the "BIOS" and "DMA" areas to write-back. Not sure, if
  that's correct, but that's what was effectively used on my machines before.
* Changed x86_set_mtrrs() and the CPU module hook to also set the default memory
  type.
* Rewrote the MTRR computation once more:
  - Now we know all used memory ranges, so we are free to extend used ranges
    into unused ones in order to simplify them for MTRR setup.
  - Leverage the subtractive properties of uncached and write-through ranges to
    simplify ranges of any other respectively write-back type.
  - Set the default memory type to write-back, so we don't need MTRRs for the
    RAM ranges.
  - If a new range intersects with an existing one, we no longer just fail.
    Instead we use the strictest requirements implied by the ranges. This fixes
    #5383.

Overall the new algorithm should be sufficient with far less MTRRs than before
(on my desktop machine 4 are used at maximum, while 8 didn't quite suffice
before). A drawback of the current implementation is that it doesn't deal with
the case of running out of MTRRs at all, which might result in some ranges
having weaker caching/memory ordering properties than requested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-18 13:52:43 +00:00
Axel Dörfler
f7f996cc32 * BPlusTree is now using the TransactionListener mechanism to update its private
fHeader copy on failure.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-16 12:23:43 +00:00
Axel Dörfler
fd91cf4d18 * Replaced the specialized inode in transaction mechanism with a generic one.
That costs 12 more bytes per inode on 32 bit platforms, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-16 11:30:15 +00:00
Axel Dörfler
2a8ae7fb92 * CachedNode::SetToWritable() already needs the updated header, so we need to
Unset() the header in Allocate() before calling it. This fixes bug #5410.
* CachedNode::Allocate() does not need to revert its changes; the transaction
  will take care of that. However, BPlusTree::fHeader is currently not correctly
  maintained if a transaction fails (working on that now).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-16 08:34:55 +00:00
Axel Dörfler
a05e4ed330 * BPlusTree no longer caches the header in its own block, instead, it aggregates
a copy of its structure. CachedNode is only used to write to the header, now.
  This should cause the block_cache to no longer have any referenced blocks
  outside of any I/O.
* Coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-15 16:39:54 +00:00
Axel Dörfler
a3ec278add * Made some internal lists use DoublyLinkedLists instead of struct list.
* Added a few KDL commands to improve your debugging experience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-15 13:28:33 +00:00
Axel Dörfler
965abdebd5 * BufferQueue::Free() no longer will return negative values. As is, the max
bytes restriction is only a soft limit. This fixes stalling TCP connections
  because everything received would be out of window once this happened.
* Added a TODO to look into TCP's window management - it doesn't seem to be
  right.
* Fixed build with tracing turned on.
* Made the fNumber member of tcp_sequence private.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-15 13:27:26 +00:00
Axel Dörfler
10cb62616f * Fixed destruction order of lock/reference that could lead to access already
deleted memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-15 13:23:48 +00:00
Adrien Destugues
d979a502da Update zipomatic translations from hta.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-11 20:18:05 +00:00
Stefano Ceccherini
a0b5b08b2e Added back the id for rtl8139C+. Tested succesfully under XenServer.
Fixes ticket #5180 (or at least part of it)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-11 15:45:46 +00:00
Artur Wyszynski
5fb7d0a580 Added a set of polish translations, translated by me & Hubert (Hugen)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-09 05:32:43 +00:00
Rene Gollent
177ea1a461 Apply patches by romain:
- Initialize flags argument correctly in get_vnode. 
	- Fix issues with handling the FAT mirror incorrectly.
	
Should resolve ticket #3690 and possibly others.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-09 01:13:35 +00:00
Artur Wyszynski
cee04e8074 Fixed various errors/warnings reported by cppcheck:
* memory leaks
* resource leaks
* added const's to getters
* removed a few reundant conditions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-08 22:50:38 +00:00
Ingo Weinhold
40bb94819e * Removed useless return parameter from vm_remove_all_page_mappings().
* Added vm_clear_page_mapping_accessed_flags() and
  vm_remove_all_page_mappings_if_unaccessed(), which combine the functionality
  of vm_test_map_activation(), vm_clear_map_flags(), and
  vm_remove_all_page_mappings(), thus saving lots of calls to translation map
  methods. The backend is the new method
  VMTranslationMap::ClearAccessedAndModified().
* Started to make use of the cached page queue and changed the meaning of the
  other non-free queues slightly:
  - Active queue: Contains mapped pages that have been used recently.
  - Inactive queue: Contains mapped pages that have not been used recently. Also
    contains unmapped temporary pages.
  - Modified queue: Contains unmapped modified pages.
  - Cached queue: Contains unmapped unmodified pages (LRU sorted).
  Unless we're actually low on memory and actively do paging, modified and
  cached queues only contain non-temporary pages. Cached pages are considered
  quasi free. They still belong to a cache, but since they are unmodified and
  unmapped, they can be freed immediately. And this is what
  vm_page_[try_]reserve_pages() do now when there are no more actually free
  pages at hand. Essentially this means that pages storing cached file data,
  unless mmap()ped, no longer are considered used and don't contribute to page
  pressure. Paging will not happen as long there are enough free + cached pages
  available.
* Reimplemented the page daemon. It no longer scans all pages, but instead works
  the page queues. As long as the free pages situation is harmless, it only
  iterates through the active queue and deactivates pages that have not been
  used recently. When paging occurs it additionally scans the inactive queue and
  frees pages that have not been used recently.
* Changed the page reservation/allocation interface:
  vm_page_[try_]reserve_pages(), vm_page_unreserve_pages(), and
  vm_page_allocate_page() now take a vm_page_reservation structure pointer.
  The reservation functions initialize the structure -- currently consisting
  only of a count member for the number of still reserved pages.
  vm_page_allocate_page() decrements the count and vm_page_unreserve_pages()
  unreserves the remaining pages (if any). Advantages are that reservation/
  unreservation mismatches cannot occur anymore, that vm_page_allocate_page()
  can verify that the caller has indeed a reserved page left, and that there's
  no unnecessary pressure on the free page pool anymore. The only disadvantage
  is that the vm_page_reservation object needs to be passed around a bit.
* Reworked the page reservation implementation:
  - Got rid of sSystemReservedPages and sPageDeficit. Instead
    sUnreservedFreePages now actually contains the number of free pages that
    have not yet been reserved (it cannot become negative anymore) and the new
    sUnsatisfiedPageReservations contains the number of pages that are still
    needed for reservation.
  - Threads waiting for reservations do now add themselves to a waiter queue,
    which is ordered by descending priority (VM priority and thread priority).
    High priority waiters are served first when pages become available.
  Fixes #5328.
* cache_prefetch_vnode(): Would reserve one less page than allocated later, if
  the size wasn't page aligned.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-03 18:53:52 +00:00
Jérôme Duval
7f2f5e05b0 update from Jerome Leveque, with style changes by me (I hope you don't mind).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-01 21:27:42 +00:00
Ingo Weinhold
e65c400299 * Replaced the vm_page_allocate_page*() "pageState" parameter by a more
general "flags" parameter. It encodes the target state of the page -- so
  that the page isn't unnecessarily put in the wrong page queue first -- a
  flag whether the page should be cleared, and one to indicate whether the
  page should be marked busy.
* Added page state PAGE_STATE_CACHED. Not used yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-29 15:54:40 +00:00
Ingo Weinhold
72382fa629 * Removed the page state PAGE_STATE_BUSY and instead introduced a vm_page::busy
flag. The obvious advantage is that one can still see what state a page is in
  and even move it between states while being marked busy.
* Removed the vm_page::is_dummy flag. Instead we mark marker pages busy, which
  in all cases has the same effect. Introduced a vm_page_is_dummy() that can
  still check whether a given page is a dummy page.
* vm_page_unreserve_pages(): Before adding to the system reserve make sure
  sUnreservedFreePages is non-negative. Otherwise we'd make nonexisting pages
  available for allocation. steal_pages() still has the same problem and it
  can't be solved that easily.
* map_page(): No longer changes the page state/mark the page unbusy. That's the
  caller's responsibility.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-29 10:00:45 +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
Michael Lotz
c14db1b2a1 Also accept buttons from the "button page" as long as they are using arrays.
That usually indicates keyboard-like usage and one of my keyboards uses this
type for multimedia keys.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-27 00:44:39 +00:00
Michael Lotz
fd97180e27 Make the HID parser usable standalone in userland.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-26 23:27:56 +00:00
Ingo Weinhold
cff6e9e406 * The system now holds back a small reserve of committable memory and pages. The
memory and page reservation functions have a new "priority" parameter that
  indicates how deep the function may tap into that reserve. The currently
  existing priority levels are "user", "system", and "VIP". The idea is that
  user programs should never be able to cause a state that gets the kernel into
  trouble due to heavy battling for memory. The "VIP" level (not really used
  yet) is intended for allocations that are required to free memory eventually
  (in the page writer). More levels are thinkable in the future, like "user real
  time" or "user system server".
* Added "priority" parameters to several VMCache methods.
* Replaced the map_backing_store() "unmapAddressRange" parameter by a "flags"
  parameter.
* Added area creation flag CREATE_AREA_PRIORITY_VIP and slab allocator flag
  CACHE_PRIORITY_VIP indicating the importance of the request.
* Changed most code to pass the right priorities/flags.

These changes already significantly improve the behavior in low memory
situations. I've tested a bit with 64 MB (virtual) RAM and, while not
particularly fast and responsive, the system remains at least usable under high
memory pressure.
As a side effect the slab allocator can now be used as general memory allocator.
Not done by default yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-26 14:44:58 +00:00
David McPaul
50ff266ef2 Add SSE versions of YUV2RGB converters for earlier x86 cpus
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 21:53:56 +00:00