Commit Graph

19868 Commits

Author SHA1 Message Date
Axel Dörfler
43711de9d2 * Added BSD specific errno.h for EDOOFUS (yeah, I know, great error code...)
* Added sigmask() macro.
* Fixed libutil.h I broke yesterday: it's thought to add functions only if
  you've included some other headers before; added the correct header guard
  we're using for our sys/param.h.
* Added pidfile.c to the build.
* Fixed warning in realhostname.c, and pidfile.c.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 16:20:16 +00:00
Michael Lotz
2362422c38 Do not just overwrite the thread state when suspending a thread since this easily causes problems on SMP systems (triggers the panic in the scheduler).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 16:18:19 +00:00
Michael Lotz
f87d72d788 Introduce a B_NO_LOCK_VECTOR flag to be used with install_io_interrupt_handler().
When specified it desigantes that the interrupt handler should not lock the
vector with a spinlock when executing the installed interrupt handlers. This
is necessary to allow the same interrupt vector to be handled in parallel on
different CPUs. And it is required for the CPU halt to work synchronously when
there is more than one AP CPU. Though the acquire_spinlock() should cause IPIs
to be processed, only this fixed the SMP_MSG_FLAG_SYNC problem for me.
Not locking is safe as long as it is guaranteed that no interrupt handler is
registered or removed while the interrupt handler is running. We can guarantee
this for the SMP interrupt handlers we install in arch_smp_init() as they are
never uninstalled. Probably this flag should be made private though.
Restored the SMP_MSG_FLAG_SYNC when entering the kernel debugger.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 16:16:17 +00:00
Stefano Ceccherini
13bba42efc Previous revision break all sorts of stuff. Fixed. hopefully
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 16:02:13 +00:00
Axel Dörfler
a32a4683ff * Implemented flock() semantics to the advisory locking backend. Not tested
(must also compare to BSD; I've looked at their sources, but I might have
  missed something).
* Added sys/file.h and the flock() system call.
* common_fcntl() could forget to put back the file descriptor on some error
  conditions (I guess we should introduce and use a DescriptorGetter class).
* Cleaned up fcntl.h, moved the BSD extensions S_IREAD and S_IWRITE to
  sys/stat.h where they belong, and added the missing S_IEXEC to them.
* Added some more comments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 15:37:31 +00:00
Axel Dörfler
e5bc2a9e7a Added BSD extension vsyslog() - is also found on Linux.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 15:31:16 +00:00
Jérôme Duval
6b1fc6fcb7 added a translator for EXR images, based on www.openexr.com
This builds only with GCC 4, mostly because it needs libstdc++ v3


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 13:01:23 +00:00
François Revol
82610ec8eb * get rid of ppc stuff
* possible types of exception frames


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 11:39:28 +00:00
Axel Dörfler
5905a0ae34 * Fixed _{kern|user}_{read|write}[v]() functions to not move the descriptor's
file position in case an offset was specified.
* Reverted r23828-r23830 in File.cpp: don't fix the symptoms but the cause
  of the problem (hey, that has to be in the kernel, right? :))
* Cleanup of File.cpp, removed OpenBeOS namespace.
* Moved user_fd_kernel_ioctl() to the section where it belongs to (that
  function should be renamed, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 23:50:51 +00:00
Stephan Aßmus
40da55c3ad * the BeBook documents WriteAt() and Write() to differ analogous to
ReadAt() and Read() with regards to the file position. Ie, WriteAt()
  is not supposed to modify the data pointer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 18:28:26 +00:00
Bruno G. Albuquerque
835b8e688a This fixes my previous fix. The position to read can be completelly random so I have to first cache the current
position before calling _kern_read() and reset it afterwards.

*NOW* this fixes bug #1200 in all cases.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 17:59:33 +00:00
Bruno G. Albuquerque
3debfe5186 ReadAt() should not change the file position. Tested under R5 and Zeta. This fixes bug #1200 (Received emails are
missing attributes).

I hope nothing relies on the previously broken behaviour.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 17:38:55 +00:00
Axel Dörfler
e6b30aee0f Minor improvements for the BSD compatibility library:
* Added {get|set|end}usershell() functions.
* Define MAXLOGNAME, and L_SET, L_INCR, and L_XTND.
* The pidfile stuff in libutil.h is now included, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 17:38:09 +00:00
Axel Dörfler
987de53746 * Also replaced the cpu store's lock with a recursive lock in order
to fix bug #1731.
* However, it turns out that depot destruction obviously doesn't work
  correctly, at least we keep partial or full slabs around when we're
  using them (which causes the code to panic).
* Therefore, I've now disabled depots completely, until I find the time
  to really work on that code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 14:20:33 +00:00
Stephan Aßmus
96418817f9 * added a PrintToStream() method
* added optional tracing for the main operations
* fixed bad pointer arithmetic when reallocating/moving the object's data
* it was impossible to remove the very first space via _RemoveSpaces()
* added a little more variaty to error return codes for some
  functions to make them a little more helpful

