Commit Graph

22273 Commits

Author SHA1 Message Date
Stephan Aßmus
d970f8e4c5 Extended the doxygen method comment of CommitModifications() to mention
that BPartition children are recreated.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-26 19:03:53 +00:00
Stephan Aßmus
316bce45fe Small simplification.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-26 19:02:37 +00:00
Stephan Aßmus
9de19e0d0e Calling BDiskDeviceSystem::CommitModifications() will delete all BPartition
children of the device and recreate them so that they are updated to any
changes. MainWindow::_Initialize() was using a stale BPartition pointer
after calling CommitModifications(). Now the pointer is recreated from the
id. Should fix #2548. Untested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-26 18:57:14 +00:00
Ingo Weinhold
134a2fd160 Patch by Zhao Shuai with some modifications by myself:
* Renamed sModifiedTemporaryPages to sModifiedNoSwapPages to better
  express what this variable is about.
* Changed tracking of sModifiedNoSwapPages. It really counts
  non-swappable pages only, now (if swap support is enabled).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-26 14:39:05 +00:00
Ingo Weinhold
c53e844a89 Moved ENABLE_SWAP_SUPPORT definition to vm_types.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-26 14:36:24 +00:00
Oliver Ruiz Dorantes
71f38a2743 - Fix the calculation of the expected size of a packet
- Enabling all net_buffers code & ACL
- Asume contiguusness for outgoing packets
- Fix incorrect cleaning of btDevices
- Posting ACL data to the net_device Kernel module.

Sumarizing this enables ACL tranmision mode in the driver which starts to be "real network data" of the bt protocols not configuration as we had before



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-25 19:43:56 +00:00
Oliver Ruiz Dorantes
585f2ec681 In some cases the remote name request is never returning us the event containing the name. It fails, the reason could be that the command has some differences in the fields depending on the BT version. This is handling the error code properly in this fail case avoiding the wait.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-25 19:37:19 +00:00
Oliver Ruiz Dorantes
0e5e9538e0 Make more clear the output when removing fields from a request
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-25 19:27:32 +00:00
François Revol
047a9a81c2 force asm() to grock %% for register names. when not specifying constraints it doesn't understand it anymore. How inconsistent...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-25 15:52:00 +00:00
François Revol
e70ba4e482 Fix build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-25 15:36:05 +00:00
François Revol
60b11851d4 partial support for 68901 MFP chip as interrupt controller, untested.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-25 15:05:52 +00:00
Ingo Weinhold
c1cec366af * Removed B_USER_IO_REQUEST flag. It was superfluous, since whether the
buffer lives in userland can easily be checked via IS_USER_ADDRESS.
* Added B_VIP_IO_REQUEST flag which will be used by the page writer and
  should cause allocations to be made in a way that they cannot fail.
  Not implemented yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-25 14:01:56 +00:00
Ingo Weinhold
8c9804851b * Added support for an iteration callback in IORequest.
* Split IORequest::ChunkFinished() into OperationFinished() and
  and SubrequestFinished(). Moved the notification part into a new
  method NotifyFinished().
* Added new IOScheduler thread for notifying finished requests.
  IOScheduler::_Finisher() hands over finished request to it, unless the
  requests don't have callbacks. We need the separate thread, since the
  callbacks can potentially reenter the scheduler and thus cause
  deadlocks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-25 13:48:05 +00:00
Ingo Weinhold
e346074894 Removed superfluous whitespace.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-25 13:25:28 +00:00
Ingo Weinhold
7a9d5c2e39 Added TODOs in lock_memory_etc.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-25 13:06:23 +00:00
Ingo Weinhold
2dad5fa7eb * Added "boolean getNewReference" parameter to the vm_address_space*
versions of the AddressSpaceReadLocker constructor and SetTo(). When
  true it will get a new reference to the address space.
* Changed vm_soft_fault(): Now it gets the address space as a
  parameter (for page faults getting it happens in vm_page_fault()).
  This should fix lock_memory_etc() for other teams -- it used the
  correct address space before, but the invoked vm_soft_fault() always
  used the current team's address space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-25 12:05:51 +00:00
François Revol
36ee9f5c62 - use a physical page for natfeat debug output for now
- add 040 cpu and mmu stuff
- use leftover from the page root table to put interrupt vector table to set VBR to


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-25 00:25:27 +00:00
Ingo Weinhold
c586076dca Patch by Zhao Shuai with changes by myself:
* Init swap support in main().
* Added "bool swappable" parameter to
  VMCacheFactory::CreateAnonymousCache(). A cache supporting swapping
  is created when true. Adjusted invocations accordingly.
* The page writer does now write non-locked swappable pages (when
  memory is low).
