Commit Graph

31114 Commits

Author SHA1 Message Date
Michael Lotz
b5172954bb Better watch your bools in C code. In C99, the bool type of the argument to
send_bit() causes a type conversion from the value handed in to 0 or 1. This
clashed with the usage in send_byte(), that hands over a shifted byte. The
argument was converted to true when it had any value other than 0, whereas
before (where a bool simply was an int) it would have just handed over the value
directly. Therefore the logic in send_bit() that simply masked off the lowest
bit of the value would now not work anymore.
This fixes EDID failing on GCC4 and therefore fixes #2275, the last issue of
#4084 and may also affect #2780.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-22 01:03:10 +00:00
Rene Gollent
c3350a57ff Squashed a TODO: When delivering signals, check if a) any threads were in fact enqueued, and b) if the scheduler's preemption hint indicates that a reschedule is desired. This prevents unnecessarily invoking the scheduler every single time a signal is delivered, regardless of result.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 23:48:42 +00:00
Bryce Groff
93134c5eb2 * Added parameter parsing to the userland side.
* Added support for logical partition headers in partitioning info.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 22:22:48 +00:00
Bryce Groff
d0f743e740 * Added parameter passing to/from the kernel to userland.
* Removed dependency on deprecated ep_validate_create_child()
* Removed hard coded sector size.
* Style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 22:19:47 +00:00
Jérôme Duval
1f5d96afb8 we now print a warning message in the log when the interrupt comes in the second half of a buffer: this should mean the interrupt comes earlier than expected.
Please report such warnings, they can help to investigate timing issues with some hda codecs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 21:55:40 +00:00
Philippe Houdoin
4271a1354c Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 21:50:30 +00:00
Jérôme Duval
e535c8c017 updated libpng to 1.2.39
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 21:38:50 +00:00
Jérôme Duval
dd0edf1f7c updated fluidsynth to 1.0.9
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 21:27:45 +00:00
Jérôme Duval
1a7d0f796b update pci ids
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 20:51:16 +00:00
Philippe Houdoin
6059eef66a Better use user_memcpy() to return battery [extended] info to userland caller.
Also add some paranoid checks: ACPI BIOSes implementation can be... wild.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 20:29:00 +00:00
Axel Dörfler
7c26f9d16d * Rewrote Buffer.h, and BufferConsumer.h, that's enough for a day :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 20:21:45 +00:00
Jérôme Duval
3580aefbfe update to tzdata2009l
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 20:08:21 +00:00
Axel Dörfler
d587e0fbfe * Not sure why we are that generous (copying BView behaviour), but pressing
Alt, Option, or Control while scrolling the menu via the mouse wheel now
  scrolls page wise.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 19:36:07 +00:00
Michael Lotz
c9c3b32d3b Rework incoming report handling. We need to notify all reports when one comes in
because all reports schedule transfers on the same endpoint and therefore need
to possibly reschedule. Previously if we got a report that we didn't listen on
all further reports would stop, because noone would schedule a new transfer.
This fixes extra keys not working on my natural keyboard.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 18:46:24 +00:00
Axel Dörfler
feff9eba4a * Added minor missing pieces to the user guide that might otherwise not get
noticed.
* Humdinger, the GUI image does not have item 5) for the resize knob!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 18:44:04 +00:00
Axel Dörfler
91d5822a7c * The code to handle AS_GET_SCREEN_ID_FROM_WINDOW did not lock the desktop,
which got unnoticed since the former Desktop::ActiveScreen() never changed.
  This fixes bug #4301.
* Also fixed a possible deadlock on application crash with a kWindowScreenFeel
  window; the locking order of the Desktop's and the ServerApp's window lock was
  reversed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 18:08:04 +00:00
Axel Dörfler
67838392dc * Applied stippi's no-patents patch, but without the ffmpeg part, as that one
is obviously already configured not to use patented code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 17:20:23 +00:00
Axel Dörfler
c53744492d * Fixed the output directory of the haiku-netboot.tgz.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 16:22:56 +00:00
Stefano Ceccherini
3b33d6307b Fixed B_READ_WRITE -> B_READ_AREA | B_WRITE_AREA problem.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 16:21:39 +00:00
Michael Lotz
29bd9bfd7d Remove SMP_MSG_RESCHEDULE_IF_IDLE as it is not used anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 16:14:18 +00:00
Michael Lotz
861b223cf2 * Strip down scheduler_simple. Anything related to multiple CPU handling has
been removed. That includes CPU disabling and thread pinning, as that becomes
  pointless with only one CPU.
* Return a proper reschedule hint on enqueing a thread, based on the priority
  of the current thread vs. the enqueued one.
* Enable dynamic scheduler selection. With one CPU the simple scheduler will
  be used, otherwise affine is selected.
* Removed the scheduler type define as we now always auto-select it.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 16:10:27 +00:00
Stefano Ceccherini
d3ae6ef65b use DIRECT_BUFFER_INFO_AREA_SIZE instead of B_PAGE_SIZE, even if they
are the same, but it's more correct. Also memset the buffer_info struct.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 15:40:53 +00:00
Stefano Ceccherini
7d9dfe90a5 fixed style violations
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 15:24:37 +00:00
Stefano Ceccherini
f1400a3199 More refactoring of the DirectWindow server code. No new bugs introduced
(hopefully), and now I could enable the B_SCREEN_CHANGED notification since 
it works a bit differently


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 15:07:40 +00:00
Michael Lotz
38516368ea Switching to the ATA stack for the @alpha targets. We need more widespread
testing to determine where we are at sooner than later now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 14:34:16 +00:00
Axel Dörfler
8759c47161 * We need to cast to BFile instead of BNode, as BNode is not a subclass of
BPositionIO. This fixes ticket #4299.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 14:05:45 +00:00
Ryan Leavengood
7f0af426b2 Fix the build. Sorry for the breakage.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 13:39:42 +00:00
Axel Dörfler
fe7f167df1 * Resolved a TODO and got rid of Desktop::ActiveScreen().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 13:34:33 +00:00
Axel Dörfler
cc93fbbba8 * Shuffled methods around to match their location in the header.
* Made ScreenChanged() private, and renamed it to _ScreenChanged().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 13:19:53 +00:00
Axel Dörfler
5e3f4c41a6 * ServerApp now maintains a mask of workspaces with temporary mode settings,
and reverts the modes if the app goes away (ie. if it crashes).
* Desktop::SetScreenMode() also set the mode on the current screen, even if
  it should have been set on another screen.
