Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler e163e8f3a0 Fixed build (IP_TOS is defined now).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 15:01:22 +00:00
Axel Dörfler 9e34f742ae * Now honours the orientation as specified in the EXIF tags; not very well tested, so
it might happen that some rotations don't come out as expected...
* This orientation can be overridden with a special "exif:orientation" setting passed
  via the ioExtension message.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 13:36:53 +00:00
Axel Dörfler ddcd63762f * Now keeps the orientation as defined in EXIF, instead of converting it to something
handy for computation.
* The translator now passes the EXIF orientation to the thumbnail translation using
  a special field "exif:orientation".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 13:35:16 +00:00
Axel Dörfler 52e8f46af7 * Now also saves the EXIF data in the supplied message in Translate() (decompress
only, you cannot add EXIF data yet).
* Preparations to honour the orientation of JPEG images stored in the EXIF tags.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 10:54:44 +00:00
Axel Dörfler 8560c78809 Added missing TIFF tag types.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 10:52:41 +00:00
Axel Dörfler 1b52d54a31 Now adds a fake TIFF header to the exported EXIF data so that the used endian of the data is known.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 00:14:32 +00:00
Axel Dörfler a238446abb Now puts the EXIF data verbatim into the message passed to Translate().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-09 22:29:16 +00:00
Axel Dörfler d1fca1ccb8 Translate print the output formats twice instead of the input formats.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 14:26:06 +00:00
Axel Dörfler df004988d8 ioExtension can of course be NULL...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 13:33:07 +00:00
Axel Dörfler 0663933acc Now also exports the JPEG thumbnails as images using the translator service :-)
Note, this did not work with an older libtranslation.so from Haiku, so it might
also not work correctly on BeOS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 13:31:17 +00:00
Axel Dörfler 580d7b0441 No longer let translators overwrite the ioExtension message when they aren't
the chosen one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 13:29:55 +00:00
Axel Dörfler ce694927b7 The TIFF translator overwrote the document count before it was clear that it could
handle the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 13:17:55 +00:00
Axel Dörfler 9468eca38a * Implemented support for the "header only" extension.
* Added missing header when compiling RAWTranslator in test mode for Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 12:15:56 +00:00
Axel Dörfler 09c3a92d0a Now handles two cases of incorrectly built trees gracefully (instead of crashing).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 11:44:35 +00:00
Axel Dörfler b754aa3dbd RemoveItems() implementation was missing; more or less copied the one from BListView
(which is slow, but works).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 11:16:43 +00:00
Axel Dörfler 0cac8bd145 Forgot to set IFM_ETHER in all drivers; "ethernet" now also sets it just in case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 17:04:54 +00:00
Axel Dörfler bf256341b9 Only print the media state in case we're linked.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 14:20:32 +00:00
Axel Dörfler eb70c5dd3b * Set default media type to IFM_ETHER.
* Added ETHER_INIT back in; we even have a driver in our repository that uses it,
  thanks to Michael for pointing that out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 13:42:45 +00:00
Axel Dörfler 6d60dde7cd Added support for printing the media type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 13:32:18 +00:00
Axel Dörfler b92d0fce7c Rotated images still didn't work correctly; they were offseted.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 12:31:50 +00:00
Axel Dörfler 7e4913f545 * Rotated images did not work correctly.
* Removed ICO specific configuration, added copyright note about the source of this translator.
* Disabled test mode for the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 11:57:33 +00:00
Axel Dörfler 00006796b4 net_device should come first in order to guaranty it will work together nicely
with C only code. Thanks Hugo!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 10:25:35 +00:00
Axel Dörfler 9206bb3779 * Changed ETHER_GET_LINK_STATE ethernet driver interface, added ETHER_SET_LINK_STATE_SEM.
* The device interface list now uses class DoublyLinkedList instead of struct list.
* Implemented SIOC[SG]IFMEDIA for setting (not supported by any device yet), and
  retrieving the device media information.
* Fixed a locking bug in list_domain_interfaces().
* Added new stack function device_link_changed() that should be called in case the
  link state (media) changed.
* The ethernet device module now spawns a thread and will periodically check the media
  state of all ethernet devices that support this (if any).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 09:41:04 +00:00