* Fixed header guard of VMAnonymousNoSwapCache.h.
* Swap support is compiled conditionally, controlled by the
  ENABLE_SWAP_SUPPORT in src/system/kernel/vm/VMAnonymousCache.h. It is
  disabled ATM. Since no swap files are added, it wouldn't have much
  effect anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 23:33:38 +00:00
Ingo Weinhold
a6d2523e37 Removed superfluous whitespace.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 23:19:51 +00:00
Ingo Weinhold
3e3045f5cf Create the cbuf area full locked for the time being. We can't create it
swappable, since that happens before we can initialize swap support
(which requires the later initialized VFS).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 23:06:58 +00:00
Ingo Weinhold
cdc6ad72bb Don't clone the user thread area on fork(), just create a new one for
the new team. Otherwise it would lose it's properties (full lock,
B_KERNEL_AREA).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 23:03:59 +00:00
François Revol
29ec0f52d2 Add copyrights for Udis86, used in the kernel debugger disasm module.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 21:47:12 +00:00
François Revol
76c9eb5b42 disasm kernel debugger module providing a dis addr [count] command, currently only for x86, using Udis86.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 21:20:29 +00:00
Oliver Ruiz Dorantes
3205e523cd Implement pairing with a remote bluetooth device
- Fix PincodeWindow to send the pincode commands dissapear after clicking 
- Improve the debug output of bluetooth_server
- Handle all needed events for the pairing
- Simple request could send and receive the event before adding the request to the events wanted list. Inverted the order of this sequence.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 20:50:49 +00:00
Oliver Ruiz Dorantes
e54b6bb39a Make the local devices register in some module of the Kernel land... for the moment as bridge for l2cap
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 20:41:11 +00:00
Oliver Ruiz Dorantes
25ae4a6a68 Prevent softfault, although I would like not to have to declare the sender if I dont care...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 18:28:27 +00:00
Rene Gollent
eb9c6bd38a Adopt Axel's solution to the unmount/rmdir problem (only remove from rootfs) in DriveSetup also.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 14:15:23 +00:00
Maurice Kalinowski
8e27997c00 Prefer NULL over 0 and not need to initialize globals with zero as pointed
out by Axel.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 12:57:41 +00:00
Ingo Weinhold
0d4d5abea1 An IORequest's memory needs to be unlocked when it is done. Since this
happens in the I/O scheduler thread, we need to use unlock_memory_etc().
Changed the IOBuffer::{Lock,Unlock}Memory() methods accordingly.

The test driver seems to be working stable, now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 12:29:32 +00:00
Ingo Weinhold
d4e2720651 More debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 12:26:23 +00:00
Ingo Weinhold
bfbae5e594 The I/O callback will eventually move the operation back to the
completed operations queue. That doesn't need to happen synchronously
either. So we have to restart the loop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 12:10:39 +00:00
Ingo Weinhold
3f18ee2626 More debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 12:06:29 +00:00
Ingo Weinhold
04b04600f2 Trust the compiler to do optimize simple stuff like this. This also
helps to avoid stupid mistakes. The driver works again, though things
are still not stable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 11:34:55 +00:00
Axel Dörfler
489075a3b4 * Renamed _ForceUnmount() to _SuggestForceUnmount() to clarify what it does.
* Factored an _UnmountAndEjectVolume() method that takes a partition and mount
  path out of the method with the same name that gets a BMessage.
* Remove the mount point only if it's in rootfs.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 11:25:16 +00:00
Ingo Weinhold
91ccfa19a0 Added missing vm_put_physical_page() in do_io().
Something is still fishy though: Opening the dma_resources_test device
in DiskProbe, the wrong data is shown. do_io() seems to be invoked with
the correct physical address, vm_get_physical_page() succeeds, and after
memcpy() the correct data are in the virtual address it returned, but
db in the kernel debugger shows that the data in the physical page have
not been changed. When quitting DiskProbe the "page still has mappings"
assert is triggered for the page.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 04:25:06 +00:00
Ingo Weinhold
9951d585b6 * We have to use get_memory_map_etc() instead of get_memory_map(), since
the scheduler thread doing that has no direct access to the
  destination team's address space.
* Improved some debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 04:11:03 +00:00
Ingo Weinhold
6e60a6ac03 Added function get_memory_map_etc() which works similar to
get_memory_map(), but has a saner semantics and allows specifying a
team.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 04:07:14 +00:00
François Revol
0ae1957465 - Cleanup
- rewrote early_query() to use the TT0 mapping to remove the page_hole stuff.
- fixed natfeat, using a page set up from the bootloader for now as it wants physical address. At least it's enough to see from the debugger:
load kernel...
kernel entry at 8003711a
Welcome to kernel debugger output!
Haiku revision: 26582
PANIC: unknown cpu_type 68040