* Cleaned up the Desktop.h header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 12:57:24 +00:00
Stefano Ceccherini
c1df12d278 fixed / removed comments
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 11:50:21 +00:00
Stefano Ceccherini
1f3bec8961 removed resolved TODO comment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 11:49:15 +00:00
Axel Dörfler
90ac66553e * Fixed computation of the screen frame in case of multiple screens.
* Removed debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 10:30:30 +00:00
Axel Dörfler
5ce919497d * The changed settings format (display mode instead of composed fields) actually
broke Desktop::WorkspaceFrame(), which I didn't notice before; Workspaces now
  shows everything in the right dimensions, even if resolutions differ.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 10:28:46 +00:00
Axel Dörfler
e18224cdf4 * Added a new AS_GET_SCREEN_FRAME function, as getting the frame via
AS_SCREEN_GET_MODE won't work with multi-screen support anymore, and is also
  more overhead than needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 10:23:01 +00:00
Axel Dörfler
f7e005eb83 * Moved PrivateScreen.h header to headers/private/interface.
* Desktop is now including it as well to be able to use the new
  B_CURRENT_WORKSPACE_INDEX constant.
* Include order cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 09:37:54 +00:00
Axel Dörfler
aadbd94ef7 * BPrivateScreen used B_CURRENT_WORKSPACE where an index was required. This
was reason that caused bug #2658.
* Introduced a new constant B_CURRENT_WORKSPACE_INDEX in PrivateScreen.h; maybe
  this should be made public one day.
* Fixed another reason that caused bug #2658: BPrivateScreen waited 100ms
  between frame updates, leaving a large window open for such problems; I've
  reduced it to 10ms now, but the actual bug fix is to reset the counter for
  each BScreen object, so that when you create a new BScreen object, the frame
  is retrieved timely.
* The reference count was not initialized, causing BPrivateScreens to be leaked
  forever.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 09:20:25 +00:00
Axel Dörfler
50dfc607fb * Fixed typo that prevented the app_server from restoring the
ScreenConfigurations correctly.
* Removed scoring for the screen ID alone - if there is a monitor info, we don't
  want to match an existing info if it only has an ID, as that one hasn't been
  stored for the current monitor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 08:02:09 +00:00
Michael Lotz
2e7672a2a0 Adding a simple wake on LAN command line utility. It will broadcast a magic
packet that targets the MAC address supplied by argument.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 05:52:36 +00:00
Rene Gollent
009ccc2962 anevilyak+mmlr:
* scheduler_enqueue_in_runqueue() now allows the scheduler to return a hint as to whether a reschedule is desirable or not. This is used in a few other places in order to relegate scheduling decisions entirely to the scheduler rather than the priority hacks previously used. There are probably other places in the kernel that could now make use of that information to more intelligently call reschedule() though.
* Switch over the default scheduler to scheduler_affine().



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 04:11:40 +00:00
Ryan Leavengood
e58f5f3d02 Extract libjpeg from the JPEGTranslator and make it a standalone lib. Added to
image and DevelopmentMin optional package. This is the original libjpeg (6b),
which I will updated to version 7 within the next few days. I need to
understand better the modifications made to it before updating.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 02:17:42 +00:00
Michael Lotz
9dbe55ebcc Fix typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 02:07:11 +00:00
Michael Lotz
c265fd23cd We cannot use the condition codes to determine if a transfer descriptor is
processed. The controller may initialize it to any value when starting to
process the descriptor. If a controller did that it was possible that we thought
a transfer was already done even if it actually just started. Transfers would
then return that weren't processed, returning uninitialized buffers.
Instead of relying on the condition codes we now check that the head and tail
pointers are the same. This guarantees that all transfer descriptors of the
endpoint at hand are completed.
Reverted r32534 again as this one fixes the problem for real. The same things
that were mentioned there could happen here essentially, so in the worst case
the device or controller could stall because of freeing in-use structures.
Fixes #4067.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 00:14:50 +00:00
Rene Gollent
66dde0a85d Fix build with TRACE_SMP enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 23:39:22 +00:00
François Revol
af0ba3c2c8 Fix gcc4 picky warnings...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 22:30:32 +00:00
François Revol
23ac6129a6 Fix gcc4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 22:28:02 +00:00
Ryan Leavengood
366df3d41b Copy our current libjpeg to it's new location before merging the new vendor branch
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 21:12:25 +00:00
Ryan Leavengood
4197604101 Remove useless if, /bin/open will handle this itself. Thanks Rene and sorry for
the noise.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 20:15:39 +00:00
Ryan Leavengood
fa3f8dcf9f Launch executables and use /bin/open on everything else in the boot launch
directory. I think this should be good enough until we have session management.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 20:10:31 +00:00
Ryan Leavengood
b6b0567fbd - Change Autostart directory name to launch.
- Move the launching of files in this directory from the Bootscript to the
UserBootscript.
- This means we now ship a working UserBootscript instead of just a sample.
- Updated documentation based on this change and Humdinger's suggestions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 19:21:18 +00:00