Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 959ff00dde * Removed Bitstream Vera fonts, they are replaced by the DejaVu ones.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-14 11:16:12 +00:00
Axel Dörfler dea4ee1980 * Changed the error return by bfs_link() to B_NOT_SUPPORTED.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-14 10:39:29 +00:00
Axel Dörfler 4722f139ea * If we're in the kernel debugger, we won't even try to use ACPI to power off,
as we cannot do so with interrupts turned off (ACPI needs to allocate memory
  dynamically).
* Turn off interrupts right before going to sleep (_GTS), this at least works
  in VMware, maybe it also works on real hardware.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-14 08:52:14 +00:00
Axel Dörfler 57b9debf76 * Some index updating functions did not take into account that not all nodes
are put into all indices. For example, symlinks aren't part of the size
  index. This fixes bug #2704.
* Also, Inode::NeedsTrimming() now ignores symlinks that have no data stream,
  it's const now, too.
* Added helper methods Inode::In{Name|Size|LastModified}Index(), and use it
  where appropriate.
* Clarified Inode::Create() description with regards to name vs. parent.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-13 09:47:55 +00:00
Axel Dörfler 90e8094e1e * Added test application for the AttributeIterator implementation. Note that
this test fails under BeOS, while it works just fine under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-12 12:23:39 +00:00
Axel Dörfler fa23653d48 * Improved reported inode number to the be actual index.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-12 09:53:58 +00:00
Axel Dörfler c4b2fd5be3 * Reverted r27196 and solved it differently (in a more robust way): instead of
guessing that the first attribute will be a name attribute, fCurrentSmallData
  now takes hidden attributes into account.
* I haven't tested this change, though, so if it messes things up again, please
  yell at me :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-12 09:25:17 +00:00
Axel Dörfler 43209917de * BDirectory::CreateDirectory() and CreateSymlink() now both use __gUmask to
correct the permission mask. This fixes bug #2670.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-11 12:25:05 +00:00
Axel Dörfler 44d0dbc898 * dirent::d_reclen was set incorrectly, causing bug #2699.
* Removed unneeded "block_out" variable in ISOReadDirEnt().
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-10 21:49:40 +00:00
Axel Dörfler cb387cfb2f * Added acpi_shutdown() method. If the ACPI bus manager is installed, this will
be used now. Tested only with VMware so far.
* apm_shutdown() is now called with interrupts turned on.
* Renamed arch_cpu.c to arch_cpu.cpp.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-10 19:50:08 +00:00
Axel Dörfler a181d013aa * Divided enter_sleep_state() to have a prepare_sleep_state() that accepts a
wake vector (not tested at all).
* Removed disabling interrupts when entering the sleep state - looks like
  ACPI still needs memory then.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27403 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-10 19:24:37 +00:00
Axel Dörfler 123786187c * acpi_init() could pass a NULL "rsdp" to acpi_check_rsdt() which would happily
dereference it no matter what. This fixes CID 1282.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-09 21:30:37 +00:00
Axel Dörfler ca6210d5e9 * closest_video_mode() now only returns modes with a width less or equal than
the one specified. This should fix the "video mode out of range" message of
  your monitor during boot, in case you had that one. Thanks to Hartmut Reh
  for his help to be able to spot this.
* The mode returned by find_edid_mode(..., true) was never used.
* find_edid_mode() did not return any mode if there were no detailed modes
  available.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-09 15:18:51 +00:00
Axel Dörfler d262deae17 * The MIME type menu in the find panel now shows the MIME type icons, if any.
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 12:30:00 +00:00
Axel Dörfler 95199ce40b * Moved mp3 attributes over to the super type.
* Improved super type descriptions.* Moved mp3 attributes over to the super type.
* Improved super type descriptions.* Moved mp3 attributes over to the super type.
* Improved super type descriptions.* Moved mp3 attributes over to the super type.
* Improved super type descriptions.* Moved mp3 attributes over to the super type.
* Improved super type descriptions.* Moved mp3 attributes over to the super type.
* Improved super type descriptions.* Moved mp3 attributes over to the super type.
* Improved super type descriptions.* Moved mp3 attributes over to the super type.
* Improved super type descriptions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 12:20:52 +00:00
Axel Dörfler d125d984a6 * IconMenuItem now falls back to the icon of the super type, if a MIME type
didn't have one.
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 12:06:50 +00:00
Axel Dörfler 206c62f036 * Got rid of the "count" parameter and maintenance altogether - makes the code
much simpler.
* Simplified code to compute "start", ie. the index of the first MIME type menu
  item.