Welcome to Kernel Debugging Land...
Running on CPU 0
kdebug>


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 02:59:47 +00:00
Ingo Weinhold
feb6103338 * Maybe I just missed something, but module names not matching the
driver name didn't work here.
* Enabled using the I/O scheduler in the read() and write() hooks.
  Something's still broken, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 02:02:39 +00:00
Ingo Weinhold
902559ce32 * Added a mutex to IORequest. It doesn't look like we can get around
using a lock and I'm not very much in favor of a global one.
* Added "finished" callback to IORequest.
* IOOperation::Finish() no longer invokes its parent request's
  ChunkFinished(). The finisher does this instead. ChunkFinished()
  can optionally remove the chunk from the parent.
* Added IORequest::Wait() which waits for the completion of the request.
* Introduced IORequestChunk::ResetStatus() to make setting the status to
  "pending" somewhat more explicit.
* Implemented the missing IOScheduler::SetCallback() methods.
* The NotifyAll() calls on the IOScheduler's condition variables were
  missing, so it just waited forever.
* Added some more debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 01:54:41 +00:00
François Revol
77cbdee787 Add platform specific kernel args, use them to pass nat_feat info so at least the kernel can print something from the emulator...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 01:10:36 +00:00
Rene Gollent
7a1c09b66a Only try to rmdir in the case of success.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 23:09:08 +00:00
Ingo Weinhold
b71e631972 * Fixed race condition between OperationCompleted() and the scheduler
thread. Interrupting a thread only works when it is already waiting.
  We do now use a flag to indicate whether the scheduler thread is
  waiting (avoids thread_interrupt() calls when the thread is in driver
  code). Furthermore before starting to wait, we check whether any
  finisher work has to be done -- we do that (and the addition of the
  entry to the condition variable) with the finisher lock being held to
  avoid the race condition.
* Moved waiting for and getting the next unscheduled request into new
  method _GetNextUnscheduledRequest().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 22:56:51 +00:00
Rene Gollent
5c4fff2ef1 Tracker and DriveSetup now attempt to clean up the mount point after successfully unmounting the volume.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 22:55:00 +00:00
Ingo Weinhold
f587c66c57 Obsolete TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 22:36:55 +00:00
Maurice Kalinowski
4d49d73f17 * whitespace cleanup, no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 22:22:26 +00:00
Maurice Kalinowski
39fd631a39 julun+mauricek:
* as on darwin platform we cannot use resources for the boot sector data. Instead use attributes to store the data.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 22:17:54 +00:00
Maurice Kalinowski
ea70c8b6f3 julun+mauricek:
* additional includes for cygwin
   * some automatic whitespace cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 22:15:05 +00:00
Maurice Kalinowski
dff0e735eb julun+mauricek:
* Cygwin does not have regex support, so we use the one we already have in our glibc.
   * Keymap.h has a automatic forward declaration of re_registers, which causes a compile break on Cygwin, but not on other platforms. So add a include for regex.h in the header and remove it in the source file.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 21:40:12 +00:00
Rene Gollent
ef7fb431ed Remove extraneous put_vnode(). This would result in decrementing the vnode ref count even if an unmount operation failed, which in turn would cause other fun problems. This fixes tickets 1982 and 2538. However, there seems to be another problem remaining with unmounting: the placeholder dir in the rootfs is not removed when the volume is unmounted, or it's not reused correctly. As a consequence, on subsequent remounts of the same volume via Tracker or mountvolume, a new dir is created each time, leaving empty placeholders. (i.e. remounting the volume HaikuData results in the creation of /HaikuData1, 2, 3, 4, etc.).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 21:39:48 +00:00
Maurice Kalinowski
7db9e218e4 julun+mauricek:
* rc uses a global instance of BResources. On destruction it calls Unset() of the BFile member fFile. BNode::Unset then calls close_fd(), which parses the static global DescriptorMap to actually close the descriptor. However on Cygwin the DescriptorMap has been destroyed already for some reason, thus accessing it is invalid. The "fix" is to put the map on the heap and delete it as soon as it gets empty. This way the global BResources instance can be freed without a crash.
   * If someone likes to review, feel free to, it didn't cause any issues here


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 21:39:38 +00:00
Maurice Kalinowski
59c40b2f95 julun+mauricek:
* Cygwin needs some additional defines compared to other platforms
   * Additionally stpcpy and strcasestr are unknown on Cygwin. Thus we need to use the one from our posix library.
   * ECANCELED is not defined on Cygwin, so only add error in case it is.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 21:39:13 +00:00
Axel Dörfler
b4395038ee * Replaced the sAreaHashLock with an rw_lock.
* As this was the last user of the READ_COUNT/WRITE_COUNT definitions in
  vm_priv.h, I removed those as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 16:10:52 +00:00
