Commit Graph

25353 Commits

Author SHA1 Message Date
Axel Dörfler
86cea5c5f1 * Renamed IOOperation::SetRequest() to Prepare().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 00:45:25 +00:00
Axel Dörfler
8faff60c7f * Enabled all DMA tests, wrote some more.
* Moved data buffer creation to a TestSuiteContext class.
* Added checks if the I/O operation does the correct thing, ie. reads/writes
  the data to the right offset.
* Rearranged DMA translation: we now handle the partial write case correctly
  (bounce buffer must always span over the whole block), and are able to join
  adjacent bounce buffers together.
* The new _AddBounceBuffer() method also respects boundary and segment size
  restrictions for bounce buffers.
* IOOperation now prepares the outgoing vecs/offset/length to contain the
  right data for the current phase (partial read begin/end/do-all); it will
  also make sure that the lengths of the vecs are of the same size than the
  whole request.
* All tests are now passed, the I/O request implementation seems to be ready
  for integration now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 00:43:01 +00:00
Stephan Aßmus
bee04bfed9 mmlr + stippi:
Hide USB errors better from the upper layers: Only try the "clear feature"
command if the error is B_DEV_STALLED. On other errors, the clear feature
was likely to fail, as it should only be used on stalled devices. Errors
intended to be ignored were thus not ignored because of the "clear feature"
failure.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 00:27:01 +00:00
Ingo Weinhold
f974514476 BString::Append(, int32) methods have been broken in r26378. A local
variable "length" shadowed the "length" parameter.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 23:21:47 +00:00
Stephan Aßmus
6df047777a * Cleanup for 80 char per line limit.
* Don't spam the syslog when the device was not a Wacom.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 23:16:48 +00:00
Michael Lotz
a524312842 * Fix off-by-one error in port number which caused full- or lowspeed devices
behind highspeed hubs with multiple transaction translators not to work.
* The parent hub isn't necessarily the one providing the transaction translator
  for a full- or lowspeed device. Therefore we need to inherit the hub/port
  addresses to lower devices unless we are a highspeed hub that might be the
  actual provider of the transaction translator. This logic error caused full-
  and lowspeed devices not to work if they were behind a fullspeed hub that
  itself was behind a highspeed hub.

This fixes bugs #1889 and #2501.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 22:46:16 +00:00
Rene Gollent
e36b6d3e2c Update Vision package to version 0.9.7-H-21072008. This fixes incorrect BBitmap colorspace usage which resulted in transparent pixels being painted green on recent versions of Haiku, most notably on the arrows in the network setup window.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 22:45:45 +00:00
Ingo Weinhold
5b1d60c80e r26509 broke char codes (e.g. Ctrl-K and Ctrl-D) matching one of the
checked B_* char codes. Fixes bug #2533.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 22:14:25 +00:00
Stephan Aßmus
a86d99e0da Opening previously open windows on non-boot partitions obviously only worked if the
automounter already mounted these partitions. Since this happens asynchronously,
it sometimes worked and sometimes not. The very simply and non-hacky fix for this
problem is to send a message from the automounter to the application looper to
have it open the previous windows after the initial mount scan is done.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 16:01:51 +00:00
Stephan Aßmus
499c81036f * Fixed automounting all BFS disk when Tracker starts.
* Fixed mounting previously mounted partitions. fSettings was never initialized when restoring
  the settings. The code I removed earlier didn't do that either.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 15:44:45 +00:00
Stephan Aßmus
df7697df96 Do not shoot ourselves in the foot and remove the previously mounted partitions
from the settings message just after having restored it. This should fix
restoring the previously mounted partitions, but I have not tested it yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 13:18:17 +00:00
Michael Lotz
508dd5f91d Output some more debug output in case of port reset failure.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 13:11:53 +00:00
Stephan Aßmus
1f855f9696 Implemented a double buffered mode for the case that the screen is 32 bit.
It works by adjusting the display_mode to have twice the virtual height to
cause the graphics driver to allocate enough frame buffer. Since hardware
acceleration calls are based on geometry locations instead of memory locations,
accelerated calls can work in the offscreen buffer with this method.
Similarily, the new CopyBackToFront() method copies the back buffer into the
front buffer with hardware acceleration. The code is currently disabled, since
not all graphics drivers handle the virtual versus display size correctly,
for example the intel_extreme driver. It works for example with the radeon
driver, but another problem prevents me to judge the benefit of this method.
Most types of screen redraws are flicker free, though, which is the whole point
of the excercise. :-)
Another problem with the current code is the initial mode switch. It does
not try again to double the frame buffer in the fall back code paths. It could
also check the frame buffer memory at all, before even trying to save some
cycles.
To see it in action, uncomment the code at line 508.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 12:50:32 +00:00
Stephan Aßmus
576305a5d8 * Adopt the code to handle the case that even a HWInterface instance with
hardware accelerated functions could be double buffered.
* Align the rectangle used for arc drawing like those for ellipsis.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 12:40:46 +00:00
Stephan Aßmus
328699e5f6 * Coding style cleanup
* Added a flag "fIsOffscreenBuffer", which is used to shift the frame buffer
  pointer to the position after the visible frame buffer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 12:33:06 +00:00
