Commit Graph

33008 Commits

Author SHA1 Message Date
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
Ingo Weinhold be7328a9f6 Moved VMCache related definitions to <vm/VMCache.h>.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 14:14:21 +00:00
Axel Dörfler 74e2b87511 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 14:01:33 +00:00
Ingo Weinhold bcfdfff497 Added 64 bit TODO. We'll probably have to change the interface (cookie type)
of get_next_area_info() and others.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 12:26:26 +00:00
Axel Dörfler 4e890d3456 * Added a WaitingObjects page to the debug analyzer; I don't consider it
finished yet (it's a simple list of all waiting object groups, but should be
  a tree), but it might already be helpful enough.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 11:46:01 +00:00
Ingo Weinhold e55886c3a3 Make iteration safe. VMKernelAddressSpace::Next() doesn't like NULL pointers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 01:56:01 +00:00
Stefano Ceccherini 179ec686e4 TermView constructor throws an exception if initializing the object failed.
TermWindow catches the exception, and quits the application in that case.
Fixed weird wrapping of the text in the about window.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-06 23:17:31 +00:00
Colin Günther 2166eec15c * Removing some targets which where usefull when atheros driver was distributed
outside of Haiku's repository, only. 
* Also this fixes the build break that arose when the Haiku repo was checked
  out with something different than svn (git for example:), due to a hardcoded
  reference to the svn entries file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-06 21:21:17 +00:00
Ingo Weinhold 40cd019ea0 * Renamed VMAddressSpace::ResizeArea{Head,Tail}() to ShrinkArea{Head,Tail}()
to clarify that they never enlarge the area.
* Reimplemented VMKernelAddressSpace. It is somewhat inspired by Bonwick's
  vmem resource allocator (though we have different requirements):
  - We consider the complete address space to be divided into contiguous
    ranges of type free, reserved, or area, each range being represented by
    a VMKernelAddressRange object.
  - The range objects are managed in an AVL tree and a doubly linked list
    (the latter only for faster iteration) sorted by address. This provides
    O(log(n)) lookup, insertion and removal.
  - For each power of two size we maintain a list of free ranges of at least
    that size. Thus for the most common case of B_ANY*_ADDRESS area
    allocation, we find a free range in constant time (the rest of the
    processing being O(log(n))) with a rather good fit. This should also
    help avoiding address space fragmentation.
  While the new implementation should be faster, particularly with an
  increasing number of areas, I couldn't measure any difference in the -j2
  haiku build. From a cursory test the -j8 build hasn't tangibly benefitted
  either.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-06 17:18:04 +00:00
Ingo Weinhold fe30b74fde Fix for stack traces in the early boot process: The thread might not have
its stack top/bottom assigned yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-06 16:01:21 +00:00