Axel Dörfler c79ae507aa * Fixed compilation due to removed ether_init_params from ether_driver.h, thanks
to Hugo for reporting :-)
* Implemented setting promiscuous mode on ethernet device level.
* Set net_device::media to something useful.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 16:39:30 +00:00
Axel Dörfler a34967de86 Prepared implementation of ETHER_GETLINKSTATE - it would need a bit more work to
get it to work as intended, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 14:57:28 +00:00
Axel Dörfler ae4444d031 * Implemented ETHER_GETLINKSTATE; the link state is now tracked and can be reported.
* Made header self-containing.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 14:43:16 +00:00
Axel Dörfler 1a3ab92b81 * Rewrote ether_driver.h, removed some BONE stuff we don't support at this point;
it might also be a good idea to change the constants to better match the usual
  style.
* Added a BSD-style if_media.h.
* Added interface flags IFF_LINK, IFF_AUTO_CONFIGURED, and IFF_CONFIGURING. The
  former will be set automatically by the stack, the rest will be set by the
  net_server depending on the current state.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 14:42:07 +00:00
Axel Dörfler d7e473d310 The network status icons are now correctly read from the resources (I even
forgot to add them to the server before :-)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 12:24:32 +00:00
Axel Dörfler 3eb30a22b2 * Implemented loading icons from resources - doesn't seem to work yet, though.
* Fixed leaking menu items in StatusReplicant::_PrepareMenu().
* Renamed private methods to have an underscore prefix.
* Some minor style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 11:55:03 +00:00
Axel Dörfler 1407f23d9b * The test for existing mappings in vm_remove_consumer() was a bit too aggressive;
if the page is currently copied, the source page still has mappings.
* vm_copy_on_write_area() did not set the cache type for the upper cache.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 11:23:37 +00:00
Axel Dörfler 70a11cecbd * pages_io() now handles it gracefully in case the fileVec array is too
small to hold the information for the requested I/O size.
* get_file_map() returned B_BUFFER_OVERFLOW already in case the array
  was exactly as large as needed.
* read_chunk_into_cache() and write_chunk_to_cache() will no longer
  override their local "size" variable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-02 11:13:03 +00:00
Axel Dörfler 65186fec5a Removed duplicated information (the PARAMETER_* constants were already expressed in form
of the OPTION_* constants).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-02 09:22:22 +00:00
Axel Dörfler 325a6253ce * Put the remaining libicon.a classes into the BPrivate::Icon namespace.
* Minor cleanup (like removing the extra blank line between the copyright and the
  header guard).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-02 09:08:57 +00:00
Axel Dörfler b6d25ffbd2 Missed an improvement Hugo sent me a bit later.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 12:24:44 +00:00
Axel Dörfler f18d4e1e45 Traceroute: use new SIOCGETRT to obtain the source address to be used when
communicating with the destination, patch by Hugo Santos.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 12:14:20 +00:00
Axel Dörfler 289c0791bb Added 'route get' support to the route command (via SIOCGETRT), patch by Hugo Santos.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 12:10:20 +00:00
Axel Dörfler 2d55afcdf7 Support getting route information for a specific destination
using SIOCGETRT. Patch by Hugo Santos.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 12:06:16 +00:00
Axel Dörfler 0786dcba41 Ported latest traceroute, courtesy of Hugo Santos.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 11:51:14 +00:00
Axel Dörfler 9c4477d3bf SIOCGIFCONF will now also report the size of the written buffer in ifconf.ifc_len
to cover the case the list of interfaces changed since SIOCGIFCOUNT was called.
Patch by Hugo Santos.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 11:48:07 +00:00
Axel Dörfler 51541d38f5 You also have to recompute the checksum in case the source address was updated,
patch by Hugo Santos.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 11:38:37 +00:00
Axel Dörfler df0ca8cae0 Updated the pages_io() test with Ingo's latest changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 11:31:22 +00:00
Axel Dörfler 238d7b4ba7 Added small test for the pages_io() function (and the file_map class as well).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-31 09:55:32 +00:00
Axel Dörfler 061816eefa * Fixed two bugs found by Ingo: the tempVec array bounds weren't checked when
filling them which could have written over the stack, and their iovec length
  was set for the wrong iovec, potentially clobbering any memory.
* The first tempVec was usually empty, anyway, as the wrong iovec was chosen
  to start from (usually one too early).