-> This fixes the bogus space values in DriveSetup (#1737)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 12:38:15 +00:00
Axel Dörfler
f033aee165 * Added B_NOT_SUPPORTED, B_KERNEL_READ_AREA, and B_KERNEL_WRITE_AREA to
HaikuBuildCompatibility.h; this fixes building agp_gart and the intel
  extreme driver for BeOS.
* Added sockaddr_storage to HaikuBuildCompatibility.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 12:18:55 +00:00
Axel Dörfler
45b17b80d1 * Temporarily switched to a recursive lock for the depot.
* While this is not a really good idea for a lock with supposedly little
  contention, but it'll fix bug #1731. I haven't tested it yet, but will
  do so in a minute :-)
* I will need to rework the slab anyway so that it's possible to use it
  as a replacement for our heap, and then I'll switch back to a benaphore
  again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 12:12:54 +00:00
Axel Dörfler
5ccd99565d Benaphores are nice and fast, but they aren't useful for debugging at
all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 23:05:26 +00:00
Michael Lotz
3037952b5f Only put B_PCI_MODULE_NAME if we succeeded in getting the module. Fixes booting on non-PCI systems (i.e. QEMU with -M isapc).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 21:49:28 +00:00
Oliver Ruiz Dorantes
308050e89a Update LocalDevice class with basic bluetooth_server comunication. Server code still to come. Nothing except the driver tested at the moment... I hope after these nothing is broken
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 21:24:17 +00:00
Oliver Ruiz Dorantes
c89827983a Add bluetooth transport drivers jamfiles
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 20:55:18 +00:00
Oliver Ruiz Dorantes
dae43edd0a Clean ups, and removed warnings. Some definitions moved to more generic headers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 20:48:56 +00:00
Stephan Aßmus
8d2c63c703 * To be able to call BPartition::GetPartitioningIngo(), you need to call
PrepareModifications() on the parent BDiskDevice first. Hm. I should
  probably reorganize things a bit.
* Selecting these empty spaces is still not supported.
* Fixed inserting empty spaces in the DiskView at the correct index.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 18:02:04 +00:00
Stephan Aßmus
56d794d68e * implemented detecting and displaying available space on devices and
partitions - I couldn't test it yet, but what is definitely missing
  is being able to select these spaces to create new partitions on them
* fixed the bug that if you select a partition on another disk, the
  disk view does not switch to the new disk. (I was comparing disk
  pointers, but since I deleted the old BDiskDevice instance first, the
  new one got assigned the same pointer... at least it appears I am not
  leaking memory anywhere... :-))


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 14:50:06 +00:00
Ingo Weinhold
90e3bbf0cb Added optional kernel tracing for sending BMessages. Currently only the
destination of the message and it's "what" field are stored. It might be
nice to also get some info about its fields -- maybe as an additional
option.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 12:35:00 +00:00
Ingo Weinhold
0c6f7530ef syscalls.cpp also includes syscall_numbers.h, now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 12:23:28 +00:00
Ingo Weinhold
a02bbcd455 Renamed "printteam" switch for "traced" command to "--printteam".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 12:21:41 +00:00
Ingo Weinhold
34aae00fe9 Syscall tracing no longer fetches the string parameter of the
_kern_ktrace_output() syscall, since it will be stored in a separate
entry anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23807 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 12:15:00 +00:00
Ingo Weinhold
7bb85c7b55 Clarifying comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 12:11:02 +00:00
Axel Dörfler
0148fb2dbc Accidently didn't use reference but an ordinary variable - thanks to Marcus
for reading my commit and noticing! :-)
Using the test application I could have found that bug; that codepath is
currently not used in Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-31 22:49:11 +00:00
Michael Lotz
3fa048c0a6 When starting the other CPUs from the bootloader we did not wait for any
confirmation after sending off the startup IPIs. We simply moved on and setup
the temporary stack address for the next CPU to be started. With this it was
possible that the trampoline code did not manage to load the address before
we overwrote it. So for configurations with more than two CPUs it was possible
that two CPUs were setup to the same kernel stack which could have caused all
sorts of things - most likely a tripple fault and a reboot. On real hardware
this seems very unlikely but it was easily reproducible with QEMU and -smp >2.
We now use the shared trampoline stack to implement a notification mechanism.
The trampoline code will clear the stack location variable once it has loaded
everything it needs from the trampoline stack. On the other side
smp_boot_other_cpus() will wait for this variable to be cleared after it sent
the startup IPIs so that it knows when it can safely move on and overwrite the
area to boot the next CPU.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-31 22:15:52 +00:00
Axel Dörfler
8708a92e8d Confirmed through testing: the X driver actually does it incorrectly,
the GTT is not part of the stolen memory. However, the BIOS popup seems
to be - removing that page solves the flickering overlay when its buffer
contained it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-31 18:51:29 +00:00
Axel Dörfler
78fa3affbc * Overlay on the G33 does not work anymore in the secondary ring buffer;
we now always only use the primary ring buffer.
* Removed secondary ring buffer allocation and member fields.
* Increased size of the primary ring buffer to 65536 bytes.
* The bytes per row register is computed differently for 9xx chips.
* On G33, the overlay does not need a physical address anymore, so we
  don't pass B_APERTURE_NEED_PHYSICAL to the allocation anymore for that
  device.
* intel_free_memory() accidently added the aperture base to the allocation
  and would therefore never free any memory.