Stephan Aßmus
c5ac899aac * Refactor the method that actually copies rectangles from the back buffer to
the front buffer so that derived classes could override it.
* Minor coding style changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 12:31:27 +00:00
Michael Lotz
22e1bd0701 DiskProbe also used B_RGB32 instead of B_RGBA32 and would therefore display a black background on the icon.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 12:28:14 +00:00
Stephan Aßmus
167caf601e When switching ports, the code forgot to also switch the detected flatpanel
parameters. This caused ticket #1732 for me. At another place in the code,
the native resolution is added to the supported mode list and there it is
hardcoded to the first flatpanel info.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 12:25:33 +00:00
Stephan Aßmus
d0dc969483 Added two resolutions for certain wide screen TVs that have VGA or DVI inputs.
Either of the two should work when the native resolution is 1368x768.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 12:16:42 +00:00
Stefano Ceccherini
85f2668898 Patch by Dustin Howett (GSOC): Move ACPI probing out of the
bootloader's smp init and into its own unit.
ACPI tables can now generally be found with acpi_find_table(signature).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 07:13:51 +00:00
François Revol
3ef0397bc5 - cleanups
- disable tracing mmu
- make scratch buffer 8k as it's declared as such... that makes things much better indeed :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 02:54:37 +00:00
François Revol
3c5029f112 Turned out the generated kernel_m68k had a single PT_LOAD segment (RWE) instead of separate text and data like every other single binary, and everything on other platforms. This works around it by forcing sections to separate headers. It's still beyong me why I have to do this here, ld should do it on its own. Anyone has a clue ?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 00:36:31 +00:00
François Revol
1e5538f5e8 silently skip PT_INTERP and PT_PHDR types as we can ignore them. This should make real unhandled types more obvious.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 00:31:25 +00:00
Ingo Weinhold
2f14f5ee99 axeld + bonefish + mmlr:
* Added trace entry for block reads from disk.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 00:30:16 +00:00
François Revol
f83297ba2d cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 00:29:08 +00:00
Ingo Weinhold
2b3c0783a0 mmlr + bonefish + axeld:
* Fixed build: round_up() has been renamed to key_align().
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 00:27:44 +00:00
Ingo Weinhold
9083840f34 bonefish + mmlr + axeld:
* Fixed a bug that could easily corrupt your disks (yeah, one of those
  again): bfs_get_file_map() truncated the last vec incorrectly and
  would potentially return a too large file size -- which was later
  happily overwritten with file data, but could have belonged to
  anything but that file (like inodes, B+trees, etc.).
* Renamed previous round_up() function to key_align().
* Added round_up() template function, and used it where appropriate.
* The latter actually fixed two bugs where the and mask was computed in
  32 bit where it should have been in 64 bit.
* Inode::FindBlockRun() should have checked the max indirect size
  instead of the direct size - this didn't cause any problems, though.
* White space cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-20 23:59:32 +00:00
Ingo Weinhold
a0a18e64f0 bonefish + mmlr + axeld:
* The "bfs" KDL command parsed the optional block_run::start parameter
  incorrectly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-20 23:49:24 +00:00
François Revol
1b5a395d01 Cleanup and fix 040 definitions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-20 22:08:39 +00:00
François Revol
d14351d2c6 - better not check an entry for validity when we want to fill it
- bitfield definitions of page dirs were reversed... 040 is still wrong though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-20 21:16:37 +00:00
François Revol
74c5e8bd10 - move VADDR_TO_* to headers
- move part of mmu handling to mmu-dependant files and extend ops
- implemented 040 mmu init. doing so I spotted a bug in ARAnyM which ignored [ID]TT0. Linux likely doesn't use them but I was too lazy touse temporary page tables. I also noticed bitfields were in wrong order, to be fixed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-20 20:31:48 +00:00
Stephan Aßmus
7c730d1ed4 When initializing a partition, default to the existing partition name. If
there is none, default to "Haiku".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-20 17:43:39 +00:00
François Revol
c6d022fab9 Send panic to natfeat output as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-20 17:04:41 +00:00
Axel Dörfler
f02e1e36e9 * The "bfs_inode" KDL command now prints out some additional information
contained in the inode object when available (ie. when you don't use the
  '-b' option).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-20 16:34:56 +00:00