* The tempVec loop is now repeated until the whole fileVec is completed.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-31 09:54:56 +00:00
Axel Dörfler 9c62a6ed7d Rewritten Debug.h by Vasilis Kaoutsis.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-30 14:43:25 +00:00
Axel Dörfler 0bfaee2899 parse_line() is now smart enough to detect quoted strings and escaped characters.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-30 13:44:46 +00:00
Axel Dörfler 3a1532ef98 In case the source cache of the current vm_cache_ref was in the process of
being merged in vm_cache_remove_consumer(), fault_find_page() tried again
with the current vm_cache_ref, but didn't realize it might have had inserted
a busy page in this cache already.
This fixes a deadlock, as this page would never get unbusy again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-30 12:14:43 +00:00
Axel Dörfler 94d37a4b51 * map_backing_store() did not set the private mapping's cache to CACHE_TYPE_RAM.
* Some more debug helpers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-30 09:45:50 +00:00
Axel Dörfler 673a63dc41 Added more checks regarding page movement for debugging purposes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-30 09:01:58 +00:00
Axel Dörfler 6da6433598 * common_select() now also clears the sets for B_WOULD_BLOCK and any other error
that returns 0. Patch by Hugo Santos.
* Removed superfluous memset() of select_sync structures.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-29 16:09:53 +00:00
Axel Dörfler b03e2464e6 current_bytes wasn't being updated on fifo_dequeue_buffer(). Patch by Hugo Santos.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 20:58:32 +00:00
Axel Dörfler 67fb7cd0ed Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 08:47:28 +00:00
Axel Dörfler e992122d94 Moved Jorge from team leads to contributors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 06:44:26 +00:00
Axel Dörfler 30aaba68bc Added the parenthesis in the Control() switch statement again, as there is a
variable definition in this block.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-27 10:58:35 +00:00
Axel Dörfler fc1cf1a3d2 Style cleanup, patch by Vasilis Kaoutsis - thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-27 00:14:30 +00:00
Axel Dörfler 6c533c4f43 Somehow, the system doesn't run that well when the scheduler skips only rarely; I'm not
yet sure what is causing this, but until I find the time to look into it (or someone else
as part of GSoC), raising the limit helps.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-26 10:28:39 +00:00
Axel Dörfler ea2de1a115 * If the IP_HDRINCL option is used, ipv4_send_routed_data() now checks if the source
address is set, and changes this if not; this makes traceroute work on Haiku.
  Patch by Hugo Santos.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-25 14:01:56 +00:00
Axel Dörfler 6de46a8005 Rearranged ipv4_control() a bit, and fixed a bug that would always return B_BAD_VALUE
on setsockopt() for all options. Thanks to Hugo Santos for pointing this out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-25 12:59:39 +00:00
Axel Dörfler 19b0fb934c The MessageLooper class did not initialize its fThread member, causing ServerWindow
to rename arbitrary threads. This fixes bug #1122.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-25 12:43:13 +00:00
Axel Dörfler a201ac2cf9 The kernel no longer allows anyone to rename a thread unless you're the current
owner of that thread - this fixes the kernel part of bug #1122.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-25 12:42:30 +00:00
Axel Dörfler d349f3c941 select() is supposed to clear the sets in case of B_TIMED_OUT - found and patch
by Hugo Santos - thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-23 20:40:03 +00:00
Axel Dörfler aaea7f1795 Now also supports Canon's CR2 format - note, all images are only opened in half of
their original size for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-23 15:30:44 +00:00
Axel Dörfler c0c59f5b2d Accidently unmapped the wrong pages in case of COW after the last commit...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-23 12:36:24 +00:00
Axel Dörfler c6a7ff7a9f * The new vm_page_mappings weren't updated correctly in many cases.
* Added a comment to vm_remove_all_page_mappings() that shows that we need to
  change the mapping spinlock into a mutex.
* Pointed out some potential problems in the code.
* Added vm_page_at_index(), vm_clear_map_activation(), and vm_test_map_activation()
  in preparation of the page scanner rewrite.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20407 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-23 11:48:37 +00:00
Axel Dörfler 8260e407c5 * Initial and very basic version of a RAW image translator.
* Based on Dave Coffin's fabuluous dcraw - it's basically the same thing in C++,
  but follows common sense programming rules a bit more :-).