* INTEL_RING_BUFFER_SIZE_MASK was shifted one bit to the right, didn't
  cause any harm with our buffer sizes, yet, though.
* With these changes, the driver runs stable on a G33 chipset (I have not
  yet tested the hardware cursor, though, it might need some work, too).
  The only known issue left is that overlay flickers a bit if its buffer
  is partially backed up by reserved and allocated memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-31 18:28:48 +00:00
Axel Dörfler
d23e60e77b * Forgot to set the size in Aperture::BindMemory() in case it was allocated
memory (so no memory was ever bound in that case).
* Disabled debug output in the Intel GART module.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-31 18:15:30 +00:00
Axel Dörfler
103d05f3c2 * Renamed GART's deallocate_memory() to free_memory().
* Removed "physical" parameter of GART's bind_aperture() - I don't think this
  be of use to anyone.
* Fixed binding/unbinding pages in the Intel GART driver; I accidently shifted
  the page offset twice.
* Actually forgot handling of allocated memory in Aperture::BindMemory().
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-31 17:54:23 +00:00
Axel Dörfler
3cec75dc33 * Debugger modules now have two methods: enter_debugger() and exit_debugger().
* The kernel now opens up to 8 debugger modules (and puts them into an array;
  maybe we'll want to switch to a doubly linked list when there is the need).
* Implemented an example debugger module that prints a stack trace of the
  current thread when the kernel debugger is entered (not included in the
  image).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-31 12:25:43 +00:00
Jérôme Duval
cee437c504 to take into account 16 bits colorspaces, we only use the 5 highest bits of the red channel
this fixes bug #1310


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-30 19:07:44 +00:00
Bruno G. Albuquerque
7a35b205fe Added regex implementation. using the system one results in failures when
compiling a regex. Note this is probably a bug in how MDR uses regex and not in
the regex implementation itself. This is just the simple fix while I
investigate bug #1200.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-30 12:59:12 +00:00
Stefano Ceccherini
58cf7360ca Added shortcuts to increase and decrease the font size. Since
these key combinations (ALT + +/-) can't be used on many keymaps, we 
might want to change. Moved view resizing to a private window method. 
Seems to work, more or less (ticket #1334) 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-30 12:39:28 +00:00
Stefano Ceccherini
5cc2ed98e2 Don't close a submenu if the mouse is outside the parent menu.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-30 11:34:05 +00:00
Stefano Ceccherini
9d73eec0ef Fixed a couple of problems with inserting text when there was a
selection (for example, moving around text with the mouse).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-30 10:58:04 +00:00
Axel Dörfler
3cb77ecf33 * Now checks if /etc/fortunes is a directory, and picks a random file out of
that. This fixes bug #1475.
* Now accepts file arguments (will pick a random one out of them) as fortune
  sources.
* Minor cleanup and simplifications.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-30 10:08:48 +00:00
Stefano Ceccherini
bc7e472d88 DragMessage() makes a copy of the passed message. We were leaking inside
BTextView::_InitiateDrag().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-30 09:22:49 +00:00
Stefano Ceccherini
acb25a9724 the BS button now behaves like the real BackSpace. Fixes bug #1617.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-30 09:10:14 +00:00
Philippe Houdoin
2ac009f9d6 Fixed normal window size issue for on system with more than 2 CPUs: saved normal window rect can't be
taken as-is from a previous launch time, as number of CPUs could have changed since last boot.
Size is now enforced and height is always dynamically computed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-30 04:11:27 +00:00
Axel Dörfler
73bfb57abd * We're actually using the emacs keymap by default, and that had rl_rubout
instead of rl_delete for the delete key. That was one reason for bug #1495.
* The other one was that an inputrc file at /etc was ignored, the bash would
  only check for ~/.inputrc. If changed that now such that if ~/.inputrc could
  not be read, /etc/inputrc is tried.
* Both of these changes close #1495.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-29 19:38:59 +00:00
Axel Dörfler
41d99cab60 * SetDragMessage() could be called when the mouse button was already released.
* Since it didn't check if any mouse button was pressed at the time it was
  called, it would still initiate a drag, and thus caused bug #1710.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-29 15:14:39 +00:00
Axel Dörfler
1c34b9b1f5 Work in progress (might not work for you yet):
* Now uses the AGP GART module for memory management. This greatly simplifies
  the memory handling, and memory is now actually allocated on demand,
  instead of a fixed size (stolen memory is not freed, though).
* The Intel GART module should now also work with older chipsets.
* No longer remove the GTT size from the stolen memory; this appears to have
  been a mistake in the X driver. Not sure about the BIOS popup yet.
* The AGP module (in combination with the Intel GART module) is now mandatory
  to use the Intel driver.
* Removed now superfluous settings (like memory size). Only enabling/disabling
  the hardware cursor is still supported.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-29 08:55:36 +00:00
Marcus Overhagen
3cad4dae71 Print ids in decimal.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-28 23:19:54 +00:00
Marcus Overhagen
7694461ea6 Use decimal for thread ids.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-28 22:58:02 +00:00
Marcus Overhagen
c486dde9d6 cosmetic
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-28 22:48:56 +00:00
Marcus Overhagen
fad02fc2ac Print thread ids in decimal.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-28 22:43:22 +00:00
Axel Dörfler
9ba8f58554 * Waits at the end for 2 seconds to be able to debug timeout problems better.
* Debug output now defaults to on (much more useful for debugging...)
* The receiver now stops when it got 0 bytes (signals peer is closing the
  connection).
* The random reorder stuff did not work correctly.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-28 17:35:16 +00:00
Axel Dörfler
7e6d23431c * Refactored _AdaptToReserved() out of Aperture::AllocateMemory(), as it's now
also used in BindMemory() and UnbindMemory() - before the latter two were
  just not working correctly for memory in the reserved region.
* The Aperture destructor now also frees (and unbinds) all still existing
  allocations.
* Aperture::fFirstMemory was not initialized.
* Added some more debug output.
* BindMemory()'s vertical to physical address translation didn't work correctly.
* alignment must be at least B_PAGE_SIZE in _Insert().
* bind_aperture() needs to pass the B_APERTURE_NON_RESERVED flag to
  CreateMemory().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-28 13:44:13 +00:00
Axel Dörfler
02998a5deb Wrote a test application for the GART functionality of the agp_gart bus manager.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-28 13:36:09 +00:00
Axel Dörfler
1245d1a3de The kernelemu's open_module_list() now also takes the built-in modules in to
account.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-28 13:35:27 +00:00
Axel Dörfler
481c884164 Renamed agp.cpp to agp_gart.cpp.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23771 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-28 09:57:44 +00:00
Axel Dörfler
ff6393b612 Renamed agp directory to agp_gart.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-28 09:57:11 +00:00
François Revol
68b5c8de5d * Accept 16 as fpu cookie, CT060 seems to use it.
* map haiku console colors to atari's palette.
* move the stack up for testing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-27 18:11:42 +00:00
Stephan Aßmus
0b31f902da * fix the Jamfile (and the build)... sorry
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-27 13:22:55 +00:00
Stephan Aßmus
ec103c3c38 Moved DriveSetup from preferences to apps. Changed HaikuImage script
accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-27 13:14:50 +00:00
Stephan Aßmus
a42f1086a5 Fix for being a self-contained header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-27 13:09:54 +00:00
Stephan Aßmus
e681a8f9e9 Another fix for problematic sound card setup... should have been
part of the last commit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-27 13:09:11 +00:00
Stephan Aßmus
a29a9e05fb I think this change fixed some trouble I had with MediaPlayer on a system
with an unsupported sound card or the like, the fSoundOutput initialization
is checked in more places.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-27 13:08:14 +00:00
Stephan Aßmus
133f20b00b * fixed a little GUI layout issue
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-27 13:06:28 +00:00
Stephan Aßmus
5a27d5c8a9 cosmetic
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-27 13:05:19 +00:00
Stephan Aßmus
ebf682ef49 * added some more details to TODO file
* a little cleanup in PartitionList to respect the 80 chars/line limit
* added PartitionList::AddSpace() and alternative PartitionListRow
  constructor in preparation for support of empty spaces on devices
* refactored a _InsertIndexForOffset() method, the insertion index is
  now based on offset instead of partition_id (untested)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-27 12:58:29 +00:00
Stephan Aßmus
b48029b7a9 * just a few style cleanups, reordered the method implementations to match
the declaration in the header


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-27 10:30:34 +00:00
François Revol
9a507b45d4 Some reorg.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-27 01:39:28 +00:00
Philippe Houdoin
46b5cc220a Corrected GLRenderer's instantiation function name.
(I guess frenchies are guilty here, as mmu_man's ThemeAddOn have the same disease...)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-26 22:51:51 +00:00
Ingo Weinhold
62c35bb99a Corrected "threads" usage text.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-26 22:48:05 +00:00
Philippe Houdoin
427f2de89a Get rid of this dummy module from the dark ages of my aborted netstack
redesign.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23755 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-26 22:41:06 +00:00
Axel Dörfler
3adccb1935 * More or less completely rewrote the AGP bus manager.
* It now also serves as a generic GART manager and accepts bus modules as well
  as custom modules of graphics drivers if they want to (could be used for the
  Radeon PCI GART stuff, for example).
* Implemented GART support module for Intel i965 and G33 chipsets (the other
  Intel chips will come later).
* Renamed agp bus manager to agp_gart to reflect its new functionality (even
  though the AGP functionality is already outdated (due to PCIe), the GART
  stuff remains current).
* Adapted existing users of the AGP bus manager to the API changes.
* Not very well tested yet...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-26 22:18:52 +00:00
Axel Dörfler
d75c88206e * Simplified usage of the INTEL_TYPE_xxx constants.
* Added some defines needed when playing with the bridge controller.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-26 21:59:02 +00:00
Michael Lotz
7f5698963f Add concurency handling when entering the kernel debugger. Previously there
was a race condition when more than one CPU would enter the debugger at the
same time (or rather before one CPU could stop all the others). We now use the
inDebugger variable to tell if someone is already in the debugger and then
only process inter CPU messages and retry entering the debugger.
Since sending the synchronous broadcast most of the time hung over here with
SMP enabled I removed the synchronous flag and added a simple spin to give the
other CPUs a chance to process the halt request. Added comments that explain
the reasons and a ToDo to revert to synchronous delivery once we fixed the
problem. The kernel debugger is now usable on my quad core.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-26 19:12:22 +00:00
Ingo Weinhold
f2e758e5da Added usage message for the thread-related debugger commands.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-26 18:45:35 +00:00
Michael Lotz
36b55f4694 Don't panic in case a thread is not in the wait queue of a sem anymore. On SMP
systems it can easily happen that the thread gets removed from the queue (when
it times out for example) during the time we don't hold the sem lock.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-26 18:44:23 +00:00
Michael Lotz
1b0e74fc18 Don't clobber the thread variable as we use it again. Since it always is NULL
at the end of that loop we guaranteed a crash when this special handling was
triggered.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-26 18:17:12 +00:00
Michael Lotz
a763522da6 We are not supposed to overwrite the full capability register when setting our
OS-owned bit. Otherwise we overwrite exactly the bit we later have to wait for.
Could theoretically help on legacy support issues, but I doubt it since most
hardware probably does not even use EHCI legacy support as it's normally not
needed to support full/low-speed input devices.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-26 11:17:15 +00:00
Ingo Weinhold
803a36434d * Used add_debugger_command_etc() and added a usage text for "team" and
"teams".
* "team" without arg prints info about the current team.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-26 10:47:27 +00:00
Ingo Weinhold
e03ff02033 Set team::name to the last path component instead of to the truncated
path. Makes the "teams" output prettier and "team <name>" becomes
usable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-26 10:36:20 +00:00
François Revol
82d4bfa3d7 * better debug output
* tries for real hw.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-26 02:02:23 +00:00
Michael Lotz
caeaa319ca Add the F12 kernel debugger trigger to usb_hid. Let's hope that it'll get
useful soon so that you can actually do something after entering KDL.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-25 19:39:17 +00:00
Salvatore Benedetto
de1ecdaf63 * Added necessary dummy descriptor to every endpoint created
* Implemented _RemoveTransferFromEndpoint
* Reworked _AppendChainDescriptorsToEndpoint as now every endpoint has (must have) a dummy descriptor



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-25 17:47:59 +00:00
Michael Lotz
7e80cf0096 Missed this setting of thread state which is now unnecessary. Otherwise nothing in the kernel seems to mess with the state outside of the scheduler so checking for B_THREAD_RUNNING there should be fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-25 17:37:20 +00:00
Axel Dörfler
f401eba4ae * Now supports setting a framebuffer offset as overlay address instead of a physical
pointer (as needed by the G33 chipset).
* Minor debug output improvements.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-25 16:50:52 +00:00
Michael Lotz
6761f5a660 Move the handling of still running threads into scheduler_enqueue_in_run_queue().
This should be in line with all uses of scheduler_enqueue_in_run_queue() and
simplifies a few places where it is used.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-25 15:55:54 +00:00
Michael Lotz
252fa0fc83 Unconditionally output when giving up port ownership and taking over host
controller ownership in EHCI to aid debugging USB legacy support issues.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-25 14:08:15 +00:00
Salvatore Benedetto
555d13dc9f * Implemented private method _AppendChainDescriptorsToEndpoint in order to avoid code duplication (lock needs to be added)
* Fixed _SubmitControlRequest in order to use _AppendChainDescriptorsToEndpoint


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-25 14:03:02 +00:00
Michael Lotz
d925650968 Apply the same logic as in r23731 to all other places in the semaphore code
where threads are enqueued into the run queue.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-25 13:55:17 +00:00
Michael Lotz
2f3f3d79b5 Fix the underlying problem that caused the issue of running threads being
enqueued into the run_queue again. Modified the workaround to a panic in the
scheduler so we notice when something else does the same.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-25 13:27:00 +00:00
Stefano Ceccherini
28fa064595 Added more conditional debug output, taken from the dw_info test app.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-25 11:54:35 +00:00
François Revol
770b7313c2 Typo again, no need to keep them as the format is different from R5 anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-25 00:24:03 +00:00
François Revol
907227a8df Was that a typo ?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-24 22:23:33 +00:00
Salvatore Benedetto
5f061e0b6b * More work on the finisher thread
* Reworked SubmitTrasfer method
* Implemented CancelQueuedTransfers
* Minor clean up


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-24 20:43:45 +00:00
Michael Lotz
bc1dc61522 Implement a workaround for a concurency issue on SMP systems:
A thread that just missed a semaphore and put itself into the sems notify
queue could be enqueued into the run queue by release_sem_etc() of another
CPU before the CPU running the thread had a chance to reschedule it. Therefore
there is a timeframe where a thread can be running on one CPU and already be
in the run queue again. In this case no other CPU may schedule this thread
because then it would overwrite the threads' CPU pointer which kills the rest
of the scheduler logic, smp_get_current_cpu() and everything that depends on
that (like the kernel debugger). The more CPUs you have the easier this could
happen, up to the point where it was always triggered during boot on my quad
core system. The system would freeze and you could not enter the kernel
debugger, because two CPUs thought they were the same and disabled each other
through SMP communication. This makes booting my system stable and might fix
the occasional hang on boot for other SMP systems with only 2 CPUs/cores.
I've put a ToDo comment that details this above the workaround. Maybe we
should fix this in another way. Reviews, comments and suggestions welcome ;-)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-24 15:14:10 +00:00
Stefano Ceccherini
06b5aa85b5 added a TODO
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-24 15:00:46 +00:00
Stefano Ceccherini
511c231b35 remove unnecessary code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-24 13:45:59 +00:00
Stefano Ceccherini
020cbad9d4 delete the semaphore instead of releasing it, otherwise
DirectConnected() could be called twice with B_DIRECT_STOP when closing 
the BDirectWindow.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-24 13:43:34 +00:00
Stefano Ceccherini
455a252e0d rewrote GLView.h (left out BGLScreen for now, will integrate it later),
adapted GLView.cpp to the new variable naming scheme.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-24 12:55:38 +00:00
Salvatore Benedetto
2b5d39e859 * Added force paramater to CancelQueuedIsochronousTransfers along with a TODO
* Replaced space with tab


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-24 12:53:32 +00:00
Michael Lotz
f390945174 Forgot to commit the same change in UHCI:
Notify the finisher thread after canceling transfers. It was possible that freeing the allocated
transfer resources would be delayed unnecessarily until some other transfer completed and woke up
the finisher thread. Found by Salvatore Benedetto, thanks!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-24 09:52:05 +00:00
Michael Lotz
26f2e4a061 Notify the finisher thread after canceling transfers. It was possible that freeing the allocated
transfer resources would be delayed unnecessarily until some other transfer completed and woke up
the finisher thread. Found by Salvatore Benedetto, thanks!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-24 09:51:02 +00:00
Stephan Aßmus
72f7b29018 Limit the number of stack frames we print. Infinite recursions or, even worse,
cyclic stack frames would be seriously annoying.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-23 21:47:17 +00:00
Axel Dörfler
34a95c6d57 Open AGP module in init_driver().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-23 19:26:32 +00:00
Axel Dörfler
59096777ec Accidently added overlay_i965.cpp to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-23 18:56:23 +00:00
Axel Dörfler
4dfa9e425f Some work in progress:
* set_gtt_entry() used the wrong index to fill the GTT - this could have never
  worked correctly when you specified more memory than the amount of stolen
  memory.
* Implementing maintaining resources for emulating overlay using the 3D engine
  on i965. I don't yet commit the actual overlay code, as that is a) ugly, and
  b) does not work yet.
* Moved AreaKeeper into its own header.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-23 17:50:27 +00:00
Alexandre Deckner
53a1a99de7 - small fix, the value was checked before being updated
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-23 15:17:26 +00:00
Stephan Aßmus
28ff3e2c9a * the name of an image is actually B_PATH_NAME_LENGTH long
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-23 14:58:24 +00:00
Stephan Aßmus
0644c0e333 * actually print the image name if a symbol name could not be found
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-23 14:51:20 +00:00
Axel Dörfler
2d0687ae9e * B_AVOID_FOCUS windows never got mouse clicks. This fixes bug #1652.
* Our behaviour differs a bit from how BeOS handles those windows, added a
  comment to the code which explains that, and how we could change it if we
  really wanted to.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-22 19:08:28 +00:00
Salvatore Benedetto
ea0331c6f9 * Removed cast: not needed anymore since Interval() has been moved to the base class (Pipe)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-22 18:27:44 +00:00
Salvatore Benedetto
5b6cdc4c7b * fixed memory leak: if InitKernelAccess failed data was not deleted
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-22 17:54:59 +00:00
Salvatore Benedetto
f2e973d406 * Implemented _AddPendingTransfer
* renamed trasfer_data memeber top to first_descriptor
* added data_descriptor member to transfer_data (useful for control transfer)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-22 17:26:36 +00:00
Salvatore Benedetto
27d7771a1e * Renamed fFinishTransfer to fLastTransfer (I don't even know why I called it
so in the first place)
* Renamed local variable descriptor to current in the finisher thread
* Using next_done_descriptor instead of next_logical_descriptor, as the latest
is used to keep track of all descriptors that belongs to the transfer
* Added _UnlinkTransfer private method
* Implemented _FreeDescriptorChain
* Moved endpoint pointer from the ohci_general_td structur to the transfer_data_s
structure, ad the ohci_general_td has already a transfer_data_s pointer which can
be used to the endpoint pointer reducing ridundancy.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-22 14:58:22 +00:00
Stefano Ceccherini
a08f19d598 Limit the number of tabs to 6 per window (at least for now). More tabs
are not that useful, and the terminal doesn't like it anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-22 09:54:22 +00:00
Axel Dörfler
a39bfc19fd Made the paging mechanism a bit more useful for commands: it will now wait when
the command would overwrite its own output, not always on the bottom of the
screen.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-22 08:24:35 +00:00
Axel Dörfler
6eabbacd70 * Fixed compare_blocks() function; it actually gets cached_block**.
* Added block_writer thread that continuously writes back blocks for all current
  block caches.
* A block cache now maintains the number of dirty blocks if it doesn't use
  transactions. That knowledge could also be used in block_cache_sync()...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-22 08:16:04 +00:00
Ingo Weinhold
325b88a661 * Introduced debugger command flag B_KDEBUG_DONT_PARSE_ARGUMENTS.
For commands with this flag set, the parser won't parse the
  arguments provided (it will only check for matching parentheses and
  brackets), but will pass the unparsed argument list string to the
  command instead.
* Set the new flag for the "expr" command, so one doesn't have to quote
  the expression to evaluate anymore (or put it in parentheses).
* Fixed tokenizing of quoted and unquoted strings in expression mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 23:25:34 +00:00
Stefano Ceccherini
c4eae2c1fc more renaming
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 20:41:45 +00:00
Axel Dörfler
5af13da19d * The block cache now sorts the blocks before synchronizing a transaction.
* This should speed up writing a transaction considerably.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 20:34:06 +00:00
Michael Lotz
edadb083be Ah yeah, another interesting use of BView resizeMask and flags...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 20:31:12 +00:00
Axel Dörfler
4a67038e56 * Added a new function hash_insert_grow() that grows the hash table when needed.
* Removed the public hash_grow() function again (at least for now, it's only
  private).
* Removed the newSize argument from hash_grow(); it will compute the new size
  automatically.
* The block cache is now using hash_insert_grow() instead of hash_insert()
  which should make hash lookups much faster with some 10 thousand blocks,
  also increased the initial table size from 32 to 1024...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 19:57:40 +00:00
Axel Dörfler
9f1506cb81 * Moved locking the looper from the GLRenderer class into the GLView class:
when the view is detached, fRenderer has already been released, and wouldn't
  unlock the looper anymore in GLTeapot. This fixes bug #1626.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 18:27:45 +00:00
Axel Dörfler
616e68e76c * IsLocked() now also uses the fCachedStack method that check_lock() is
already using.
* We don't have to try posting _QUIT_ more than once, as it cannot block; the
  looper is local, so direct message passing is used in this case.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 18:24:13 +00:00
Ingo Weinhold
5fa74667c5 Changed semantics of "traced" invocation without arguments. Instead of
printing the last 30 entries, it continues the last iteration, thus
making the more common use case more comfortable. The old functionality
is still available via "traced 0".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 17:59:19 +00:00
Stephan Aßmus
9d4fa2c12b * Appearantly, we are calling ScreenClipping() on some views who's parent
views don't have a valid screen clipping yet. If then later we want
  to invalidate the clipping of an entire hierarchie, the traversal stops
  before reaching some of the child views, because the assumption was that
  for any views with invalid screen clipping, their child views have invalid
  screen clipping as well. Though this might cost a little performance, we
  always invalidate the screen clipping of all child views, ignoring the
  flag of the current view. Fixes ticket #1198 (garbled screen clipping of
  E-Mail prefs and WonderBrush tool area when switching tabs).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 16:58:06 +00:00