* Promote MIME types to the top-level if their super type don't add any
  attributes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 12:01:27 +00:00
Axel Dörfler 090da60b27 * Renamed CreateMimeMenu() to AddMimeMenu(), as it now also adds the menu to
its parent. The item count of the parent is now actually adjusted, so that
  additional entries are found.
* AddMimeMenu() now returns the menu of an already existing MIME type. Hence,
  we don't add the supertype menu twice anymore for each type, or don't add
  the second type at all when called again.
* Cleaned up naming, consistent use of "* " vs. " *".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 11:46:50 +00:00
Axel Dörfler 15a27c4d5b * Whitespace cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 11:22:52 +00:00
Axel Dörfler 23f09d5a66 * unload_module_image() was never called with image == NULL, so I just removed
that possibility.
* It now has a "remove" argument instead, that decides whether or not the
  image has to be removed from the hash still.
* Moved locking to put_module_image(), ie. both, {load|unload}_module_image()
  need to be called with the sModulesLock held now.
* module_init_post_boot_device() needs to remove the image from the hash itself,
  or else it messes up its hash iterator.
* check_module_image() could call unload_module_image() under certain
  conditions - but this was completely wrong, and could have caused crashes.
* search_module()/check_module_image() now keep a reference to the module
  image on success, thus a caller doesn't need to call get_module_image()
  again afterwards - this also fixes another round of potential module
  unloading to happen.
* That reference is leaked for built-in modules in get_module(), but it doesn't
  matter for them, anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 10:19:29 +00:00
Axel Dörfler 5a123e3591 * Added a post boot device module init function that unloads all unused modules,
as they aren't unloaded when there is no boot device yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 09:41:10 +00:00
Axel Dörfler 2f2ba71fab * The USB bus manager was leaking unused bus modules.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 09:20:28 +00:00
Axel Dörfler 29336cb02b * Most modules were never unloaded due to a bug in put_module().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 08:35:22 +00:00
Axel Dörfler c3eeae18ec * FAT's fs_read_dir() function filled the dirent::d_reclen member incorrectly,
causing a partial copy of the entry in vfs.cpp fix_dirent(), which then
  returned an error, making FAT directories unreadable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 08:07:04 +00:00
Axel Dörfler 2fd4fdcf3b * Changed the way fix_dirent() copies the entry: it will now copy the complete
dirent without the name first, and will then check if the d_reclen member
  is valid before copying the name.
* This shows the problem with the FAT file system that was revealed by r26859.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 08:02:38 +00:00
Axel Dörfler 729e189a48 * Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-21 20:31:18 +00:00
Axel Dörfler 2a1a5a296f * Turned off debug output of the FileMapDisk stuff.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-20 20:44:29 +00:00
Axel Dörfler 8b7a165ad3 * We still lose information, so I enlarged this buffer a bit more.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-20 20:43:03 +00:00
Axel Dörfler 27ba18f412 * Turned off debugging output (intel.cpp still puts out some stuff, but only
when compiled for the kernel).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-20 20:42:24 +00:00
Axel Dörfler 7a253cf5fe * Since the file cache can access any kind of data (and not just file data),
we must use {read|write}_pages() instead of {read|write}().
* This should fix accessing other file systems than BFS (ie. those that doesn't
  have an io() function) like ext3 and FAT.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-20 20:22:06 +00:00
Axel Dörfler 743b3f1527 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-20 08:32:44 +00:00
Axel Dörfler 4bfeb6f37a * Changed the way how a cache is destructed: now, it is removed from the
global cache list before locking it. This allows to get rid of the
  block_cache::deleting field, as well as simplifies some code.
* This also fixes a possible deadlock I recently introduced (on destruction,
  the locking order was wrong).
* Now uses an anonymous condition variable instead.
* Moved the block_cache initialization code into a dedicated method that will
  now also fail in case the low resource handler couldn't be registered (as
  pointed out by Salvatore).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-20 08:09:18 +00:00
Axel Dörfler 60642f8781 * The EDID info is now only dumped if TRACE_VIDEO is defined (currently the
default).
* Enlarged the serial buffer that is handed over to the kernel to 8192 bytes.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-19 18:37:30 +00:00
Axel Dörfler a1f34e7e89 * Only remove the block cache from the list, and its low resource handler when
this is actually needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-19 11:30:14 +00:00
Axel Dörfler 1d136d5a76 * Fixed bug #2631 based on a patch by Salvatore: the block cache was put into
a global list before it was fully initialized.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-19 08:40:55 +00:00
Axel Dörfler cef3610a76 * Fixed typo that prevented udf from being picked up: it's "modules", not
"module" - hope that helps, Salvatore :-)
* Fixed warnings.
* Fixed udf_identify_partition() not to crash the system when a UDF partition
  is available, and also fixed it to actually not claim non-UDF partitions.
