Commit Graph

26147 Commits

Author SHA1 Message Date
Stephan Aßmus
c1111e046b * When playing with the MediaPlayer and toggling bilinear versus
nearest neighbor scaling, I noticed that the bilinear version
  actually used less CPU than the generic AGG code path with nn
  scaling. So I wrote an optimized nn scaling routine for nn
  based on the bilinear scaling code. So the indices into the
  source bitmap are cached. I don't know if this is the optimal
  nn scaling routine, but the CPU usage dropped significantly.
  Only B_OP_COPY is optimized as of yet.
* Optimized the bilinear scaling. When more filtered pixels than
  unfiltered pixels are anticipated, the loops are unrolled to
  special case the very last row/column and bottom right pixel.
  This eliminates the branches in the loops.
* Fixed a bug with partial scaled drawing of bitmaps when it
  used the bilinear scaling, the bitmapShift was in the wrong
  direction.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-23 11:09:15 +00:00
Ingo Weinhold
79b5db483c Enhanced scheduler tracing. The reschedule tracing entry does now record
more information of the unscheduled thread, namely its new state and, if
waiting, also the object it is going to wait on. When scheduler tracing
level 2 is enabled, additionally the address where the thread was
preempted is recorded. The latter could be interesting for analyzing
race condition bugs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-23 00:12:27 +00:00
Ingo Weinhold
982413718d Improved the "ls" command:
* It can now also lookup userland symbols.
* By respecting the currently debugged thread it smoothly cooperates
  with the "in_context" command. IOW it can lookup symbols in any team.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-23 00:05:16 +00:00
Ingo Weinhold
0739b87ee9 * Added arch_debug_get_interrupt_pc(), which is supposed to return the
PC of the innermost iframe.
* The "in_context" command does now set the currently debugged thread
  respectively.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 23:59:21 +00:00
Ingo Weinhold
ec16be9366 Added i386_get_current_iframe(), returning the innermost iframe, if any.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 23:55:43 +00:00
Ingo Weinhold
290e3dd228 Introduced the notion of a currently debugged thread in the kernel
debugger and added respective getter/setter methods
debug_{get,set}_debugged_thread(). By default the currently debugged
thread is the thread that dropped into the kernel debugger, but commands
like "in_context" can change it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 23:54:49 +00:00
Ingo Weinhold
07569b03c9 * Added kernel private thread_state_to_text() which just calls
state_to_text().
* state_to_text() can now deal with a NULL thread argument.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 23:51:22 +00:00
Jérôme Duval
97686ecc7a also sanitize events added by filters, to be checked with methods too.
this fixes bug #2611


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 22:30:11 +00:00
Alexandre Deckner
07c052f765 - Simplified the logic in Draw, and other small fixes, thanks Karsten!
- Disabled_off picture wasn't archived/unarchived in one_state_mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 21:06:12 +00:00
Alexandre Deckner
bb00ec82e5 - As promised, style cleanup. Hey, it's not even in the build atm, just
noticed :-D


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 19:21:36 +00:00
Salvatore Benedetto
9fd15595d6 * Replace wrong file_cache call with block_cache_get_etc() in Icb::_Read()
* Clean up

I've succefully copied data from a udf partition.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 19:19:35 +00:00
Salvatore Benedetto
2e39d2c54f * Clean up. Not functional changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 19:07:21 +00:00
Stephan Aßmus
613ecaf5f9 * Added the implementation behind the "Use overlays if available" and "Scale
videos smoothly in non-overlay mode" options.
* Disabled the other controls in the SettingsWindow which are not yet
  implemented.
* Enable and disable Revert button according to settings state.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 16:43:35 +00:00
Ingo Weinhold
757f253a2d Added "in_context" debugger command. It takes a thread ID and a command
line and executes the command line in the context of the specified
thread. E.g. "in_context <thread> db <addr>" allows to read memory from
a team that is not active ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 15:42:27 +00:00
Ingo Weinhold
0deddbe36c Added function parse_next_debug_command_argument(), which parses the
first command line argument of a given command line string.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 15:38:57 +00:00
Stephan Aßmus
26e9cdb72c I shouldn't push my luck too much, so I'm commiting these WIP changes:
* Removed unmaintained makefile.
* Renamed TPreferences to SettingsMessage, which better describes the beast.
* Renamed setter functions in SettingsMessage for more convenient use.
* Added getter functions which take a default value argument that is returned
  when there is no value for the given key.
* Cleanup in Settings.[h|cpp], made things simpler and more convenient. Removed
  redundant saving of the settings/message, which SettingsMessage already takes
  care of. Added a global instance of the application settings.
* Some cleanup in FileReadWrite and Playlist.
* Reimplemented the SettingsWindow with the new layout API, the old code is
  still in place for compiling for BeOS.
* Added two more check boxen for the overlay and bilinear scaling option I
  intend to add eventually.