Ingo Weinhold
b4f58d8758 Renamed syscall_parameters_info structure to extended_syscall_info (and
kSyscallParametersInfos to kExtendedSyscallInfos) and added "name"
field. Now the classes for syscall kernel tracing don't need to lookup
the syscall function symbol anymore, which speeds up printing/filtering
of those entries dramatically.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 15:29:00 +00:00
Ingo Weinhold
a54c125e37 Added experimental ktrace_[v]printf() functions to libroot. Their output
is recorded in a kernel trace entry (if tracing is enabled).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 15:10:05 +00:00
Axel Dörfler
0fc3b83496 The AutoMounter should not keep a BDirectory object around that points to the
volumes root directory when trying to unmount it. This fixes bug #1694.
Thanks to Ingo for investigating this! :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 14:45:49 +00:00
Ingo Weinhold
64fe37ee89 * AbstractTraceEntry records the team ID too, now.
* Added "printteam" switch to "traced" command, enabling the printing of
  the team ID.
* Added "team" filter to the "traced" command expression language.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 13:31:27 +00:00
Ingo Weinhold
0bf73dd2f1 Increased the maximum number of command line arguments to a more
comfortable number. Somewhat more complex "traced" filter expressions
tended to exceed the old limit easily. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 13:09:39 +00:00
Ingo Weinhold
635aca08c5 Removed unused variable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 13:06:52 +00:00
Ingo Weinhold
56213ff41a Some "traced" command optimizations:
* Made the iterator static, so that it's possible to move from the
  iteration position of the previous invocation to the current start,
  instead of always having to start from the beginning or the end.