* Moved partition naming (that shouldn't be done in identify!) to
  udf_scan_partition(), and corrected it (ie. use strdup(), don't copy into
  a NULL pointer...), but also disabled it for now, as it needs some more
  work to pass a cookie from identify now.
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-18 20:58:51 +00:00
Axel Dörfler 5bfb703b6f * Try to create unknown devices before failing in RegisterDevice(), and
RegisterPartition().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-18 17:57:03 +00:00
Axel Dörfler f15da085fb * Greatly simplified republish_driver(); it doesn't need to use the path_entry
stuff at all, anymore.
* Removed now unused get_device_for_path().
* unpublish_driver() now only deletes the device if unpublishing actually
  worked out okay.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-18 12:36:27 +00:00
Axel Dörfler 8ec35e364a * Forgot to set the BaseDevice inode ID; devfs_unpublish_device() now works
as intended.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-18 12:34:47 +00:00
Axel Dörfler 0d37df6412 * The old Be version of get_device_icon() now also supports retrieving the
vector icon in case B_GET_ICON is not supported by the device anymore.
  (This makes B_GET_ICON deprecated API.)
* Use B_BITMAP_NO_SERVER_LINK flag, as our bitmap is only used internally.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-18 11:50:08 +00:00
Axel Dörfler 6e006912aa * Added ConvertToCMAP8() bitmap variant.
* Put header guards in the system namespace.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-18 11:40:01 +00:00
Axel Dörfler d9b93b821a * The bitmap variant of get_device_icon() should now support getting all sizes
even if the icon is not available in that size (ie. is not a vector icon).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-18 11:38:53 +00:00
Axel Dörfler c35ab0c38d * Added new devfs_unpublish_device() that gets a BaseDevice instead of a path.
* Added inode ID member to BaseDevice to make this possible.
* Removed unused and unmaintained legacy_driver::devices_published field.
* Implemented legacy driver's unpublish_driver().
* Reenabled legacy driver reloading on changes.
* Renamed devfs_driver_{added|removed}() to driver_{added|removed}(), and
  made them private.
* Simplified deletion of device_node lists (no need to use an iterator here),
  added device unpublishing.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-18 11:07:47 +00:00
Axel Dörfler 320bd2bd5a * More specific error message when relocating fails.
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-18 11:03:50 +00:00
Axel Dörfler a3901de208 * Build fix: this should have been part of the last commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-18 11:03:03 +00:00
Axel Dörfler 8e390e5ea7 * Removed icon support from scsi_periph.
* Removed B_GET_ICON support from scsi_disk, and scsi_cd. This won't be
  necessary anymore soon.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-18 11:02:05 +00:00
Axel Dörfler e7ada11b55 * Use -f (force) when copying, or else it may bail out if the target already
exists -- this seems to happen only in case a specific name is given for
  the target, though, so it might well be a bug in the fs_shell as well.
  Seen when copying kernel.so to _KERNEL_ on a "update-all".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-18 08:39:46 +00:00
Axel Dörfler 8b97187793 * Adds the _kunlock_node_() syscall obviously used by p4. This should fix
ticket #2626.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-17 20:35:05 +00:00
Axel Dörfler 58f14b4cc7 * Changed scsi_disk/scsi_cd to return FreeDesktop.org compatible icon names,
see http://www.freedesktop.org/wiki/Specifications/icon-naming-spec for more
  info.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-17 17:17:36 +00:00
Axel Dörfler de4daffba0 * Fixed bug #2616, preparseDate() would clear the elements array beyond its
maximal size.
* Turned off debug output accidently enabled with the last commit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-17 15:00:25 +00:00
Axel Dörfler e6a9c269be * Style cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-17 14:58:36 +00:00
Axel Dörfler 8ce6cfc999 * Added two more public functions: get_named_icon().
* Implemented B_GET_ICON_NAME in get_device_icon().
* Comments welcome.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-17 14:32:33 +00:00
Axel Dörfler 06ba3f0acb * Added two new ways to retrieve an icon from a device:
- B_GET_ICON_NAME: returns the name of an icon. This will then be read from
    a predefined location on disk (not yet implemented). This would also allow
    to add specifiers like "-boot", or "-fat|bfs|ntfs|...", and have special
    icons for those.
  - B_GET_VECTOR_ICON: retrieves the vector icon of a device, if any.
* get_device_icon(BBitmap*, ...) now supports other color spaces than B_CMAP8.
* Added get_device_icon(), BPartition::GetIcon(), and BVolume::GetIcon()
  variants that can also retrieve the icon data directly (like
  BNodeInfo::GetIcon()).
* Reenabled the previous BPartition::GetIcon(), based on a patch by
  Justin O'Dell - this fixes #1391.
* Tracker's MountMenu class now uses B_RGBA32 icons, instead of B_CMAP8.
* Added vector icon to scsi_disk, and scsi_cd. The former doesn't have any
  special removable icon, though.
* Header cleanup, added/updated license, whitespace cleanup.
* Marked deprecated/obsolete driver ioctls in Drivers.h.
* Removed OpenBeOS namespace in the headers I touched that still had them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-17 11:27:07 +00:00
Axel Dörfler 9ad1415ecb * Use addr_t instead of int32, since we're dealing with addresses here, and this
way it wouldn't work on 64 bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-17 10:31:31 +00:00
Axel Dörfler 63c96ae5a5 * Added find directory constants B_{BEOS|COMMON|USER}_DATA_DIRECTORY, which
currently points to /etc for the system, and dedicated "data" directories
  for common/user (the system directory should get a dedicated "data", too,
  though).
* Added B_USER_CACHE_DIRECTORY (in config/cache).
* These additions were discussed some years ago, but I just had a good reason
  to use them :-)
* Coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-16 11:05:59 +00:00
Axel Dörfler 6dc27eba0c * As requested by POSIX, we now have PTHREAD_STACK_MIN, and PTHREAD_KEYS_MAX
defined in limits.h.
* This closes ticket #2559.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-15 15:00:26 +00:00
Axel Dörfler c5e91552e1 * Now uses the new wait_for_timer() stack function on destruction - this fixes
bug #2143.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-15 14:47:11 +00:00
Axel Dörfler 9e8be8bb9c * Added a net_timer::flags field, and used it to implement the new
wait_for_timer() function.
* Moved the internal Fifo class into utility.cpp - we should probably just
  remove it again.
* Fixed uninit_timers() so that it would even work in combination with the
  timer thread if there are timers left to be scheduled.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-15 14:46:16 +00:00
Axel Dörfler 51bc54b1bf * Applied patch by Marten Svanfeldt: the info alert icon was missing, as it's
now a vector resource.
* Changed bitmap icon to B_RGBA32 instead of B_CMAP8, use B_OP_ALPHA for
  drawing the bitmap.
* Style cleanup in the MediaAlert.cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-15 11:47:28 +00:00
Axel Dörfler 8c74d99c63 * Applied patch by Andreas that uses git as a fallback in case retrieving
the revision failed using "svn info".
* While there is no official git tree, this should help those people using
  svn over git.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-15 11:00:07 +00:00
Axel Dörfler 70e2d4ac43 * Replaced the B_BLOCK_DEVICE_* defines with B_DMA_* defines that better match
our dma_restrictions structure (but we're using blocks instead of bytes,
  since unlike the block size, the restrictions attributes are constant).
* We might want to use blocks for the dma_restrictions structure as well in
  the future...
* Fixed another bug in the device_node variant of DMAResource::Init(): the max
  segment size was specified in blocks as well.
* Removed the "hardcode" block_io module and header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-14 15:08:16 +00:00
Axel Dörfler 61b1a536e8 * Fixed the mix of bufferCount vs. max_segment_count with regards to
B_BLOCK_DEVICE_MAX_SG_BLOCKS as pointed out by Ingo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-14 14:28:20 +00:00
Axel Dörfler ad12e71861 * If USE_SSL is set when compiling the MDR add-ons, SSL will be used.
* By default, it will use a directory generated/cross-ssl where you need to
  unzip the optional openssl package into before. If you're on Haiku, you can
  use the SSL_DIR environment variable to point it to /boot/home/config
  instead.