* Current version probably only supports PENTAX RAW format, though.
* Still lots of places left to clean up.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-22 18:43:45 +00:00
Axel Dörfler bdfc47dbcd * Fixed the test for equality when a known ARP reply came in - you should no longer
see the "ARP entry updated with different address" message.
* sockaddr_dl::sdl_data is now unsigned (uint8_t instead of char).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-20 22:21:36 +00:00
Axel Dörfler 4b661a956f Fixed a stupid bug that prevented DHCP from trying again if a request was lost
(always happened here with my laptop :-)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-20 22:09:53 +00:00
Axel Dörfler 1a38ebd28b No longer crashes when deleting "certain" interfaces (couldn't reproduce the
crash in Qemu for some reason).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-20 19:15:31 +00:00
Axel Dörfler 8cf2f7dedd Renamed BeMail.rdef to Mail.rdef (subversion doesn't allow to rename a directory
and any of its contents in one commit).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-18 13:49:56 +00:00
Axel Dörfler 0995b56384 * Renamed BeMail to Mail.
* The settings are still saved in "config/settings/BeMail Settings", though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-18 13:44:26 +00:00
Axel Dörfler 4d7c45a7f1 Fixed PPC build (still using the older compiler, though).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-14 15:47:11 +00:00
Axel Dörfler 91d6453948 * Added a new Workspace::GetPreviousWindow() method to allow traversing the window
list in the other direction.
* Since WorkspacesLayer now cuts out the current window from the clipping region,
  the window order was upside down; it now uses the new Workspace::GetPreviousWindow().
  This fixes bug #1105.
* WorkspacesLayer::MouseDown() now also uses GetPreviousWindow() which prevents it
  from needing to scan the whole window list for the top window at every click.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-13 16:53:19 +00:00
Axel Dörfler de4145dbb6 Cleanup:
* NewBlock()/FreeBlock() are now symmetrical in that the former no longer inserts
  the block into the hash table.
* delete_transaction() also no longer removes the transaction from the hash table.
* cache_transaction_sync() now uses the new hash_remove_current() function.
* minor other cleanup (like line breaks).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 23:17:28 +00:00
Axel Dörfler f19d32ef8f Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 21:19:20 +00:00
Axel Dörfler 826e857cf0 Implemented hash_remove_current() which removes the current iterator position
from the hash - not yet tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 21:18:49 +00:00
Axel Dörfler 6e601ee88f get_memory_map() now panics (and fails) in case it was called on unmapped memory as
suggested by Ingo; before it would just fill the physical pages with NULL pointers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 13:27:42 +00:00
Axel Dörfler b5937fc6e6 The Message-Id field now gets a default hostname added in case there is none set in the system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-10 12:33:33 +00:00
Axel Dörfler 1594e83f84 * All mapped pages that are not wired (ie. locked) now have a vm_page_mapping object
that points to both, the page and the area the page is in. This will allow a page
  scanner to steal unused pages when necessary.
* The locking is currently done with a spinlock which we might want to have another
  look at one day.
