Commit Graph

24616 Commits

Author SHA1 Message Date
Axel Dörfler
1938efc0a9 * Renamed the "simple" mode setter Screen::SetMode() variant to SetBestMode();
it can also no longer create a default mode.
* This SetBestMode() function now follows a similar logic than the boot loader,
  that is, only the width must not deviate, all other values are chosen as
  close to the original as possible.
* VirtualScreen::AddScreen() now follows the same logic as the boot loader in
  case no configuration was found, and the current screen has no preferred mode
  (for example via EDID). That is, it will first try 1024x768, and then 800x600.
* This means there is no mode change anymore when switching from the boot
  loader to the app_server in Qemu and VMware.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 14:35:31 +00:00
Axel Dörfler
32eac6c375 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 14:31:47 +00:00
Axel Dörfler
8b07bbe108 * Added a bit more debug output when enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 13:30:45 +00:00
Axel Dörfler
557335a991 * device_nodes now have a priority that is used to sort them when they are
added to their parent. Currently, only the existence of B_FIND_MULTIPLE_CHILDREN
  influences the priority.
* This makes it possible to register/probe intelligent busses earlier than
  simple/generic busses.
* Reenabled the ISA bus manager using the new device architecture; the
  ide_isa driver can and will now actually work.
* device_node::Probe() now sets the global sGenericContextPath for generic
  nodes. This causes a special handling in _GetNextDriverPath().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 13:22:24 +00:00
Axel Dörfler
2ecef3acbe * As Korli pointed out, I got a bit confused with Rescan() vs. Probe().
* Therefore, device_manager::rescan_node() now actually causes the
  driver::rescan_child_devices() function to be called, instead of probing
  again.
* Added a device_node::Reprobe() method that does what Rescan() did previously.
* Probe() should now also work with "dumb" busses that don't support type
  information - it will now probe all of these nodes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 09:13:04 +00:00
Axel Dörfler
7830589f02 Patch by Vasilis Kaoutsis:
* Added a missing close_module_list().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 07:28:04 +00:00
Michael Lotz
83d453239c Directly use memalign instead of malloc to safe one indirection.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 06:56:24 +00:00
Michael Lotz
b4babdf47e Move the device deletion after the unpublish call. Fixes crashes where a
device is still referenced through the devfs and used right between deleting
and unpublishing.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 06:53:57 +00:00
Stefano Ceccherini
fa827b37fc took the liberty to add this to the buiild and fix compilation :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 05:02:59 +00:00
Stefano Ceccherini
54d9d37f9d Added patch by Dustin Howett: header with HPET definitions and (empty)
file for hpet implementation. Not yet added to the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 04:37:18 +00:00
Jérôme Duval
87905063c3 better handles error and cancellation when copying
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 22:34:48 +00:00
Jérôme Duval
1d0b3c1590 ported back a change from Tracker FSUtils.cpp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25771 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 22:29:15 +00:00
Jérôme Duval
62572b22a6 HasBorder and HasTitle are exclusive, fix bug #2325
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 20:53:46 +00:00
Karsten Heimrich
15c0cece2b * don't print child views with invalid rect, this makes printing e.g.
from Scooby nearly the same as on R5 (still misses the gray header color)
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 20:21:40 +00:00
Oliver Ruiz Dorantes
3e24801283 L2CAP, without functionality, for the moment my playground in the netstack
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 20:16:00 +00:00
Stephan Aßmus
2ebec00b97 And now it should even compile again! Sorry about that, forgot to
remove the debug output completely.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 18:50:42 +00:00
Stephan Aßmus
3c1baac2ac Accidentally left tracing on...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 18:46:38 +00:00
Stephan Aßmus
64c4d8f606 I tracked down a problem with a specific clip I have here.
In the end, the problem was that no codec was installed
for it, but I fixed a bunch of issues on the way to find
out. Now the controller will not rely on the number
of audio and video tracks, but on the fact that it could
instantiate suppliers at all. Made the MediaTrackVideoSupplier
return an init error. Should be replicated for the
MediaTrackAudioSupplier.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 18:28:31 +00:00
Stephan Aßmus
12f1188b4f Do not reference bitmap color spaces directly anymore, but use
bitmaps_support_space() interface kit function. First try to
use overlays, if that fails, try again without overlays. The
NodeManager makes sure to fall back to B_RGB32 if the given
mode is not supported for drawing bitmaps in by BViews. Thanks,
Axel, for the suggestion!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 18:25:31 +00:00
Stephan Aßmus
50c7a8f997 Small code cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 18:21:55 +00:00
Stephan Aßmus
3dd59121c4 Resolved TODO and set the flags for the kind of additional
bitmap support (bitmaps support child views or BViews can
draw them)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 18:18:56 +00:00
Alexandre Deckner
b17ef798c7 - Decouple ModulesView::SaveState() from ModulesView::_CloseSaver() and thus ModulesView::DetachedFromWindow(). When called by BWindow destructor,
the needed derived member fSettings was already destroyed by the derived ScreenSaverWindow destructor. See backtrace in #2287
  Fixes #2287 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 17:08:42 +00:00