* Fixed build with USE_SSL defined.
* Renamed USESSL to USE_SSL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-14 12:28:44 +00:00
Axel Dörfler 38d78c5f83 * The Development package will now also add the _KERNEL_ lib (which is the file
kernel.so, not a link to the actual kernel as on BeOS).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-13 23:38:39 +00:00
Axel Dörfler 6776de960b * Made the relocation more robust against incorrectly built images.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-13 23:20:18 +00:00
Axel Dörfler 345d8c9ff0 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-13 12:59:18 +00:00
Axel Dörfler f1efe9b3d2 * The string length of the UTF8 ellipsis was incorrect (would have been 3).
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-13 12:53:25 +00:00
Axel Dörfler 55585cfa0d * truncate_middle() could eat the whole string if it was as large as the
ellipsis. This was visible in missing window titles for short names like
  "bin".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-13 12:52:14 +00:00
Axel Dörfler 80fb0607c5 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-13 12:50:53 +00:00
Axel Dörfler 7f57b05f1d * Temporarily use the private I/O request API to decide whether or not the
request is a write request.
* This closes bug #2579, thanks BGA for the investigation!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-13 11:04:51 +00:00
Axel Dörfler d689f4578d * Fixed a possible deadlock in Desktop::_ActivateApp(): since ActivateWindow()
will need to write lock the window lock, we cannot call it with the read
  lock held.
* Added a TODO comment in _ActivateApp() on how we could handle minimized
  windows.
* Added a WindowList::Count() method.
* Added a WindowList::ValidateWindow() that you can use to validate a window
  pointer in case you had to unlock the list.
* Made FirstWindow()/LastWindow() const.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-13 09:00:36 +00:00
Axel Dörfler b31df46fd2 * The window title now uses B_TRUNCATE_MIDDLE instead of *_END.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-12 21:07:28 +00:00
Axel Dörfler b8beeb35ea * The Switcher now uses the new application/window order functions to sort
the application/window lists before using them.
* This means that you can now switch just between the two topmost apps when
  pressing Control-Tab. If you press it fast enough, it will fall back to the
  old method of iterating through all apps.
* Only define the private BeOS window management API for BeOS itself, for
  Haiku, better use the private WindowInfo.h header.
* Changed BeOS's window_info structure to match how Haiku does it (improved
  naming, separation between client_window_info and window_info).
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-12 17:50:21 +00:00
Axel Dörfler ae0606be74 * Added two more private InterfaceDefs functions: get_application_order(), and
get_window_order() will retrieve the application respectively window order
  on the selected workspace.
* Moved private BeOS compatible functions (as used by the Deskbar) into the
  private WindowInfo.h header.
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-12 17:39:42 +00:00
Axel Dörfler a8f4e1d0fd * _ActivateApp() did not lock the window list while traversing it.
* It will now first iterate through the windows on the current workspace to
  choose the topmost window of this team (for this, it would be nice to have
  a sorted list over all windows/workspaces).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-12 17:33:32 +00:00
Axel Dörfler 44cd4a02c7 * Deskbar's Switcher had an explanation what the window_info::layer field is
about. ServerWindow::GetInfo() now fills in that value following this logic
  as well as further testing.
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-12 13:44:17 +00:00
Axel Dörfler 0eb592d7fe * Fixed off by one error in the number of clicks to finish the game (it can
hardly be odd).
* Fixed spelling error Genarate -> Generate.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-12 13:03:36 +00:00
Axel Dörfler 872c3d3f6a * Fixed the broken nodeFlags semantics in BDirectory::Contains() (they are
flags, after all).
* This fixes the "Command-Tab" ie. switch to source/header command in Pe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-11 18:16:33 +00:00
Axel Dörfler 8f38768e65 * Don't define DEBUG in public headers!!! Doing it this way will break the
build for others, namely those that also include <Debug.h>
* This fixes the remaining problems of building Pe under Haiku.
* Those files need a giant style cleanup... Fredrik, time to have a look at
  our style guide :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-11 16:45:26 +00:00
Axel Dörfler 3d3fe5a58c * Added tracing support to our scheduler to be able to do better diagnosis
with scheduling problems.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-11 10:20:16 +00:00
Axel Dörfler c3a9fa2150 * Added a kludge to the test environment to be able to support two pages sized
non-contiguous areas.
* Added a test that allowed to reproduce #2595.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-10 15:32:13 +00:00
Axel Dörfler ed0303d19d * When creating the physical vector array, we did not advance "base" in the
loop.
* This is probably the cause for file corruptions as well as bug #2595; will
  have another look tomorrow.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-09 21:27:24 +00:00