François Revol
8881176ff3 A module that hooks into the debugger to provide it with a demangle() so at least when using C++ in the kernel stack crawls are meaningful.
It does its job by using part of libsupc++, with fake malloc and friends to make sure it won't double fault.
Works here, but cp-demangle must be extracted by hand from the lib, can't get the rule to work as I want, Ingo ?
Maybe using it directly without malloc hack would be ok with 16KB buffer, but I'm not sure of that.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 16:08:16 +00:00
Ingo Weinhold
4e99b4683e * Fixed kernel tracing.
* Re-added tracing for cache creation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 15:55:51 +00:00
Ingo Weinhold
e6bd90c58d * bfs_fsync() was the only place which could cause the
fs_vnode_ops::write_pages() to be called with fsReenter = true. Since
  this is no longer the case, the argument has become superfluous. For
  read_pages() it always was. Removed the argument from the functions
  and all functions that propagated it.
* Some whitespace at the end of lines was removed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 15:47:47 +00:00
Axel Dörfler
4ed05c6869 * Replaced the simplistic semaphore based R/W lock in the vm_address_space with
the new rw_lock locking primitive.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 15:45:40 +00:00
Axel Dörfler
190712ced9 * file_cache_sync() no longer needs the file system's lock.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 15:03:41 +00:00
Axel Dörfler
fe08828a3c * The identify_cookie was allocated unchecked, spotted by Stippi.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 14:53:15 +00:00
Axel Dörfler
5d0a5f7cac * The bfs_shell needs to include <new> as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 11:59:47 +00:00
Axel Dörfler
082bae1aa5 * bfs_fsync() no longer grabs the Inode's read lock - instead, Inode::Sync()
will take care of the locking.
* Use new(std::nothrow) over new, and malloc (only in kernel_interface.cpp);
  the kernel_cpp.h header isn't really necessary anymore, so there is no reason
  BFS should continue to use it.
* Removed superfluous NULL checks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-23 11:56:08 +00:00
Ingo Weinhold
7c27db095e Typo spotted by Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 20:58:23 +00:00
Ingo Weinhold
5c99d63970 Merged branch haiku/branches/developer/bonefish/vm into trunk. This
introduces the following relevant changes:
* VMCache:
  - Renamed vm_cache to VMCache, merged it with vm_store and made it a
    C++ class with virtual methods (replacing the store operations).
    Turned the different store implementations into subclasses.
  - Introduced MergeStore() callback, changed semantics of Commit().
  - Changed locking and referencing semantics. A reference can only be
    acquired/released with the cache locked. An unreferenced cache is
    deleted and a mergeable cache merged when it is unlocked. This
    removes the "busy" state of a cache and simplifies the page fault
    code.
* Added VMAnonymousCache, which will implement swap support (work by
  Zhao Shuai). It is not integrated and used yet, though.
* Enabled the mutex/recursive lock holder asserts.
* Fixed DoublyLinkedList::Swap().
* Generalized the low memory handler to a low resource handler. And made
  semaphores and reserved memory handled resources. Made
  vm_try_resource_memory() optionally wait (with timeout), and used that
  feature to reserve memory for areas.
...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 20:36:32 +00:00
Karsten Heimrich
12fd6cc2e7 * move libprint sources into libs, as it is a 3rdparty lib
* move libprint headers into libs headers folder accordingly
* merge all shared folders sources into kits print, we might build later on a
  real print kit, propably also to access cups from an nicely API, atm static
* move all shared headers into private print, also pr_server.h from interface
* adjust build to work with the changed folder layout



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 20:30:14 +00:00
Axel Dörfler
467acc16f5 * Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 17:57:00 +00:00
Axel Dörfler
33f9067b36 * Started using the I/O scheduler -- disabled it for now, though, as it doesn't
really work yet (there are some bits missing in the IORequest and IOScheduler
  to able to use them this way).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 16:31:35 +00:00
Axel Dörfler
6835a76dfe * Now supports formatting file devices as well as partitions.
* Fixed crash when it couldn't find the device.
* Added a "-l|--list-types" option that list all file systems that support
  initializing (currently only BFS).
* Added a "-q|--dont-ask" option that prevents mkfs from questioning your
  command :-)
* Fixed return value - would return failure to the shell when it actually
  succeeded and vice versa.
* Improved/clarified some output and fixed spelling errors.
* Errors now have the command name as prefix, as that's how it is usually
  done (and very useful for batch processing).
* Cleanup, though I kept the FsCreator class which is kinda superfluous.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 14:11:54 +00:00
Axel Dörfler
6cc43bfbb0 * _user_find_partition() did not work for partitions (only for devices), as it
did not set the "devicesOnly" flag to false when calling RegisterDevice().
* ddm_userland_interface.cpp incorrectly wrote to userland memory when it
  assigned "neededSize" in several places.
