Commit Graph

33217 Commits

Author SHA1 Message Date
Axel Dörfler
e4c87231a3 * Renamed the xfer_* structures to fit the rest, and let them inherit from the
usual structures.
* Also, they now use the QueryServer()/SendToServer() functions instead of
  duplicating them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 17:17:01 +00:00
Clemens Zeidler
3875331b37 As suggested by Ingo use the normal mutex_lock function in case of ACPI_WAIT_FOREVER.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 17:14:14 +00:00
Axel Dörfler
5f207b83ae * Moved all server interface definitions from DataExchange.h to
ServerInterface.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 16:57:22 +00:00
Axel Dörfler
1fcbc5470b * More cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 16:48:49 +00:00
Axel Dörfler
9c3b4706dd * Cleaned up the node manager, got rid of its use of Map, and List.
* Fixed at least two reference counting problems, but nodes from killed teams
  still remain alive (will look into this at a later point).
* GetLiveNodes() is now using transfer_area() as well.
* Made all sizes in the SendTo*() and Query*() functions size_t.
* Replaced reinterpret_casts with static_casts when casting void pointers.
* Ordered the request/reply structures by target.
* Tried to consolidate the use of add_on vs. addon.
* More cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 16:22:24 +00:00
Ingo Weinhold
951be023f9 Added tool tips to the SchedulingView. A tool tip shows the time and the
thread at the mouse cursor position as well as the thread's state, how long
the thread has been in this state, and what threads are running on all CPUs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 15:31:39 +00:00
Ingo Weinhold
b1627c9e23 Use the new wait_object_type_name() to avoid code duplication.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 15:27:14 +00:00
Ingo Weinhold
6d5e661da4 * Although it takes a bit of memory, the Model also stores an array with
pointers to all events now. This allows for backward iteration.
* Model::ThreadWaitObjectGroup: Added a few convenience getters.
* Added functions thread_state_name() and wait_object_type_name() to translate
  a ThreadState respectively a wait object type into a readable string.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 15:26:42 +00:00
Ingo Weinhold
f3156fffd0 Added format_{big,nano}time() versions returning a BString.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 15:22:20 +00:00
Colin Günther
ac3566cd6a Adding dependency on kernel_c++_structs.h on the driver, which are using
sys/condvar.h and as such the kernel_c++_structs.h file in their souces.
As Ingo pointed out when introducing the "C++ structs in C only code" feature,
this dependency needs to be put on every target that includes 
kernel_c++_structs.h directly and indirectly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 12:38:49 +00:00
Ingo Weinhold
bea40bcd49 * Also compute the number of CPUs and the idle time of each CPU.
* Show the CPU count and the total idle time in the "General" page.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 12:02:44 +00:00
François Revol
94a6d7ada8 Work-in-progress BeOS hack allow loading with either the R5 or BONE tty manager, due to using the same version and incompatible module hooks we must detect it at runtime to avoid crashing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 23:51:23 +00:00
Ingo Weinhold
815678a637 Added support for filtering the thread list (context menu).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 23:26:38 +00:00
Ingo Weinhold
63481b10d3 Added copy constructor and assignment operator.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 23:25:24 +00:00
Ingo Weinhold
2df254bea3 Removed debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 23:24:58 +00:00
François Revol
50015543bb Change dprintfs to TRACE(), and make always on tracing less verbose.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 23:00:32 +00:00
Jérôme Duval
a9bff40a89 It seems the codec GPIO count isn't usable for quirks, ie the GPIO count is zero on the Macbook
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 22:31:30 +00:00
Ingo Weinhold
32c1e7b685 Added support for selecting thread rows.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 21:47:40 +00:00
Ingo Weinhold
446ac6d727 Added class ListSelectionModel, representing a selection of list (i.e. indexed)
elements.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 21:46:49 +00:00
Ingo Weinhold
1031a2b4ca * Made the semantics of _Resize() more consequent. Even, if the capacity
doesn't change, it makes room for/removes items at the given index. This
  simplifies the calling methods.
* Added InsertUninitialized() method, a generalized version of
  AddUninitialized().
* Remove():
  - Added optional "count" parameter.
  - Added missing debugger() call.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 21:44:01 +00:00
Axel Dörfler
c28dd9fdc3 * Implemented getting/setting the audio gain of media files.
* Renamed "remove_ref_for" command structures and constants to
  "invalidate_item".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 19:56:04 +00:00
Axel Dörfler
e3745f7643 * Implemented support for setting/getting the audio gain in the
MediaFilesManager; the client protocol implementation is still missing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 18:49:54 +00:00
Clemens Zeidler
f0ab4adfc9 We now also use a mutex in acpi. Thanks Ingo for the mutex timeout function.
This fix some warnings mentioned in #4722.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 18:25:11 +00:00
Axel Dörfler
9dc3c57ac7 * Now uses a flattened BMessage as settings file format instead of a proprietary
one.
* Also renamed the settings file to "MediaFiles" which I had previously already
  renamed accidently.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 18:08:35 +00:00