Ingo Weinhold
e700fc1d5c axeld + bonefish + mmlr:
* FileMap::_InvalidateAfter():
  - Off-by-one error. The last extend (which normally should be kept)
    was thrown away, too, but still accessed afterwards. Worst case
    could be a write to free()d memory.
  - Drop the last extend when it would be truncated to zero size.
* FileMap::Translate():
  - Incorrect handling of B_BUFFER_OVERFLOW case in the
    vfs_get_file_map() loop. After the loop the function would return
    incorrectly, making the caller think all vectors in the provided
    array had been initialized correctly. This could cause a file system
    implementation using the file map to read from or write to random
    disk locations, in the latter case possibly corrupting the file
    system.
  - Some readability improvements in the final loop. Removed incorrect
    check.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-20 16:29:12 +00:00
Axel Dörfler
762472641e * Added the generic device bus manager module to the built-in module list; now
it can actually be used (that should have been part of an earlier commit,
  but didn't break the build this time).
* dump_modules() must use kprintf() instead of dprintf().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-20 13:52:15 +00:00
Axel Dörfler
0d066dea36 * Added block level tracing to the block cache.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-20 12:37:56 +00:00
Ingo Weinhold
7cb66f0ff0 Added __printf__ format attribute to TraceOutput::Print().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-20 12:30:22 +00:00
Axel Dörfler
45a206a742 axeld + bonefish:
More work on the I/O scheduler, more precisely mainly the DMAResource class:
* When splitting requests into operations, we're now able to flexibly mix
  bounce buffer segments and the given physical vectors in a single
  operation. This reduces the number of operations.
* Squashed several TODO and fleshed out more of the implementation.
* Added a test driver running unit tests. There are only a few tests yet,
  but those pass.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 23:27:14 +00:00
Oliver Tappe
9e05183977 * some minor cleanups and clarifications
* dropped tracing of udp-header


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 22:32:51 +00:00
Oliver Tappe
14eaa7b61d * replaced a couple of unconditional dprintf()s with TRACEs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 22:31:20 +00:00
Oliver Tappe
4d6c666d22 * dropped swapping of addresses when delivering locally via loopback, since
that is neither correct (source and destination are ok as they are) 
  nor does it have any effect (since those values are clobbered by the
  domain module afterwards)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 21:47:03 +00:00
Stephan Aßmus
54badb1f36 mmlr + stippi:
Fixed more controls to handle a B_TRANSPARENT_COLOR as view coloe of the
parent view. Some controls would not initialize their LowColor() at all
if they were the only control in a window.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 21:28:33 +00:00
Oliver Tappe
88ed5fc1d2 * updated netperf to version 2.4.4
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 19:57:34 +00:00
Stephan Aßmus
4f2fc580b8 The BStringView is not a BControl but suffered from the same problem in
AttachedToWindow(). Maybe there are more non-BControls yet, I didn't
have a look.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 17:49:45 +00:00
Stephan Aßmus
5fe54dee09 If the parent view color is B_TRANSPARENT_COLOR,
fallback to ui_color(B_PANEL_BACKGROUND_COLOR) in AttachedToWindow(). Most
controls don't paint their background and rely on the app_server painting it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 17:09:54 +00:00
Ingo Weinhold
552580cd28 * TermView::KeyDown(): We were writing to the TTY even when the user
pressed a shortcut that should result in a terminal action
  (e.g. Shift-Left/Right -- Shift-Left generated a Ctrl-\).
* Removed spaces at the end of lines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 16:12:32 +00:00
Michael Lotz
2fc7e292e5 When calculating the actual length for requests, we don't want to include the
8 byte request header. It was included in the case of outgoing request
transfers before. In fact we always just want the length of the data phase,
which for non-requests just happens to be the whole transfer.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 15:59:21 +00:00
Stephan Aßmus
2415100444 * More debug output with regards to the codec id for video streams.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 15:40:21 +00:00
Stephan Aßmus
bfc786ca45 * Cleanup, mostly for 80 char per line limit.
* Fixed warnings when tracing is turned on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 15:39:34 +00:00