Axel Dörfler 96e0e6d137 * Applied patch by Justin O'Dell: the 8168 MMIO region is obviously in the
third range, not the first.
* This finally closes #1853 again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-09 20:57:46 +00:00
Axel Dörfler 46b2c7efd3 * Now uses different base addresses for mapping the registers depending on the
chipset. This should now finally fix bug #1853.
* Instead of reading values directly from the PCI config space, we now just use
  the pci_info structure to retrieve them (interrupt, and base address).
* Renamed alloc_mem() to alloc_contiguous() to make clearer what it does.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-09 09:43:19 +00:00
Axel Dörfler 8c5620e78f * Reverted last commit - not a good idea to provide untested patches. With the
patch applied, the card didn't work at all anymore.
* Minor 80-column/white space cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-08 15:37:43 +00:00
Axel Dörfler ae9067b364 * Fixed PXE boot loader build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-08 15:23:44 +00:00
Axel Dörfler 626599ea23 * scsi_cd/scsi_disk are new drivers, and therefore they need to use a different
rule.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-08 11:26:58 +00:00
Axel Dörfler e6679f9d0d * Since we're using ASSERT macros, still lock/unlock the nodes when
initializing the file system.
* This fixes bug #2580.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-07 17:37:07 +00:00
Axel Dörfler f93c785026 * FlushAndRemoveAllPages() cannot call WriteModified(), as it must be called
with the VMCache lock held, and WriteModified() locks itself.
* Added an assertion that the lock is held when calling that method.
* This fixes a KDL as soon as you would have used O_NOCACHE with a file that
  had already some pages read in.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-07 17:36:01 +00:00
Axel Dörfler df6394aee1 * cdda_read_dir() did not correctly report the number of entries put into
the dirent buffer. This fixes Rene's comment about "ls" entering an endless
  loop.
* It also didn't access the buffer passed in correctly if it came from userland.
* It now also fills in as many entries in the buffer as fit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-07 14:29:12 +00:00
Axel Dörfler ed7c4a3e9a * Added simple test app for readdir() to see how it fills out the dirent
and the private DIR parts.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-07 14:25:06 +00:00
Axel Dörfler 49a7b6198d * fix_dirent() now correctly handles buffers from userland.
* dir_read() now takes into account that we may have read more than one dir
  entry, and calls fix_dirent() for each of them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-07 14:23:44 +00:00
Axel Dörfler b0884f0cb8 * Fixed a ton of wrong usages of B_CONTIGUOUS + B_FULL_LOCK.
* The use of B_{READ|WRITE}_AREA throughout the drivers is surely alarming.
  Defining these flags means that *every user* application can access these
  buffers read/write, it becomes visible in userspace like any other memory
  (just shared among all apps). I would like to ask each driver maintainer
  to see if that is really wished here. If you only need one app to be able
  to access it, cloning the area would be more appropriate.
* I came across the use of B_ANY_KERNEL_BLOCK_ADDRESS a number of times. This
  is almost completely useless for most usages, as it tries to align the
  virtual to a multiple of the size of the area. It just makes the allocation
  more likely to fail. Please only use where appropriate, and please review
  your code.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-07 13:00:36 +00:00
Axel Dörfler 9372d6969b * White space cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-07 12:29:32 +00:00
Axel Dörfler a89962b923 * read_cdda_data() needs to know the last frame of the track, so that it can
cut down the buffer size on the last request. This fixes bug #2565.
* cdda_read() did report an incorrect number of bytes read. This fixes bug
  #2511, and also that you couldn't copy tracks via "cp".
* cdda_read_stat() did not include the WAV header in its reported size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-07 07:29:29 +00:00
Axel Dörfler 72ebbe4244 * Forgot to allocate the dma_resource before using it. Now scsi_cd works again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-07 06:41:15 +00:00
Axel Dörfler f8009f7ba4 * Applied patch by kaliber: those headers weren't self-containing.
* This closes bug #2346.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-06 10:01:53 +00:00
Axel Dörfler a8b77fe01e * Reenabled the ASSERT() in ata_request_set_status(), the problem has been
fixed. Not sure why the 6 to 10-byte command translation was triggered,
  though.
* Minor coding style changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-06 08:57:23 +00:00
Axel Dörfler 6568215497 * scsi_read_write_6() was incorrectly translating 6-byte requests with a length
of 0 (as this means 256 blocks).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-06 08:54:49 +00:00
Axel Dörfler f8a59924e5 * Added Dump() method to IORequest, IOOperation, IOBuffer, and DMABuffer.
* Added KDL commands "io_request", "io_operation", "io_buffer", and
  "dma_buffer".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-06 08:01:07 +00:00