* Replaced on-stack path with the UserStringParameter class where appropriate.
* Made the UserStringParameter class castable to char*.
* Minor cleanup in KDiskDeviceManager.cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 14:05:47 +00:00
Stephan Aßmus
ebdb1a612b Just small white space cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 11:03:03 +00:00
Stephan Aßmus
ea021c679f Clicking on a menu item that already has an open submenu will close the
sub menu and quit menu tracking. This closes #1826. I tested a bit with
various different menu situations and there seem to be no negative side
effects.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 10:50:34 +00:00
François Revol
dcd20e9d16 forgotten -fno-pic makes arch_elf.cpp give the correct pointers to dprintf instead of garbage.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 01:56:33 +00:00
François Revol
9a486099e8 better english, tell about rela relocs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 01:11:45 +00:00
François Revol
9f8e918d80 The .dynamic section should be both part of the data and dynamic segments!
This makes the kernel loadable by the bootloader, which does load it, and all the modules \o/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 00:46:07 +00:00
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
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
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
Stephan Aßmus
9e46a45d4f Added support for some 3ivx streams for the time being, until the 3ivx codec
works or has some convenient way of integration.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 15:38:05 +00:00
Stephan Aßmus
b66837d4cd Better debug output, print the error string when failing to get a Reader or Decoder.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 15:30:29 +00:00
Michael Lotz
c6bb6dfcf0 Remove the explicit PCI interrupt configuration. Not yet sure it will be required later on anyway. Should fix the build of non-x86 targets.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 14:52:10 +00:00
Stephan Aßmus
85db8e8380 In my BSlider changes, I changed the behavior of GetPreferredSize(), which
previously did never shrink the slider horizontally. This broke a couple
apps, so I added it back, although I don't quite agree that this is the correct
behavior. Apps using the new layout system are not affected though, so I
guess it is alright. Should fix #2530, although I didn't test it yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 12:39:14 +00:00
Stephan Aßmus
fa55277509 In BeOS, BView::Bounds() does the owner lock check. In Haiku, it does now
too. Removed the check in Frame() accordingly, because that uses Bounds().
Removed some code left overs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 12:36:26 +00:00
Jérôme Duval
45bf857f8d usb devices and vendors list from NetBSD version 1.502
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 11:41:32 +00:00
Jérôme Duval
cfd62a38e0 merging acpica-20080701 into trunk
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 11:09:30 +00:00
Jérôme Duval
e929b415fc update to tzdata2008d
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 10:47:57 +00:00
Jérôme Duval
82e3aced80 updated freetype to 2.3.7
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 10:41:42 +00:00
Jérôme Duval
1ef720e9b1 update pci ids
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-19 10:19:01 +00:00
Michael Lotz
69dddbdea1 Initial work towards supporting IO APICs. This cannot work for PCI interrupts
though until we use ACPI for proper PCI IRQ routing through the IO APIC.
Therefore the IO APIC code path is not yet enabled and the IO APIC isn't used.
ISA interrupts would work though, as would PCI interrupts if you'd hardcode
them for your specific configuration.
Note that this change also modifies some parts in the bootloader and in the PIC
setup to make local APICs available even on non-SMP systems. This causes APIC
timers to be used instead the normal PIT if it is available (also on non-SMP
configurations).
Also fixes some general errors in SMP and PIC code as well as some code cleanup.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-18 23:19:41 +00:00
Stephan Aßmus
84c9d73d7d In the B_MOUSE_MOVED message, "where" is supposed to be in window coordinates
while "be:view_where" is in view coordinates. We made the mistake of having
them both be in view coordinates. This caused a problem for example in Vision.
(#2460)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-18 22:34:38 +00:00
Axel Dörfler
aef87862a4 * Added support for generic drivers.
* If init_driver() fails, the device manager now prints a message to syslog.
* device_node::CompareTo() was broken: it never correctly compared the last
  attribute. This could cause duplicate nodes.
* Removed superfluous white space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-18 17:12:27 +00:00
Axel Dörfler
6969690afe bonefish + axeld:
* Moved the old I/O scheduler code into the device manager, and replaced its
  contents completely :-)
* Implemented the DMA and I/O requests/scheduler framework - for now in C++
  only. It's a work in progress and not used anywhere yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-18 14:39:46 +00:00