* dump_page() and dump_area_struct() now dump the page mappings as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-08 14:35:26 +00:00
Axel Dörfler 1d4134cb51 Added Euan Kirkhope to the list of contributors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-08 13:10:09 +00:00
Axel Dörfler 863634b83f Patch by Euan Kirkhope:
* Initial support for Rage Theatre 200.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 21:16:15 +00:00
Axel Dörfler 0dd99544d0 Build fix for r20329 - the R5 version of BFS did not include a send_notification() prototype (and still doesn't include notify_listener(), which should be fixed at some point, too).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 18:22:40 +00:00
Axel Dörfler 76b5213f47 Patch by Euan Kirkhope:
* Use AGP Bus manager module
* Fixed wrong framebuffer address computation; this should fix bug #1079.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 17:06:27 +00:00
Axel Dörfler ab0ad5e92b Implemented printing the stack trace in vm_page_fault() for PPC as well.
Not tested, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 14:39:09 +00:00
Axel Dörfler 00be6a4ccb And of course, we shouldn't test newArea->cache_type before it was set...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 13:58:34 +00:00
Axel Dörfler 528e40c07d Of course, we need to query the address space of the source area, not the one of the target.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 13:52:58 +00:00
Axel Dörfler 0c12332715 * vm_map_physical_memory() now sets the wiring/locking type of the area created
to B_FULL_LOCK.
* vm_clone_area() now respects the source area's wiring and inherits it. This
  should fix bug #1055.
* vm_cache::type is now duplicated in vm_area::cache_type - this allows looking
  it up without having to lock a vm_cache_ref; this also solves a locking bug
  in vm_unmap_pages() in this regard.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 13:44:55 +00:00
Axel Dörfler 5eb9da355a * The KDL commands cache/cache_ref will now also print the type of the cache.
* Made the output look a bit more like that of the other commands.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 13:09:41 +00:00
Axel Dörfler 7ce2eaa1e0 Patch by Euan Kirkhope:
* VIP FIFO functions for Rage Theater200 support


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:43:33 +00:00
Axel Dörfler 0caeca2af7 Patch by Euan Kirkhope:
Sync overlay with x.org


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:41:37 +00:00
Axel Dörfler df647a5c3d Patch by Euan Kirkhope:
* Laptop LCD Backlight rework + powermanagement


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:38:11 +00:00
Axel Dörfler b8fb3d1705 Patch by Euan Kirkhope:
Monitor Routing rework
 * mostly to fix my issues with dual monitors VGA + DVI which didn't work! ;)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:35:22 +00:00
Axel Dörfler 19cadc2f7d Patch by Euan Kirkhope:
* Kernel settings configuration added


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:33:08 +00:00
Axel Dörfler a85694c375 Patch by Euan Kirkhope:
* option for PIO engine instead of DMA (for dodgy X700s)
* misc RAM config changes inline with x.org codebase


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:28:25 +00:00
Axel Dörfler 300bef5821 Patch by Euan Kirkhope:
* New "ATOM" BIOS Support for radeons X-series
* This also removes scanning for the BIOS signature for other cards


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:05:12 +00:00
Axel Dörfler 8841d8bcd1 First of a set of patches by Euan Kirkhope:
* Headers updated
 * PLL errata workarounds
 * Radeon asic type overhaul (consolidated)
 * Device IDs Updated.
 * support for X-series devices with legacy bios type
 * minor tidy ups / compiler warnings (casts)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:00:49 +00:00
Axel Dörfler ca954b7816 Another work-in-progress towards having extra structures per mapping per page:
* vm_area and vm_page now have a new field "mappings" where they will store lists
  of vm_page_mapping structures. vm_page::ref_count is gone, as it's no longer
  needed (it was never updated correctly, anyway).
* vm_caches now have a type field, ie. CACHE_TYPE_RAM for anonymous areas - this
  makes the stores a bit less independent, but is quite handy in several places.
* Added new vm_map_page() and vm_unmap_pages() functions to be used whenever you
  map in or unmap pages into/from an area. They don't do much more than handling
  vm_page::wired_count correctly right now, though (ie. B_LAZY_LOCK is now working
  as expected as well).
* Moved the device fault handler to vm_map_physical_memory(); it was not really
  used as a fault handler, anyway.
* Didn't notice Ingo's changes to the I/O space region broke lock_memory(). It
  now checks the type of the area that contains the memory, and doesn't lock
  anymore if not needed which solves the problem in a platform independent way.
* Implemented lock_memory() and unlock_memory() for real: they now change the
  vm_page::wired_count member to identify pages that shouldn't be paged out.
* vm_area_for() now uses vm_area_lookup() internally.
* Fixed various potential overflow conditions with areas that reach 0xffffffff.
* Creating anonymous areas with B_FULL_LOCK no longer causes vm_soft_fault()
  to be called, instead, the pages are allocated and mapped (via vm_map_page())
  directly.
* Removed the _vm_ prefix for create_area_struct() and create_reserved_area_struct().
* Fixed a bug in vm_page_write_modified() that would not have enqueued pages that
  failed to be written to the modified queue again when needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 13:24:53 +00:00
Axel Dörfler 91f1fe44d2 It really should only have an fFirst member :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 11:31:19 +00:00
Axel Dörfler 5cd229a5a1 I accidently broke the build with some work-in-progress changes, this should fix it for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 11:04:55 +00:00
Axel Dörfler c210cfeb9a Added a doubly linked queue that is similar to the list, but only has a pointer
to its header. Not yet used or tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 08:21:02 +00:00
Axel Dörfler 583ed1c698 * Applied codestyle patch by Vasilis Kaoutsis (missing space between if/for and the
opening bracket) - thanks!
* Shuffled functions a bit around to separate static and exported functions.
* Some other cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-27 22:33:58 +00:00
Axel Dörfler 3eca858515 * Moved the early startup VM allocation functions from vm_page.c to vm.cpp.
* Renamed them, made everything static besides vm_allocate_early() (previous
  vm_alloc_from_kernel_args()) which now allows you to specify a different
  virtual than physical size, and therefore makes vm_alloc_virtual_from_kernel_args()
  superfluous (which isn't exported anymore, and is now called allocate_early_virtual()).
* Enabled printing a stack trace on serial output on team crash - it doesn't hurt
  for now, anyway.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-27 19:26:40 +00:00