* Filtered backward iteration:
  - Restrict the range to dump to the entries between the first and the
    last filter match.
  - Use new FILTER_MATCH entry flag to avoid applying the filter a
    second time in the print loop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 11:56:24 +00:00
Alexandre Deckner
68c0d50c01 - Minor fixes to my last BColorControl patch
- Changed Backgrounds preflet to account for the fixes in BColorControl

First commit :) Hi everybody!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 11:54:53 +00:00
Axel Dörfler
731262c6dd * Rethought fs_sync(): since we no longer deadlock when calling
vm_cache_write_modified() here anymore since quite some time, it actually
  doesn't make any sense to call the file system's "fsync" method here.
  This should make syncing all file systems much faster when many vnodes are
  in use.
* If a file system doesn't use the file cache, it can still just sync everything
  it needs to in its "sync" method.
* Added a TODO item on how to improve sync speed further, if necessary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 10:28:32 +00:00
Ingo Weinhold
6d36996620 * Fixed my fix for make_space() wrapping. It's always a good idea to
write code aligned to what one has written in the comment (or the
  other way around).
* Made trace_entry structure doubly linked, by introducing a
  previous_size member. By using bit fields, shrinking the flags field
  to 4 bits, and not saving the lower two bits of size and previous_size
  (which are always 0 due to alignment), the structure remains 4 byte
  sized and can still address the same entry size.