Axel Dörfler
df1b333aa5 No wethers in here anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-18 14:37:23 +00:00
Axel Dörfler
af4d15c72a * Removed I/O scheduler knowledge from devfs - it will be moved into the
drivers that need it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-18 14:35:47 +00:00
Michael Lotz
541959e00a Add (not really necessary) locking of the sMountMutex in case of KDEBUG to keep the assert in find_mount() happy.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-18 02:07:08 +00:00
François Revol
a440169494 - fix def
- calculate ram ranges, 1 for st ram, one for fast ram if available. The kernel won't differentiate yet though, we'll have problems with DMA later on...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-18 01:11:59 +00:00
Stephan Aßmus
f779adc692 mmlr + stippi:
In my last row of changes I removed a call to ResizeToPreferred()
in SetLimitLabels(). It is confirmed that the BeOS implementation
is doing it and some applications rely on it, like our own Mouse preflet.
This closes #2526.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-18 00:06:28 +00:00
François Revol
36265c4de7 - print vars of interest to help setup mem map
- shuffle memory map
- set up transparent translations: first 32MB of RAM and last 16MB for IO space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 23:56:22 +00:00
Stephan Aßmus
6eeea348d0 Also destroy the query lock in the Volume destructor.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 20:54:11 +00:00
Oliver Ruiz Dorantes
41da6509b2 - Add handling of some events taking part on the pairing process
- Rename event structures to be consistent with another remaining ones
- Fix typos
by Mika & Oliver




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 20:44:09 +00:00
Michael Lotz
741b3d9004 Use B_RGBA32 instead of B_RGB32 when getting vector icons. Should fix bug #2525.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 19:32:57 +00:00
Michael Lotz
84717c2c61 bonefish+mmlr:
Fix kernel printing of unsigned 64bit datatypes with the highest bit set. They
would previously be converted to a signed type and were then handled wrongly.
Use the sign flag to properly decide when to use casting to a singed type.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 19:26:09 +00:00
François Revol
87f9eb4682 Make sure debug output will wrap at 80 cols as the atari VT52 emulation doesn't do it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 02:38:23 +00:00
François Revol
3d5d990815 machine != platform
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 02:14:01 +00:00
François Revol
566ca582ba Fix 030 code. Seems we need to force gas to understand we want 030 code there, -m68030 didn't help.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 01:40:36 +00:00
Axel Dörfler
eaf71fbdb6 * Build fix: coreutils had a replacement for dirfd().
* Made DIR argument const in dirfd().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 01:22:13 +00:00
Axel Dörfler
13ea2be597 * Since cache_io() can now work with NULL buffers, I resurrected prefetching
using it.
* IOW cache_prefetch_vnode() should work again now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 01:10:18 +00:00
Michael Lotz
51c99056b5 Make the launch_speedup module compile again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 01:03:12 +00:00
Michael Lotz
d73327e274 Make dirfd() publically available. It used on other systems as well it seems.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 01:01:52 +00:00
Stephan Aßmus
441ad0b87e * Don't continue with initializing a partition if the user cancelled the
parameter panel... Doh!
* Force update the disk view when rescanning the disks (a newly initialized
  partition will now also show the correct name in the DiskView).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 01:00:49 +00:00
Stephan Aßmus
d63b9e14a0 I think the ListPopulatorVisitor gets BDiskSystems allocated on the stack,
so tracking the modification preparations is both unnecessary and
as canceling is performed on a stale pointer...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 00:46:11 +00:00
Stephan Aßmus
2570af9d13 Accidentially removed one preparation/cancellation too many. Added it back
but cancel only if preparing was successful.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 00:32:26 +00:00
Stephan Aßmus
a9cc6c1e3d The modification preparations were not properly maintained which could
cause all kinds of trouble when finally trying to initialize a partition.
In various situations, the disk would already be prepared for modifications
in which case PrepareModifications() will return an error when called again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 00:27:36 +00:00
Stephan Aßmus
065e9c8f80 Updated TODO, I could remove some items.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 00:25:59 +00:00
Axel Dörfler
f97fa70dfb * Build fix: the AGP-GART bus manager also used vm_page_allocate_page_run().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 00:10:52 +00:00
François Revol
b092ec2850 030 version of transparent translation init.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 00:03:38 +00:00
Stephan Aßmus
3cd9fb7518 * Calculate correct invalidation rect in SetBarThickness()
* Improved ThumbFrame() for B_TRIANGLE_THUMB, too high horizontal slider
  had the thumb along the bottom and not on the bar.
* Improved triangel thumb drawing, the vertical drawing did look so good
  yet, I also put the triangle on the right side, it looked weird on the
  left and it reverted the hashmark meaning too.
* Small code cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 23:49:28 +00:00
Axel Dörfler
50baef55f2 * Removed some old working_set/page daemon stuff from the address space.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 23:36:25 +00:00
Axel Dörfler
6db6b628d6 * Added B_PHYSICAL_BASE_ADDRESS address specification for anonymous areas.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 23:32:25 +00:00
Axel Dörfler
736352dcf5 * Added [un]lock_memory_etc() versions that accept a team_id as first argument.
This allows drivers to lock the memory outside of the original team context.
* create_area_etc() got a struct team as first argument, but that should have
  been a team_id.
* Removed delete_area_etc() - there is already vm_delete_area() doing the same
  thing.
* Renamed vm_get_address_space_by_id() to vm_get_address_space(), as there is
  no other method of getting an address space.