Axel Dörfler
30f7fc408b An early version of an introduction to the new device manager. Will be expanded
more over the following days, and published on the website.
Comments welcome!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 15:45:22 +00:00
Axel Dörfler
64b2d16995 * Patch by Vasilis Kaoutsis to fix a warning in PaletteConverter::IndexForRGB16().
* Further cleanup by myself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 11:24:11 +00:00
Axel Dörfler
cbeac9882f Patch by Vasilis Kaoutsis:
* FragmentPacket::Reassemble() would return NULL instead of an error when the
  packet was not yet complete.
* This didn't have any actual consequences, though, as Reassemble() was only
  called for a complete fragment set.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 11:10:35 +00:00
Axel Dörfler
b0f4256dcd Patch by Vasilis Kaoutsis:
* Update license and author information.
* Simplified operator==().
* Removed obsolete OpenBeOS namespace.
* Some style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 11:04:46 +00:00
Axel Dörfler
7bdf0e452a Patch by Vasilis Kaoutsis:
* Removed duplicate PAGE_SIZE definition (now defined in limits.h).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 11:01:44 +00:00
Axel Dörfler
24f792a822 * Ported ide_isa module to the new driver architecture.
* Minor cleanup of ide_isa, and generic_ide_pci (removed wrapper.h).
* Added ide_isa back to the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25755 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 10:37:58 +00:00
Ingo Weinhold
0cb2617fa5 Before starting to wait the undertaker does now check whether there's
already a dead thread available. Fixes a race condition.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 04:34:09 +00:00
Ingo Weinhold
e72e5275ff Added test that runs another program and analyzes the contention of the
thread and team spinlocks during that time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 02:07:26 +00:00
Ingo Weinhold
1c8de8581b * Added optional spinlock contention measurement feature. Enabled when
B_DEBUG_SPINLOCK_CONTENTION is defined to 1. It typedefs spinlock to a
  structure (thus breaking BeOS binary compatibility), containing a
  counter which is incremented whenever a thread has to wait for the
  spinlock.
* Added macros for spinlock initialization and access and changed
  code using spinlocks accordingly. This breaks compilation for BeOS --
  the macros should be defined in the respective compatibility wrappers.
* Added generic syscall to get the spinlock counters for the thread and
  the team spinlocks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25752 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 02:04:12 +00:00
Stephan Aßmus
e78b56aaf7 Fix the link target for Beam. Note that the R5 version cannot retrieve mails
either, it just hangs there trying ot connect and eventually times out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 21:18:08 +00:00
Axel Dörfler
032f1e5f90 * Fixed an endless loop when using vfs_get_vnode_name() or the "wrong"
get_vnode_name() variant.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 18:47:18 +00:00
Rene Gollent
7ee180f34d Fix I2C tracing, style cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 16:16:10 +00:00
Jérôme Duval
19b07e67d2 when acquiring results in an error, the resource should be reset to avoid a crash on delete
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 15:27:00 +00:00
Axel Dörfler
710b77326d * vm_cache::virtual_size is not always a multiple of B_PAGE_SIZE for files.
In these cases, the last partial page would have never been written back.
* This fixes bug #2282, and eventually others.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 10:53:10 +00:00
Ingo Weinhold
123dfa78e5 Enforce 80 columns maximum line length.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 02:40:08 +00:00
Rene Gollent
3104402815 gcc4 build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 02:36:47 +00:00
Ingo Weinhold
73aa393d73 * Introduced pipes in the kernel debugger. The syntax is similar to
pipes in the shell, though the semantics is a little different: The
  second command is invoked whenever the first command has written a
  complete line. The line is passed as last argument to the second
  command. The new command flag B_KDEBUG_PIPE_FINAL_RERUN causes the
  second command to be invoked again (with NULL argument) after the
  first command is done.