Joachim Seemer
9abc1e0049 deskbar.html was missing in the preference section.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 17:06:54 +00:00
Ingo Weinhold
0760c824df Support for resizing the "Threads" column.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 17:05:05 +00:00
Ingo Weinhold
c5c5949618 Added support for resizing headers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 17:04:19 +00:00
Axel Dörfler
8f70123737 * Obviously not one of my best days today: the SERVER_GET_MEDIA_FILE_{ITEMS|TYPES}
commands used a mix of old and new transfer_area() semantics, which didn't work
  out too well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 15:31:08 +00:00
Axel Dörfler
300b908999 * Also clear the lists after all items/types were iterated over.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 15:29:30 +00:00
Axel Dörfler
1339ccf411 * Enforce that the caller of transfer_area() owns the area - this fixes some
mean crashes with the media_server version I just checked in.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 15:28:44 +00:00
Axel Dörfler
1fb5b54d2e * Should have been part of r34554.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 14:55:14 +00:00
Axel Dörfler
7e5d04c543 Beware! The following commit will crash your system when open "Sounds"; I'll
look into this now.
* Renamed the MMediaFilesManager to MediaFilesManager.
* Got rid of its Map usage, we're using std::map now instead.
* The media_server is using an unsafe method to transfer areas from the server
  to the client. I've changed this for the BMediaFiles API to use Haiku's new
  transfer_area() function. However, this seems to cause the above mentioned
  problems.
* Improved naming and data exchange structures used for the BMediaFiles API.
* Fixed BMediaFiles leaking its lists.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 14:22:56 +00:00
Axel Dörfler
c6b85a0a7a * The transfer_area() test was not updated to its newer semantics, works again
now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 14:15:58 +00:00
Ingo Weinhold
ea35acab5e Avoid nasty redraw flickering.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 13:57:27 +00:00
Ingo Weinhold
cfee620a7b Allow to zoom out up to 1000000 ns per pixel instead of 1000. Missed that when
switching from micro- to nanoseconds.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 13:53:58 +00:00
Ingo Weinhold
f5c2932928 The header view is now a child of the scheduling page instead of the view port,
so that it is no longer affected by vertical scrolling. This also fixes the
problem that it was laid out too small.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 13:39:39 +00:00
Axel Dörfler
6fcead13eb * Got rid of Map, and replaced it with a std::map.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 09:40:58 +00:00
Axel Dörfler
d9e9ff142b * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 09:40:07 +00:00
Rene Gollent
bd563c20aa GCC4 build fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 00:01:05 +00:00
Ingo Weinhold
d8d4b902cb * The system profiler scheduling event structures sport nanotime_ts now.
* Adjusted the DebugAnalyzer to handle nanosecond times.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 22:56:29 +00:00
Ingo Weinhold
b2a2d5c065 The usual files forgotten to commit. The generic system_time_nsecs()
implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 22:53:53 +00:00
Axel Dörfler
f4ec236cad * Got rid of Map use in TimeSourceObjectManager.
* Renamed global variable _TimeSourceObjectManager to gTimeSourceObjectManager.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 21:57:45 +00:00
Ingo Weinhold
34a48c70ef Added type nanotime_t (an int64 storing a nanoseconds value) and function
system_time_nsecs(), returning the system time in nanoseconds. The function
is only really implemented for x86. For the other architectures
system_time() * 1000 is returned.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 21:43:19 +00:00
Ingo Weinhold
db905187d5 Implemented a class uint128 with the basic arithmetic operations and
replaced the previous, somewhat complicated and inexact method of
computing the TSC conversion factor using it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 21:37:56 +00:00
Axel Dörfler
559a6a891c * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 21:32:59 +00:00
Axel Dörfler
9834d875d0 * Rewrote PortPool, and put it into the BPrivate namespace.
* Renamed global variable _PortPool to gPortPool.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 21:28:08 +00:00
Axel Dörfler
92c66394a2 * Accidently put gDormantNodeManager into the public namespace.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 21:27:21 +00:00
Axel Dörfler
29bb91d6e5 * Cleaned up DormantNodeManager.
* Renamed global variable _DormantNodeManager to gDormantNodeManager.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 21:11:13 +00:00
Ingo Weinhold
522c2f19d4 * Added a simple mechanism to wait for events to VMCache. WaitForPageEvents()
waits for certain events on a given page, NotifyPageEvents() wakes up
  waiting threads respectively.
* Used the new feature instead of condition variables for waiting on busy
  pages. We save publishing and unpublishing of a condition variable whenever
  a page is marked busy. There's only something to do, if there's at least
  one thread waiting in the list of the respective cache. The general
  assumption is that this is only rarely the case and even if it happens,
  there should be only very few threads.
* Added an apparently missing notification in cache_io(). At least I didn't
  see the reason for it not being there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 15:42:08 +00:00
Ingo Weinhold
6440406a59 Style changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 14:28:56 +00:00