* Removed erroneous white space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 22:55:17 +00:00
Axel Dörfler
cb9191556c bonefish + axeld:
* Removed the superfluous "flags" parameter from ConditionVariable::Add()
  that we forgot there when we moved the flags field from
  ConditionVariableEntry::Add() to Wait().
* Using this method was therefore not a good idea - only UnixFifo did, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 22:43:50 +00:00
Michael Lotz
2293ed6941 Add missing string.h that would otherwise soon break the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 22:17:29 +00:00
Oliver Ruiz Dorantes
6e82afcc18 -Update copyright
-whitespaces cleanups 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 19:30:45 +00:00
Oliver Ruiz Dorantes
7434b76048 Add to the command manager the connection accept and reject commands
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 19:25:44 +00:00
Oliver Ruiz Dorantes
870ae24a6d Resolve allocation of multiple Messengers,(Mika Lindqvist)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 19:04:53 +00:00
Stephan Aßmus
fe5d1557e4 Also test the UpdateText() behavior.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 18:42:37 +00:00
Stephan Aßmus
1ae794159a * Changed the signature of UpdateText() to return a "const char*" (char*
really makes no sense if the pointer belongs to the derived class and
  only confuses). Note this change does not affect binary compatibility.
* Introduced a new MaxUpdateTextWidth() virtual method which is really
  necessary to handle the update text correctly in the layout.
* Introduced a new UpdateTextChanged() method which can be called to
  notify the control of a changed update text. Internally, SetValue()
  also uses it.
* Handle the width or height of the UpdateText() correctly in the layout.
  For horizontal layout, the width was forgotten to be included in
  GetPreferredSize(), for vertical layout, it was completely broken before.
* Handle invalidation correctly when the UpdateText() changes.
* Remove the arbitrary insets for labels from the border the control. This
  makes it easier to align the control's labels with other controls.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 18:37:44 +00:00
Jérôme Duval
06688259b6 fix alignment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 17:36:27 +00:00
Stephan Aßmus
8995071f07 The vertical slider is now at least functionally working, although the rendering
code needs some love.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 15:55:58 +00:00
Stephan Aßmus
f898f8af47 If the user specified a hashmark location other than B_HASH_MARKS_NONE, draw
at least two hash marks, even if the hash mark count has never been configured.
Also means the minimum hashmark count is 2 instead of 1 as before. I think this
behavior is more what one would expect, I turned on hashmarks and wondered
why nothing happened until I realized I needed to configure the count as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 15:15:24 +00:00
Stephan Aßmus
58ecd48c0f Added a test for BSlider
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 15:06:13 +00:00
Stephan Aßmus
423b124450 First round of BSlider fixes to be more layout friendly:
* Improve the minimum size calculation and cache it.
* Invalidate the layout on various property changes that require it.

Vertical BSliders are very broken... that's up next.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 14:41:10 +00:00
Stephan Aßmus
cdcfa5945d * Added layout friendly constructor
* Use constructor lists for initializing members
* Simplified initial SetBarColor()
* Update the offscreen view with ViewColor() and LowColor(), someone might
  have changed it after AttachedToWindow() was called.
* Cleanup here and there


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 13:46:05 +00:00
Rene Gollent
2cfee16a9e Build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 18:26:40 +00:00
Stephan Aßmus
4c28a7375d mmlr + stippi:
Use B_RGBA32 if you mean that instead of B_RGB32. The IconUtils could be
changed to either refuse B_RGB32 or give them an invalid alpha channel
with just B_TRANSPARENT_MAGIC_RGBA32. That would make that mistake more
obvious.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 18:20:01 +00:00
Stephan Aßmus
f01b70d098 mmlr + stippi:
Found an incompatibility with BeOS, where Haiku behaves correctly, though,
after our changes: The alpha channel of B_RGB32 bitmaps is ignored, but
B_TRANSPARENT_MAGIC_RGBA32 pixels are considered fully transparent. In BeOS,
B_RGB32 are simply treated as B_RGBA32, but only in B_OP_ALPHA. We have
added a comment as well as the code that would enabled the BeOS behavior.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 18:18:07 +00:00
Axel Dörfler
d421644512 * Offloaded the data source retrieval into another thread for more accuracy.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 17:10:52 +00:00
Axel Dörfler
46fa06b554 * Made the network I/O byte per second computation more accurate.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 17:09:08 +00:00
Stephan Aßmus
0634c42f2c Small code and comment cleanups as well as clarifications.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 17:06:14 +00:00
Stephan Aßmus
96c7800295 Rearrange Painter::_DrawBitmap() so that the optimized codepaths for unscaled
drawings are used for bitmaps that needed to be converted to B_RGBA32.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 16:46:39 +00:00
Axel Dörfler
706b0852bd * Fixed a possible overflow issue - for some reason, the page (and other)
counter are int32 in system_info.
* This fixes the new issue Bruno saw after the previous fix of bug #2140.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 15:59:26 +00:00
Axel Dörfler
84e23a5d08 * DataHistory::ValueAt() now interpolates between two values in case the time
doesn't match exactly one data item (before, it would have returned the
  value of the closest but earlier value).