* Added kprintf_unfiltered() and kputs_unfiltered() which bypass the
  pipe mechanism and directly print to the bluescreen/serial output.
* Moved most commands from debug.cpp to the new
  debug_builtin_commands.cpp.
* B_KDEBUG_DONT_PARSE_ARGUMENTS commands don't get an argument anymore,
  if it would consist of white space only.
* Added new debugger command return value B_KDEBUG_ERROR, which
  indicates that executing the command failed. This return code will
  abort a complete pipe.
* Since debugger commands can nest (i.e. one command can invoke another
  one) the setjmp()/longjmp() mechanism to restore the stack after a
  page fault in a command needs more than one jump buffer.
* Added abort_debugger_command(), which longjmp()s out of the currently
  executed command. This will also abort the current pipe.
* When pagination is enabled pressing "a" will abort the running command
  (as opposed to "q" which only disables the blue screen output, but
  lets the command continue).
* Added debugger commands:
  - "grep" which can be used to filter output by pattern. Removed the
    "filter" command and the underlying mechanism that did that before.
  - "head" which prints only the first lines of output of another
    command.
  - "wc" counts lines, words, and characters of another command's
    output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 02:25:00 +00:00
Jérôme Duval
5f3c81d6a6 fix local variable naming
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 21:01:05 +00:00
Jérôme Duval
4eae685d97 replaced benaphore with mutex
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 19:50:53 +00:00
Michael Lotz
b204648b75 Don't define UNIX when building zip as a build tool under a BeOS compatible
host. This prevents the BeOS and Unix specific zipup.h from clashing and allows
hybrid GCC2/GCC4 images to be built under BeOS.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 18:07:07 +00:00
Ingo Weinhold
2ed64c408d Patch by Michael Lotz fixing a missing typedef when compiling with
native compiler gcc 2 and cross-compiler gcc 4.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 16:39:56 +00:00
Axel Dörfler
3736cb7d04 * Ported scsi_cd to the new driver architecture.
* Added legacy_sata and scsi_cd back to the image.
* Minor cleanup in scsi_disk.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 16:09:31 +00:00
Axel Dörfler
e67cf5815b * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 12:04:09 +00:00
Axel Dörfler
fc128a4c76 * Made block_io.h usable from C++ (which doesn't like "typedef a *a" anymore).
* Renamed scsi_dsk to scsi_disk.
* Joined all scsi_disk sources together to a single scsi_disk.cpp file.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 11:59:02 +00:00
Axel Dörfler
654aaf6ee2 Quick build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 11:26:06 +00:00
Stephan Aßmus
4fd26cd542 Reuse existing nodes if the media formats do not change. This fixes the
regression that audio playback of multiple files was not "seamless" anymore.
Even video playback should be seamless, the remaining small glitch could be
a problem with buffer timeout if the switch takes too long.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 11:06:04 +00:00
Stephan Aßmus
4aa9ff58c6 Fix a locking problem with inner locks to protect the race condition when
the producer media nodes would access the suppliers in their own thread
without having any locks held, while the window could replace the suppliers.
I think since I delayed the deletion of the suppliers in the controllers, this
problem was only theoretical... but this is just more clean.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 10:39:45 +00:00
Stephan Aßmus
7bed1cb42d * The SeekSlider had the wrong follow mode. If the window was resized in such
a way that the transport group did not need to re-layout, then the seek
  slider would not be at the correct position.
* Layout the transport controls with a fixed maximum width in order to prevent
  spreading them too much.
* Fix "About" and "MediaPlayer" missing a space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 10:37:44 +00:00