* Refactored the rest of the code in SettingsWindow to use the new global
  settings instance and also support a Revert feature. All the new controls are
  only available in Haiku though.
* Enabled the Settings... menu entry in the Settings window for access to
  the SettingsWindow.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 15:28:59 +00:00
Bruno G. Albuquerque
a0e3096f6a - Fixed Backgrounds Tracker add-on. I have no idea how some people seem to not
be able toreproduce it before.
- Don't try to access methods in a NULL object. :)
- This fixex bug #1128.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 15:05:44 +00:00
Ingo Weinhold
16cfc87748 * Added option "-s" to the "thread" command, which prints the info in
short form (like "threads").
* "thread" allows to specify more than one thread now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 14:29:00 +00:00
Salvatore Benedetto
43a5ec83ef * Added some more TRACE, eventually they will be removed
* replace sizeof(dirent) with sizeof(struct dirent) as the pointer passed was called dirent!
that would cause d_reclen to be set to the wrong value, making panic. Thanks Stefano!

I finally managed to mount and list its content.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 13:30:46 +00:00
Salvatore Benedetto
56b5c63783 * Replaced some more PRINT with TRACE
* applying our coding guidelines here and there but not everywhere :-)
* no functional changes


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 13:26:58 +00:00
Michael Pfeiffer
e85eb9ba1c Show partitions that have a file system in list of bootable partitions only.
This fixes part 2 of ticket #2477.
Next is to implement the ioctl B_GET_BIOS_DRIVE_ID, any taker?

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 13:17:32 +00:00
Stefano Ceccherini
e3dc743451 Building the floppy (and consequently, the cd) boot image was broken since some revisions, due to now missing block_io module
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 12:53:38 +00:00
Bruno G. Albuquerque
e645c32e77 - Further updated supertypes.
- Could not find a suitable icon for multipart files. Ideas?
- Added missing descriptions and fixed the image descriptions.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 12:33:07 +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
Salvatore Benedetto
764ca4773b * fix udf build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 10:15:35 +00:00
Salvatore Benedetto
e2dc263c43 * Replaced some PRINT with TRACE
* Rename error to status
* Fix assignements in udf_read_stat
* Added udf_{close_dir,free_dir_cookie} hook functions which prevented
udf from mounting the partition

It seems mouting an udf partition works correctly but I'm still unable
to list its content.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 10:06:44 +00:00
Salvatore Benedetto
89264fe471 * Improve debug output. No functional changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 09:59:01 +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
Stefano Ceccherini
dcd8c085ed The actual implementation of HPET timers (not used yet, as it seems not to work correctly), by Dustin Howett (GSOC)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 09:34:19 +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
Stefano Ceccherini
0fce483f9c fix the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 08:22:13 +00:00
Stefano Ceccherini
17d39c90b1 code for initializing hpet in the bootloader. Moved around some hpet definitions. HPET initialization is commented out, at the moment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 08:15:14 +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
Stefano Ceccherini
6a8cce077f add hpet locations to the kernel_args. Patch by Dustin Howett (GSOC)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 08:03:25 +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
Stefano Ceccherini
521a945c90 (part of) a patch by Dustin Howett (GSOC) which implements HPET timers. I'm committing this work split in small patches, since HPET timers aren't working correctly yet, and I won't commit the parts which don't work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 07:57:50 +00:00
Bruno G. Albuquerque
e51479d912 - Creates the supertype menu when only supertype attributes are present.
- *NOW* it works.
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 04:10:30 +00:00
Bruno G. Albuquerque
be8c87abf6 - Added a new CreateMimeMenu() method that creates the menu with attributes
for a specific MIME type. 
- Attribute menus now display a hierarchy with type and supertype attributes.

This looks a bit ugly but mostly because not all types and supertypes have icons and descriptions. Anyone up to do a MIME database cleanup? :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 03:57:57 +00:00
Ingo Weinhold
d74af3b17f Improved output. Particularly when the allocation is filled, it is nice
to know whether there's still progress.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 01:16:48 +00:00
Ingo Weinhold
5540989032 Squashed a TODO: The global swap hash table is no longer resized
synchronously; we use the resource resizer instead. This avoids another
potential deadlock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 01:15:18 +00:00
Ingo Weinhold
77b93362c2 * Refactored the kernel daemon code into a class.
* Added a second kernel daemon service, resource resizer, which is
  mainly supposed to be used for resizing allocations asynchrounously.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 01:13:18 +00:00
Ingo Weinhold
fc06a3f822 Added methods that allow asynchronous resizing of the hash table.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 01:10:24 +00:00
Bruno G. Albuquerque
31ee3b53f5 - Export the SCSI TOC in the CD:toc attribute (required by the CDDB protocol).
- Do not save or load attributes in the protected namespace.

Now cddb_server has everything it needs.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-21 23:46:00 +00:00