* This almost removes the effect that the older values seem to change with
  every refresh (because the time did not always match exactly)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 15:55:28 +00:00
Stephan Aßmus
fe71730a9c Add one more optimization for an often used case of bitmap rendering.
B_RGBA32 and B_RGB32 in B_OP_OVER no longer go through the generic AGG code
path, but have an optimized version now, as long as the bitmap is not scaled.
B_RGB32 needs to handle B_TRANSPARENT_MAGIC_RGBA32, while B_RGBA32 works just
like regular alpha blending.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 15:41:03 +00:00
Oliver Tappe
b0387fe2bb Fix problem with openssh failing to connect to OpenSolaris and Zeta servers:
* we need to initialize c_ospeed and c_ispeed, as a value of 0 means 
  'hangup' - which is not a good default, I suppose


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 15:09:32 +00:00
Stephan Aßmus
e87506af4d * Implement SetFont() and invalidate the layout. More controls should probably
do this.
* Fix build, appearantly I made a last minute change in Draw()...

BTW, confirmed that adding virtuals declared in the base class is ok for
binary compatibility.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 13:55:44 +00:00
Stephan Aßmus
4d2baf30df * Small coding style improvements.
* fPreferredSize was not initialized for the archive constructor.
* Added comment to archive constructor, because I was wondering how
  the default button status was reconstructed or the archive code path.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 13:23:29 +00:00
Stephan Aßmus
ee2a347385 Minor cleanup again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 13:22:29 +00:00
Stephan Aßmus
d3fe87ce70 * Cache a fPreferredSize following the example of BButton. Changed
GetPreferredSize() accordingly.
* No longer adds margins to the left/right side and top/bottom. These will
  make it difficult to make exact visual alignments with other controls and
  labels.
* Invalidate the layout in SetText().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 13:20:26 +00:00
Stephan Aßmus
52daa631a5 Added comment about possibly invalidating the layout when changing the font.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 13:17:52 +00:00
Stephan Aßmus
2a739c3115 Insignificant cleanup and comment typo fixes...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 13:17:20 +00:00
Ingo Weinhold
0629fe02b3 Properly round the partition size in
get_default_partition_content_name().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 11:28:18 +00:00
Axel Dörfler
8c121d2ca1 * Fixed the bug described by Salvatore: since we let BFS open directories with
read/write access, we shouldn't let it truncate the directory B+tree...
* Also fixed allowing truncation in read-only mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-14 23:23:16 +00:00
Stephan Aßmus
eb91d0058d * Whether an audio and/or video node is used is now more explicit. The audio
node can now also be turned off for videos that don't have audio.
* The PlaybackManager currently has the "no audio" support added in a not
  quite so nice way, will have to think about something, this is just quick
  and dirty to get it going. There is just two places where the audio time
  needs to be ignored, because it remains at zero.
  
-> Especially when using OSS, the seeking latency will be much reduced when
  playing videos that have no sound.

* The Controller now maintains the frame it wanted to seek to and does not
  forward "position changed" to other listeners as long as the seek frame
  has not been reached. This fixes the slider jumping back to the old position
  for a bit until jumping back to the seek frame. It also fixes another
  problem when switching to the next file. Because the total duration is
  already adopted while the old clip is still playing within the seek latency,
  the current position jumped to the new relative position, while it is
  still refering to the position within the old clip. So both seeking and
  switching clips looks much smoother now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26415 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-14 21:58:07 +00:00
Fredrik Modeen
67ca609fdc small updates
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-14 19:53:39 +00:00
Fredrik Modeen
574759641e BJoystick test app. A updated Stickit demo app the original article included
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-14 19:14:23 +00:00
Axel Dörfler
badcd9dbc7 * Popup menu is now sticky - this should probably be the default of all menus
when "sticky menus" is selected in the menu preferences (just in case we still
  have that setting...). Oh, this also fixes bug #2315.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-14 17:33:10 +00:00
Axel Dörfler
51591198d6 * Now use two views when starting (one memory, one CPU usage). The third view
that is added to the window is a networking monitor, all later views default
  to CPU usage again.
* DataSources can now share a single adaptive scale, so that they become
  comparable in a single view.
* The networking in/out sources are now using this feature.
* DataHistory::ValueAt() now uses binary search to find the right data_item;
  this also fixes bug #2140, and makes it possible to change the refresh rate
  (which is not yet implemented, though).
* Zooming the timeline now also works by clicking the first mouse button and
  dragging the mouse around (instead of only via the scroll wheel, in case you
  hadn't noticed yet :-)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-14 17:29:02 +00:00