* kBufferSize is no longer one less than it could be.
* "traced" command:
  - Use static variable for the iteration state rather then cluttering
    the temporary debug variable name space.
  - The <count> parameter can now be negative, in which case the entries
    before (and including) <start> are printed.
  - Added a new optional parameter, specifying the maximal number of
    entries to be filtered. Filtered iteration is beautifully
    comfortable now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 00:41:45 +00:00
Ingo Weinhold
902425896d Made kputs() available in the kernel and used it for printing debugger
command usage texts, which can be too long for kprintf().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 00:15:33 +00:00
Ingo Weinhold
8a04709a1d Added option for crashing via assert().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 00:13:28 +00:00
Stefano Ceccherini
5ee2c72042 Oh yeah... I managed to screw a simple commit like this...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 21:41:50 +00:00
Stefano Ceccherini
f47745cc8c Added Christof Lutteroth to the contributors's list (forgot to do this
some time ago)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 21:24:58 +00:00
Stefano Ceccherini
9c76ea4c52 Applied patch by Alexander Deckner (with a few small changes by myself):
Implemented palette mode and fixed bugs listed at ticket #1701. Thanks 
for your work!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 21:20:12 +00:00
Stephan Aßmus
750a346b75 * added icon for DriveSetup. According to my girlfriend, it's a shoe box
with a colored disk. Oh well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 20:34:06 +00:00
François Revol
f7d4128dfa This should be enough for query_tmap_interrupt.
We use an indirect page descriptor instead of pointing the page to itself like on x86.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23668 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 19:53:23 +00:00
Stephan Aßmus
dc1bdabb92 * added an input_server add-on for interfacing with the wacom kernel driver
* the structure of the add-on was originally designed to handle all kinds of
  different input devices, but has been limited to handle Wacom tablets for
  now, since our mouse add-on handles the rest already.
* various Wacom Tablets are supported including Cintiq Partner, Graphire,
  Graphire2/3/4, Intuos, Intous2/3, PenStation, PenPartner and Volito

TODO: Currently, the add-on does not work for some reason, though the kernel
driver publishes a devfs entry and the input_server picks it up, the Wacom
device thread is running. Need to investigate...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 19:14:25 +00:00
Stephan Aßmus
7fd8d11d3a * added a kernel driver for Wacom USB tablets.
* the driver should be generic for all Wacom tablets, but there is a
  special control transfer to put the devices in to "absolute mode", it
  may not work with future tablets. The driver allows to use read devices,
  for which there is a special protocol. If the read request has a certain
  size, then the driver will transmit info on the device, like the vendor
  and product id as well as the max the packet size, for reads larger than
  that, it will issue an interrupt transfer and put the raw data received
  from the device behind the info header


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 19:08:52 +00:00
Stephan Aßmus
701f410777 * added Michael Lotz and myself as authors
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 19:05:36 +00:00
Axel Dörfler
89ba97ea24 * ViewLayer::ViewAt() must not use the screen clipping to find the view
in question as it used to find the view that is under the mouse (found
  during a short phone session with stippi :-)). This fixes bug #1714.
* The local view clipping is still not correctly maintained by the 
  app_server, but that only affects the drawing now. I've added some
  commented out code that give you some visual feedback on this problem
  (ViewLayer::MarkAt()).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 16:49:58 +00:00
Ingo Weinhold
6d986c16fe * Use dprintf_no_syslog() for debug output, since we have interrupts
disabled in most cases.
* Wrapping in make_space() was broken. When wrapping the second time or
  later, sFirstEntry would already be greater than sAfterLastEntry and
  resetting sAfterLastEntry to the beginning of the buffer would
  erroneously "free" all entries between the buffer start and the
  original sAfterLastEntry. If the tracing buffer was small enough,
  the odds were that a not yet fully initialized entry would already
  be re-allocated, causing all kinds of weird behavior.
* When an entry that is not yet fully initialized needs to be
  freed, we let the allocation causing the freeing fail. We can't wait
  for the entry, since we've interrupts disabled and since the entry
  initialization might even try to allocate more (buffer) entries.
* make_space() is now safe to be called in any situation, and
  allocate_entry() will do that, which simplifies things there and
  avoids a few duplicate checks.
* Moved maximum allocation size check from alloc_tracing_buffer() to
  allocate_entry(). Just in case... :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 16:11:24 +00:00
Axel Dörfler
478ebbd14a Fixed an endless loop when iterating over all hosts (when there was no
/etc/hosts file).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 12:10:41 +00:00