Commit Graph

20093 Commits

Author SHA1 Message Date
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
François Revol
60db426624 unfinished
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 10:31:08 +00:00
Ingo Weinhold
4c4b14c3bb The "traced" command can now be passed a filter expression consisting of
boolean operators ("not", "and", "or") and filters matching thread IDs
or contained strings.
I'm still not fully happy with the command. It should be possible to
define a filter and then comfortably scroll through the matching
entries. Currently having to specify an index range of the unfiltered
entries is rather unhandy in combination with filtering.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 00:34:37 +00:00
Ingo Weinhold
c59c68c5e0 Build with RTTI. Needed for soon to come tracing feature (well, we could
also move the thread ID from AbstractTraceEntry to TraceEntry).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 00:19:08 +00:00
Axel Dörfler
1204649234 * When shrinking the stream size after a node had been removed, its
parent node could temporarily get invalid (ie. CheckNode() would 
  fail).
* Since shrinking the stream was done in edge cases only, anyway, we 
  will no longer do that which works around the problem. This fixes
  bug #1716.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23656 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 23:12:11 +00:00
Ingo Weinhold
f7a5d9c583 Changed TraceEntry::Dump() to take a TraceOutput& and removed
AbstractTraceEntry::AddDump(char*, size_t).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 22:23:32 +00:00
François Revol
ff5d41e762 Add newline at end of file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 21:14:03 +00:00
Axel Dörfler
5d43cf2a84 * Added new debugger commands bfs_btree_header and bfs_btree_node that
dump a B+tree header resp. node.
* Use dprintf() when a transaction is too large instead of a panic; even
  though the file system has to revert the transaction, it's not lethal,
  and it does not corrupt your disk.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 20:58:47 +00:00
Axel Dörfler
d62f743549 * Inode::_FreeStreamArray() kept one block it should have freed when the
new size fell on a block boundary.
* Removed newline from Inode::Remove() tracing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 20:55:27 +00:00
François Revol
d8fe1829e2 Add *rint*() from glibc 2.3.5.
This make app_server link \o/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 20:06:08 +00:00
Jérôme Duval
6b46058e04 needed for long double support
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 19:34:03 +00:00
Jérôme Duval
9ce320179c __m68k_get_time_base instead of __m68k_time_base
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 19:27:35 +00:00
Jérôme Duval
850456ed43 added missing m68k bits for math functions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 19:26:58 +00:00
Ingo Weinhold
da788f64d4 When we're already late for scheduling a message for a message runner
with an unlimited count, we just drop it and schedule the next message
in the future. This way applications won't get swamped with pulse
messages after a longer KDL session.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 19:24:23 +00:00
Ingo Weinhold
ab23dfa7f7 Moved tracing macro definitions into separate tracing_config.h header.
So now there's a central place to enable tracing in general and for
individual components.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 17:24:34 +00:00
Axel Dörfler
5f7a62cfdd * Added debugger command "transaction" and added a new "-t" option to
"block_cache" to dump info about transactions.
* Improved tracing.
* Now uses the new add_debugger_command_etc().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 17:01:26 +00:00
Axel Dörfler
5d8d6d9a0a Improved tracing output a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 16:36:53 +00:00
Axel Dörfler
4a553d3696 Forgot to update logStart after every written array - this
caused old entries (that were part of the same transaction) to be 
overwritten.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 16:35:19 +00:00
Ingo Weinhold
2477bce504 Added support for userland symbol lookup in "sc" and "call". Having
used it for an hour or so, I really wonder how we could live without it.
:-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 16:33:03 +00:00
Jérôme Duval
741e605cee updated copyright header
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 15:51:17 +00:00
Axel Dörfler
ae16ab9d0f * When I ported over BFS to the new FS API, I pretty much toasted the logging
code:
  - The vec array to contain the block list and the index block was one entry
    to small.
  - But that didn't really matter, as RunArrays/run_array was broken and never
    put anything into the log; we only ever wrote index headers. BFS would
    totally screw up the disk when trying to replay the log (even though the
    replay code itself was and is working fine).
  - If a log entry ended at the end of the log area, BFS could overwrite the
    first block after the log with the next entry.
* run_array now adopt the sorting stuff from the sorted_array. Blocks in the
  log are now always sorted.
* Added TODO item to sorted_array as it's not endian safe (will only work
  correctly when BFS is used in the native endian).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 15:46:41 +00:00
Jérôme Duval
82bea1a47b fixed ppc build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 15:42:19 +00:00
Jérôme Duval
14334b29f1 added scripting support for tab selection in BTabView
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 15:38:28 +00:00
Michael Lotz
7aa661d403 Rework of the usb_serial driver:
* Refactored everything to C++ with the different devices as subclasses
* Added proper ACM detection with parsing of the ACM descriptors
* Added device transfer error handling and fixed some concurency issues
* Big cleanup to conform to our style guide

This should make at least ACM stable to use. Commiting this over my K850i with
ACM compliant USB modem and UMTS data connection. Note that support for all
other device classes (Prolific, FTDI and KLSI) is untested but should work the
same as before. Note also that since we currently lack a TTY module this will
only build/work for R5 or Dano with the proper TTY headers.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 15:24:23 +00:00
Stephan Aßmus
a39fca4de3 * rewrote the DiskView display, it is now based on BViews and the layout
management
* added labels for partitions in the DiskView
* added selection via clicking a partition in the DiskView
* indicated menu items for unimplemented features
* added help message for freshly opened DriveSetup
* added TODO file with some of my ideas for the next steps
* refactored adoption of current disk/partition, the disk is not
  unnecessarily deleted and recreated anymore
* gone is the colorfulness, the partitions are colored in greys according
  to their level in the hierarchy


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 15:18:08 +00:00
Jérôme Duval
e615cc513a minor cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 13:56:42 +00:00
Stephan Aßmus
d4000a765f * fix the new layout version of the BView constructor to call the BHandler
constructor with the supplied name


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 11:59:26 +00:00
Stephan Aßmus
5300362be6 * fix the build of haiku_registrar (the registrar for the test environment)
since the changes to where the mime database write support lives


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 11:42:43 +00:00
Ingo Weinhold
1111ffc50b An outermost stack frame (having a NULL previous frame) was
incorrectly recognized as iframe. Fixes the read fault when doing "sc"
for a kernel thread.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 10:56:40 +00:00
Ingo Weinhold
42a5ea091a Oops, "f" is a hex digit, too. Hex numbers with "f" in them work again
in the kernel debugger.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 10:35:55 +00:00
François Revol
d296c4e1f9 Fixed swapping functions.
BFS now validates the superblock and the boot menu now lists the image if I force checking for kernel_x86. \o/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 02:11:46 +00:00
Ingo Weinhold
46cb5cfdd3 When a main thread (i.e. a team) dies, we have to send the SIGCHLD to
its parent while still holding the team spinlock. We were racing with
wait_for_child(), since after the child invoked
team_set_job_control_state(), the parent thread could continue as soon
as the team spinlock was released. The SIGCHLD could thus arrive way
later and interrupt another syscall. This could be reproduced with the
compile_bench.sh script from time to time: When interrupted while
waiting for the next subprocess, the gcc frontend would delete a still
needed temporary file.

The whole thing is actually only a problem, because we don't support
automatic syscall restarts yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 23:39:13 +00:00
Ingo Weinhold
c964a2f228 Use TraceOutput.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 22:18:42 +00:00
Ingo Weinhold
adf78fdae2 TraceBuffer simplifies things a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 22:17:15 +00:00
Ingo Weinhold
f1047a1c3e Introduced helper class TraceOutput that represents an output buffer
and added AbstractTraceEntry::AddDump(TraceOutput&) method.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 22:15:30 +00:00
Ingo Weinhold
2f1836da5c Kernel tracing for signals.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 21:32:38 +00:00
Ingo Weinhold
8d3d1be1ca Kernel tracing of syscalls uses more information about the syscall
parameters, now. We print 64 bit values correctly, and also fetch
strings from userland and print them. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 19:33:09 +00:00
Ingo Weinhold
8bd6d45df3 * If passed a userland pointer alloc_tracing_buffer_{memcpy,strcpy}()
checks it now. 
* Check for NULL pointer in alloc_tracing_buffer_strcpy(), and also
  determine the length of userland strings before allocating the buffer
  (using user_strlcpy()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 19:29:43 +00:00
Ingo Weinhold
19101ba0f4 Generate a kernel array kSyscallParametersInfos containing information
about syscall parameters. Particularly interesting is a type_code field
for each parameter. The mechanism isn't very accurate, but we can
classify everything in string, pointer, and integer types.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 19:25:28 +00:00
Ingo Weinhold
aba70a8ca2 Adjusted the fake goto, so that passing a NULL target buffer together
with a 0 size to user_strlcpy() is OK. This way one can use it as a safe
strnlen().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 19:20:54 +00:00
François Revol
c4c5cd4d4a use xhdierror() to map xhdi errors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 19:10:32 +00:00
François Revol
3bf72d1955 Fixed XHDI, call to XHReadWrite() was commented out... now it can read :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 19:08:28 +00:00
Axel Dörfler
960f8f2430 * Renamed sBufferStart to sFirstEntry, and sBufferEnd to
sAfterLastEntry.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 18:35:45 +00:00
Axel Dörfler
f70280a733 * alloc_tracing_buffer() now refuses to allocate more than 65532 bytes;
we use a uint16 size internally (and that has to include the length of
  the trace_entry structure, too.
* We now track how many entries have been written to the log during the
  runtime.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 18:18:35 +00:00
Jérôme Duval
c944deeb6b fixed warnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 18:02:54 +00:00
Jérôme Duval
bbaaf4b7c3 gcc4 requires a cast, so we prepend (void *) to cast every syscall function
fixed syscall.cpp inclusions due to renaming


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 17:39:43 +00:00
Axel Dörfler
5d0afa4e4e * cache_detach_sub_transaction() didn't really work: it did not put all needed
blocks into the new transaction, but it would set that transaction on all
  blocks of the old transaction, too. Also, it did not correctly update the
  num_blocks/sub_num_blocks fields of the old transaction. Even worse, it did
  return B_OK instead of the ID of the new transaction...
* get_writable_cached_block() did not correctly maintain the number of blocks
  in the sub transaction.
* write_cached_block() did not free the original_data of a block when it wrote
  it back as part of a previous transaction.
* Changed "cookie" for cache_next_block_in_transaction() to "long", so it will
  be 64 bits when needed.
* Improved the API for detaching sub transactions: you can now get the blocks
  of only the main (parent) transaction as well, added new
  cache_block_in_main_transaction() function.
* BFS now flushes the log when there is no space left for the current
  transaction.
* _WriteTransactionToLog() allocated a "vecs" array, but never freed it.
* _WriteTransactionToLog() now also supports detaching the current sub
  transaction if the whole thing is getting too large (it will now also panic
  if that doesn't work out).
* Removed a useless optimization: making the blocks available in the cache
  isn't really needed, as all blocks in a transaction are locked into the
  cache, anyway.
* Implemented Transaction::WriteBlocks().
* Minor cleanup, removed some dead code, fixed warnings in the fs_shell's
  block_cache when compiled with debug output on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 17:07:18 +00:00
Ingo Weinhold
c3b7f3b979 We weren't correctly clearing the THREAD_FLAGS_64_BIT_SYSCALL_RETURN
flag -- in fact we were setting it -- so after the first syscall with 64
bit return value we were always taking the slow kernel exit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 15:49:21 +00:00
Ingo Weinhold
a7e979cabb Print the correct usage when too many parameters were given.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 15:37:51 +00:00
Ingo Weinhold
74652349dd * sEntries only counts the "normal" (i.e. non-buffer) entries, now.
* "traced" command:
  - Was printing one more entry than asked to.
  - Fixed broken index handling. They were starting at 0, but the last
    one was sEntries nevertheless. We consistently let them start at 1,
    now. 0 can be passed as special index, causing the last entries to
    be printed.
  - Added options "backward"/"forward" which will print the entries
    preceding respectively succeeding the ones printed on the previous
    invocation. The command is continuable in this case, i.e. simply
    pressing RET afterwards will reinvoke the command, allowing for
    comfortable scrolling through a long list of entries.
  - Added detailed usage message.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 15:32:02 +00:00
Stefano Ceccherini
8afaa47365 Fixed warning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 12:09:23 +00:00
Stefano Ceccherini
75ee0a2911 Respect the maximum bytes set by SetMaxBytes() in Insert() and on
keydown. Fixed SetMaxBytes() so that it respect multibyte characters
(it removes the whole character in case it doesn't fit).
This can be seen in BColorControls, where you can't write numbers with 
more than 3 characters anymore.  


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 12:01:31 +00:00
Stefano Ceccherini
2fa152e4f0 Renamed more methods, fixed a warning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 10:52:20 +00:00
Stefano Ceccherini
e97cd7f18b Renamed some methods so that it's clearer what they do.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 10:34:21 +00:00
Stefano Ceccherini
1490792706 Cleaned up a bit the code. Use GetPreferredSize() instead of
SetTermSize() to get the size of the view.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 10:11:03 +00:00
Stefano Ceccherini
0ccf70c877 Changing the font incremented the window size of 1 every time. Fixed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 08:20:32 +00:00
Ingo Weinhold
548dcc600e * syscalls.c -> syscalls.cpp
* With post syscall debugging enabled, the x86 syscall handling didn't
  remove all parameters from the stack after calling the respective user
  debugger hook. Should have been harmless though, since the following
  code didn't rely on the stack being in order.
* Added syscall pre/post (kernel) tracing functions
  trace_{pre,post}_syscall(). They are generic, but need to be invoked
  by the architecture specific syscall code. Currently only done for
  x86.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 02:13:27 +00:00
Ingo Weinhold
21c92a08d4 * Don't invoke the TraceEntry destructor for simple buffer entries,
since that's seriously unhealthy.
* Added TODO that uninitialized entries must not be discarded.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 02:04:04 +00:00
François Revol
b516effeaa Enumerating drives through XHDI seems to work, at least it seems coherent.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 01:50:36 +00:00
Ingo Weinhold
21e73322d8 Also trace set_job_control_entry() and wait_for_child().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 00:01:32 +00:00
Ingo Weinhold
bd0689e668 Added usage message to "cvar" and "cvars" debugger commands and define
temporary variables.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 23:22:29 +00:00
Ingo Weinhold
5aee691ed8 The "sem" and "port" debugger commands set some temporary variables,
now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 23:07:59 +00:00
Salvatore Benedetto
acf9124f1b * Added definition for the hash related methods (not implemented)
* Continue working in the _FinishTransfer thread
* added next_done_descriptor in ohci_[general|isochronous]_td structure in order to handle
collisions.
* added next_logical_descriptor to ohci_isochronous_td structure



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 22:25:47 +00:00
François Revol
588b2cd4bf * Fix natfeat debugprintf, it actually works now.
* XHDI fixes, unfinished.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 22:22:29 +00:00
François Revol
d4d032389d * Add natfeat debugprintf support (dumps to the emu's stdout).
* Add XHDI disk support, unfinished.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 21:37:02 +00:00
Stefano Ceccherini
7014c8a379 Removed support for "Full font", which wasn't used anyway. Since
our Terminal only works correctly with fixed width fonts, now the font 
menu filters out variable width ones. For some reason, though, Konatu 
Tohaba isn't recognized as fixed. Various other changes. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 21:36:06 +00:00
Jérôme Duval
816fc92124 fixed GetVolume()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 19:44:39 +00:00
Salvatore Benedetto
4cfc1fee3e * Added hash function and related data in order to find the virtual address
of the descriptor from its physical address returned by the controller.

NOTE: As stated in the commented code, when the controller has finished processing
some descriptors, it returns the first element physical address of an heterogeneous list
(general + isochronous) and there is not way to tell the descriptor type.
This solution, which implementes two hash tables (one for generic descriptors and
one for isochronous) is the one adopted from *BSD.
If somebody has better idea, please let me know. :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 18:02:26 +00:00
Ingo Weinhold
19b468ea24 * Cursor up/down stop before empty (i.e. unused) history lines, now.
* Added support for page up/down (works like in bash).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 15:29:27 +00:00
Ingo Weinhold
20fb39b662 Translate PAGE UP and PAGE DOWN keys to respective escape sequences.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 15:27:40 +00:00
Ingo Weinhold
ce637fda24 Added usage (respectively more detailed usage) messages for "sem",
"sems", "port", and "ports" debugger commands.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 14:40:07 +00:00
Ingo Weinhold
224aee3ffc sem.c -> sem.cpp, port.c -> port.cpp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 14:04:06 +00:00
Ingo Weinhold
e6a8dfa805 The usage string directly printed by print_debugger_command() and
invoke_debugger_command() is now automatically preceded by
"usage: <command name>", so the string passed to
add_debugger_command_etc() shouldn't contain it anymore. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 13:58:17 +00:00
Stephan Aßmus
dccabf3cc9 * mark the 2048 block size menu item as default
* don't access invalid memory at the end of Go()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 12:03:11 +00:00
François Revol
7d59553ec8 * As we use asm macros we don't need the asm stubs now.
* Put cookies and error stuff to toscalls.c.
* dump all cookies instead of fixed list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 09:00:27 +00:00
François Revol
b70fb738a6 clip cursor position just in case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 08:46:46 +00:00
Axel Dörfler
53f7979709 * Fixed a deadlock (and resolved TODO): we need to make all pages unbusy again
before releasing our cache reference. Otherwise removing a vnode (triggered
  by releasing the cache in our thread) could need pages we still own.
* Put the caches and pages into a union to save stack space; they are not
  needed at the same time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 08:21:48 +00:00
Axel Dörfler
9e7511601a * Deactivated the IDs for the 8xxx chips - they are not supported.
* Removed ID 0x0141 for the FX 6600 as well until it's fixed, see ticket #1530
  for details.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 08:15:50 +00:00
Axel Dörfler
06958f901c We generally handle NULL pointers in free() and friends gracefully.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 08:06:54 +00:00
Ingo Weinhold
72fa2c51eb Added tracing for fork() and exec().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 01:59:17 +00:00
Ingo Weinhold
0b60583fec Added convenience functions alloc_tracing_buffer_{memcpy,strcpy}().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 01:58:08 +00:00
Ingo Weinhold
e613499224 Gracefully ignore NULL pointers passed to block_cache::Free(). Fixes
panic when sync'ing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 00:14:09 +00:00
Ingo Weinhold
c21af3b299 Print the missing object.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 00:11:26 +00:00
Ingo Weinhold
8a90d12e26 * Added add_debugger_command_etc() which is similar to
add_debugger_command(), but additionally takes parameters "usage"
  and "flags".
* Added add_debugger_command_alias() which creates another name for an
  existing command.
* Added print_debugger_command_usage() to print a command's usage.
* invoke_debugger_command() intercepts invocations with "--help" and
  prints the command's usage text, if it is known. If unknown, the
  command will be called normally.
* Made use of the new functions in debug.cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 23:41:20 +00:00
Jérôme Duval
a75118d464 some cleanup
better error handling in setup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 23:31:34 +00:00
Ingo Weinhold
1839792524 Change parse_expression() return value from uint32 to uint64.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 22:55:39 +00:00
Axel Dörfler
33965e022a Enabled paging for the boot debug output as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 22:09:02 +00:00
Ingo Weinhold
06f78e9fb7 * Changed the way temporary variables work. They won't be unset before
a command is executed anymore. Instead the least recently used
  temporary variable is overwritten, if there's no free slot for a new
  temporary variable.
* Removed the special handling for the command result variable ("_"). It
  just works like any other temporary variable, now.
* Individual temporary variables can be removed (e.g. using the "unset"
  command).
* Added unset_all_debug_variables() and "unset_all" command to unset
  all persistent and temporary variables.
* Removed remove_all_temporary_debug_variables and renamed
  remove_debug_variable() to unset_debug_variable().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 21:50:59 +00:00
Axel Dörfler
a96e7cce98 * Replaced my block allocator code in favour of Hugo's slab allocator
(so we can't allocate more physical pages than virtual address space
  anymore, but so what?).
* Used the new CACHE_LARGE_SLAB flag as a temporary work-around; else
  the slab would easily create several thousands of areas, which our
  area code (and kernel heap) can't really handle that well (gets 
  awfully slow).
* Block caches with the same size could share the same slab, but we
  don't do that yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 20:43:12 +00:00
Axel Dörfler
855ab2b312 * Based on ahwayakchih's blue screen paging code (see bug #1444), I added
paging support to KDL (but not the on-screen debug output for now).
* Defaults to "on", use the new "paging" KDL command to turn it off (or on
  again).
* When pressing 'q' while it is waiting for a key, it will now eat the rest
  of the commands output (helpful for slow screen output of a large data set).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 20:39:00 +00:00
Axel Dörfler
b9074efcb7 * Fixed the "vnodes" KDL command when called without any arguments.
* Fixed the usage text of the "help" KDL command.
* Made the "ambiguous command" warning shorter, so that it will still fit in
  the exception buffer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 20:36:27 +00:00
Axel Dörfler
c6ee79ce38 * vm_create_anonymous_area() now accepts B_ANY_KERNEL_BLOCK_ADDRESS.
* As a temporary work-around for the current slab allocator's area usage,
  I added the CACHE_LARGE_SLAB flag, which will force the allocator to 
  use larger areas.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 20:30:16 +00:00
Axel Dörfler
abf34addc5 * B_ANY_KERNEL_BLOCK_ADDRESS now aligns the memory on the next power of two
value greater or equal its size (actually untested, but at least Haiku
  still boots with these changes :-)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 19:09:01 +00:00
Stephan Aßmus
13b76705a0 * forgot to update the blocked window's redrawing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 18:41:40 +00:00
Stephan Aßmus
2e3a7b96c0 * finished the initialization paremeter panel and used it in
MainWindow::_Initialize()... setting the name and block size should work,
  though I have not tested this yet due to lack of available partitions.

TODO: Use driver settings API from libroot to build the parameter string
and move the GUI of the InitParamsPanel into the BFS add-on, implement
BPartition::GetInitializationParameterEditor() accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 18:35:58 +00:00
Stephan Aßmus
b91634cbea * extended the jpeg_error_mgr structure to hold the jmp_buf that we need
in the critical error handler. In the high level function, the jmp_buf is
  now allocated on the stack and placed in the "cinfo->err" structure. This
  should make the mechanism thread-safe. Unfortunately, we don't use the
  original libjpeg anymore as is, but this seems to be frozen code since a
  few years anyways. If you have any better suggestions, please don't
  hesitate to mention them! :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 15:52:36 +00:00
Stephan Aßmus
dbc936ac13 * it was a really bad idea to invoke exit() on critical errors from an add-on
that only loads bitmaps and is supposed to return a status_t error from
  the Translate() function, especially for people using this in mission
  critical applications.
  The requirements on the error handler that is
  to be installed for the jpeg library are not to return to the calling
  function for critical errors. C++ exceptions seem like the
  natural solution to the problem, but unfortunately, they simply don't
  seem to work, possibly because we are inside an add-on. Ingo had the idea
  to use setjmp() and longjmp() to go directly from the error handler back
  to the top level code and this works. I have implemented this from what
  I understand from reading the opengroup spec, but the compiler currently
  issues a warning. Feel free to fix. The desired effects are achieved though, 
  the translator recovers correctly from broken jpg files now.
  Also, I don't know if the translator should somehow "uninstall" the
  breakpoint. Again, feel free to fix or tell me.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 13:28:28 +00:00
Stefano Ceccherini
5dda419aeb If spawning a shell in a tab failed, the tab wouldn't be removed by the
cleanup thread, since, not being attached to the window, Window() 
returned NULL. Now CustomTermView::NotifyQuit() accounts for this, and 
sends the message to the first window in the BApplication. Moreover, 
RemoveTab() would always remove the currently selected tab, and not the 
requested one.
Changed a printf() to fprintf(). 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 11:33:47 +00:00
Stefano Ceccherini
523f71ee2b Creating a new tab in terminal would show an error message (but still
worked). Fixed. Also moved handling of default shell command from 
TermView to Shell, where it belongs. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 09:35:29 +00:00
Axel Dörfler
dd80f32ac3 * Added support for the "--help" argument for all VFS debugger commands.
* Added some temporary variables to the commands.
* Use parse_expression() where appropriate.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 09:21:54 +00:00
Axel Dörfler
fd81fd526a * Fixed the "unset" command and added useful error output (faulted before).
* Fixed removing temporary variables (they would always be removed except one
  after the first command).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 08:59:58 +00:00
Stefano Ceccherini
ebdedf9bbf disallow importing/exporting big pictures, since the Link* api doesn't allow sending more than 64 kb through it. At least printing via ShowImage doesn't hang the app anymore
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 08:27:11 +00:00
François Revol
084b710863 relax fpu detection, and wow, it goes up to the boot menu !
(but there are lots of remaining stubs, like mmu)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 04:28:06 +00:00
François Revol
7ef900d3ef It's working \o/
Now starts doing stuff in the loader when bootstrapping the .prg from ARAnyM.
For now it just dumps the cookies.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 04:12:06 +00:00
Ingo Weinhold
5c62817c6f Added unary "*" operator for dereferencing addresses to the
debugger expression language. By default it reads a uint32 value.
Another target size (1, 2, 4, or 8 bytes) can be specified in braces
after the "*" (e.g. "*{2}address" for uint16).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 03:55:19 +00:00
François Revol
267428a36a * \r\n on Bconputs()
* natfeat support code


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 03:32:40 +00:00
Ingo Weinhold
15f1e19781 * Added support for the "--help" argument to some debugger commands.
* The kernel debugger does now define some temporary variables when
  entered (current thread and team, etc.).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 01:14:40 +00:00
Karsten Heimrich
13ab80745a small cleanup
password window is now font sensitiv, fixes Ticket #705



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 00:09:49 +00:00
Karsten Heimrich
c0a4294edd small cleanups
password window is now font sensitiv, can be seen as part of ticket #705



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 00:07:11 +00:00
Ingo Weinhold
3b4fa1664e * Implemented parse_expression(). The back-end is an expression parser
that is a little more powerful than BeOS'. It features:
  - Persistent and temporary uint64 variables. The former kind is set
    only by the user. The latter (those prefixed "_") can be set
    automatically by commands, thus e.g. making it easier to access
    members of a dumped structure. They are unset when the next command
    is invoked. The special temporary variable "_" is defined as a
    command's return value.
  - Expressions can contain nested command invocations using brackets
    ("[ ... ]").
  - Command lines are parsed by the expression parser, too. They can
    contain command invocations (in brackets) and expressions (in
    parentheses).
* Added debugger commands:
  - expr: Evaluates the given expression and prints the result.
  - unset: Undefines a variable.
  - vars: Prints the values of all defined variables.
* Moved debugger command code into its own source file.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 00:01:20 +00:00
Stephan Aßmus
5d24ef2e15 * disable sorting in the partitions list
* sort the partitions by id (TODO: should be disk offset, but works as 
  intended now)
* expand the partition tree entries by default
* renamed DriveVisitor to ListPopulatorVisitor, moved implementation into
  class definition
* added MountAllVisitor and used it to implement according menu item
* added menu item members to MainWindow, so it keeps the pointers
* added MainWindow::_EnabledDisableMenuItems() which looks for the
  current disk and partition and their properties to en-/disable the items
* moved BDiskDevice member from DiskView to MainWindow, renamed to
  fCurrentDisk
* implemented mounting and unmounting the currently selected partition,
  mounting works, unmounting does not work as in Tracker, but the error
  description is not as helpful, or just as helpful, since Force Unmount
  does not work in Tracker at the moment
* implemented initializing the selected partition, not tested to the end,
  but likely works, so beware! (TODO: finish the parameter window and use it,
  partitions are hardcoded to "BFS Init Test" and 2048 blocksize). The
  process displays a warning at the beginning and another one at the end
  before writing anything to disk, but please do take it seriously... :-)
* store and restore the listview column settings (width of columns mostly)
* more appropriate usage of the BDiskDeviceRoster API
* improved DiskView display a little with frames and more contrast in the
  colors
* implemented FrameResized() to adapt the box layout
* no longer pass disk pointer to BDiskDeviceRoster::VisitEachPartition(),
  since it will overwrite it!
* no longer use BDiskDeviceRoster at all, BPartition::VisitEachDescendant()
  is what we need
* added a WIP InitParamsPanel, does not compile, but is not added to the
  Jamfile yet, it will be a blocking panel like a BAlert and will later
  be refactored into the parameter editor add-on for BFS


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 23:09:20 +00:00
Stefano Ceccherini
21210ba894 The check was right, I just got it wrong. Sending a big message is
supposed to fail. Sorry. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 21:14:13 +00:00
Stefano Ceccherini
7c1ca8d91b Fixed PortLinkTest build, and also corrected a check.
Looks like attaching 100000 bytes fails. Any idea ?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 21:06:54 +00:00
Axel Dörfler
8264ebf6b7 * Improved block allocation.
* Made the block_cache KDL command dump a bit more useful info (number of
  referenced and dirty blocks).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 18:03:33 +00:00
Stephan Aßmus
86914dfa8e * fix typo in the documentation for GetVolume()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 18:01:27 +00:00
Axel Dörfler
c87ef6db88 Made Haiku behave better when you have more memory:
* with 1 GB or more, the semaphore limit is now 131072 instead of 65536.
* double the heap when there is 1 GB or more (64 MB).
* the low memory handler now also watches semaphore usage; in the end,
  we need a low resource handler, not a low memory handler.
* create_sem_etc() no longer calls vfs_free_unused_vnodes() directly as
  this could actually deadlock (at least because the address space is a
  R/W lock, not a recursive lock).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 16:47:26 +00:00
François Revol
dba557e4e7 Move trapn and calln as last args, as though they are named they are counted with other args numbers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 16:31:04 +00:00
François Revol
e79fe38f8e Added needed toscallWLWWWL().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 16:18:27 +00:00
François Revol
632082eb7b Use asm macros to call TOS. Missing ones, but existing ones compile.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 16:12:39 +00:00
Axel Dörfler
09c46ea8bd * Fixed bug in the BlockAllocator::Allocate() function which did not
compute the bit offsets correctly if the last block of the whole
  bitmap was only a partial block.
* Added new bfs_allocator KDL command.
* Renamed the KDL command bfsinode to bfs_inode.
* Added "--help" argument to bfs_inode and bfs KDL commands.
* Added more tracing in the block allocator.
* Turned on the ASSERT() macro in non-debug builds.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 15:18:02 +00:00
Axel Dörfler
36a3ef573d * "traced" now always prints the index numbers (before, it only did that
when a pattern was involved).
* alloc_tracing_buffer() no longer allocates anything when you ask for
  a zero byte buffer.
* Fixed warning.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 15:06:15 +00:00
Axel Dörfler
502c464081 * Added tracing support for transactions.
* improved the "block_cache" KDL command: it can now also dump blocks,
  added support for the "--help" argument.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 15:04:31 +00:00
François Revol
c4bcf3f92c * Fixes
* More test code
* it actually runs now, till _start. 
However, calling TOS from C is broken: we use 32 bit param alignment on funcs, but TOS expects 16 bit... need to use asm macros instead of funcs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 15:02:26 +00:00
François Revol
ea788fff0c Our ld script is actually closer to the x86 one... this should work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 15:00:00 +00:00
Stefano Ceccherini
cc5d5e7a14 Reduced the time used for the vmware workaround
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 13:41:08 +00:00
Stefano Ceccherini
d01f3af185 Menu tracking now ignores mouse movements if they are too fast
(suggested by stippi). The movement threshold will be subject to 
changes, as I only tested on vmware and it's probably too high.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 13:40:13 +00:00
Stefano Ceccherini
48044dcc41 The custom MenuBar in the menu preflet was mixing resize mode with
flags.. thanks to r23424 I could notice.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 13:39:04 +00:00
François Revol
aa84dea3fd * Comments on how mmu will be set up in the bootloader
* Add aranym native feature helper funcs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 23:14:26 +00:00
François Revol
005ff05292 * checksum should be ok now...
* also added fake FAT descriptors to avoid crashing TOS, but it doesn't boot yet as floppy.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 21:59:44 +00:00
François Revol
9b6eca61e0 The correct platform is "atari_m68k".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 21:55:29 +00:00
François Revol
d93062a0ad * Style cleanup
* warning
* implement --help


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 21:43:09 +00:00
Ingo Weinhold
07b8a5de22 * Sort the registered commands by name when entering KDL.
* Don't execute a command anymore, if the given prefix is ambiguous.
* Added tab completion for commands.
* Added on-the-fly help while typing a command line. It is triggered
  by pressing tab at a position after the space following the command.
  It is implemented by calling the command with argument "--help", which
  doesn't work yet with most commands, but some already print their
  usage in this case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 15:39:44 +00:00
Axel Dörfler
2d81f04529 * If the "traced" KDL command is used with only one argument, it's the index
now, not the number of entries shown (much more usable this way).
* Added missing license.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 14:04:35 +00:00
Stefano Ceccherini
4653aacfb7 Removed unused files
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 13:56:52 +00:00
Stefano Ceccherini
d99b6db824 use B_NO_POINTER_HISTORY in SetMouseEventMask().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 13:52:15 +00:00
Ingo Weinhold
ea144d4b8b Use C linkage for kgets(). Should fix hangman.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 13:08:43 +00:00
Ingo Weinhold
945a060042 Added "message" debugger command to reprint the message printed when
entering KDL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 13:04:13 +00:00
Stefano Ceccherini
07a6b56636 system() works correctly, so we can use its return value now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 12:59:24 +00:00
Ingo Weinhold
46a15bd6ea Added support for line editing in KDL.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 12:48:13 +00:00
Ingo Weinhold
b34ddf8422 * Fixed incorrect key code for DELETE. Ctrl-Alt-Del will reset the
system when pressed during the boot process, as intended.
* Removed other incorrect key codes, except the one for BREAK, since it
  is used (but won't work).
* Ctrl-Alt-Del now also resets the machine when in KDL, at least when
  waiting for user input.
* arch_debug_blue_screen_getchar() does also generate the respective
  escape sequences for HOME, END, and DELETE, now. Furthermore it
  generates characters for Ctrl-A through Ctrl-Z.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 12:44:14 +00:00
Ingo Weinhold
9d2cde7183 debug.c -> debug.cpp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 09:50:32 +00:00
François Revol
f9f49bb963 * Match [Pp]assword:
* Handle failing to remove the old image in case it's not there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 02:04:42 +00:00
François Revol
82062f804c Works much better when actually allocating the TLS entry...
Now the backend works, Login can list users.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 02:03:34 +00:00
Ithamar R. Adema
e7fe0f67d1 Fix BPrintJob to not screw up user-made job settings with the global defaults.... StyledEdit prints again :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 23:47:35 +00:00
Jérôme Duval
269fdeefff style cleanup
whitespace => tab


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 23:05:30 +00:00
Ingo Weinhold
69666c9199 Clarified documentation of the "asynchronous" SendMessage() methods.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 22:55:27 +00:00
Jérôme Duval
1beb8bb1ba whitespace => tab
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 22:17:50 +00:00
Jérôme Duval
c71ff07bd9 style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 22:17:15 +00:00
Jérôme Duval
bf86f09912 style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 22:03:34 +00:00
Jérôme Duval
f6742aab04 whitespaces => tab
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 21:59:23 +00:00
Ingo Weinhold
46e13cfc0c Patch by Vasilis Kaoutsis:
* Style cleanup.
* Renamed class GebsPreferences to Preferences.
* Made NoiseBarMenuItem::fBusyWaiting/fLost private and added getters
  and setters.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 21:07:14 +00:00
Ithamar R. Adema
993976312b Make (S)ATA(PI) drives publish under /dev/disk/ata[pi] again
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 20:46:32 +00:00
Axel Dörfler
42ef796e50 Added a bit more tracing output to the block allocations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 20:08:43 +00:00
Jérôme Duval
629e25ef6d fixed warnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 19:43:00 +00:00
Michael Lotz
bece4ef7ab Implemented driver unloading. When a driver is rescaned and doesn't publish
any devices anymore it gets unloaded. Also made sure the function pointers
are properly initialized and disabled debug output.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 18:49:39 +00:00
Michael Lotz
3be509a228 Fix the static cleanup mechanism introduced to the runtime_loader/libroot:
* Fixed wrong start and size used in the runtime_loader
* Fixed off by one error in the matching loop of the cleanup hook
* Make sure we successfully acquire the locking sem of the exit stack

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 18:49:27 +00:00
Axel Dörfler
4fc4f2c8ae * Added a transaction listener mechanism to be notified when a
transaction ends or has been aborted.
* BFS now listens for transactions when it created an inode to see if 
  the transaction will be aborted without freeing the inode (in which 
  case it will panic for now).
* Started implementing tracing support, but it's not working yet.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 17:18:29 +00:00
Axel Dörfler
5276dad057 * Fixed a bug in make_space() that would endlessly skip entries, even
though there was nothing to do (if 'diff' was larger than 'needed').
* Improved KDL command output.
* Added debug output to the allocation functions.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 17:09:01 +00:00
Jérôme Duval
4ff60cbae8 check the allocation of the name list
use a macro get_handle


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 13:45:34 +00:00
François Revol
b79ea67539 * Fixes... it now builds and theorically should work, let's see...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 12:40:49 +00:00
Jérôme Duval
9cdfebb447 Fixed removing from device list with only one device info present
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 12:35:08 +00:00
Jérôme Duval
5671893fc0 Fixed removing from device list with only one device info present
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 12:34:27 +00:00
Michael Lotz
8c2a9d7433 bonefish+mmlr:
As (our) gcc unfortunately uses atexit() to clean up lazily initialized static
variables inside functions we have to ensure that we do the right thing with
unloadable shared objects. In case a shared object was unloaded that installed
an atexit() hook the application would crash on exit. We now implement a
callback into libroot that is used to call all the atexit() hooks of a
component that is to be unloaded. Most prominently this fixes the media_server
crash at shutdown.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 12:08:34 +00:00
Marcus Overhagen
c4bf6940f5 Fixed timeouts, they were too small.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 12:02:13 +00:00
François Revol
2504405008 * jmp is x86...
* make the checksumer build under linux and fix it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 11:57:11 +00:00
François Revol
551d3012d8 * Moved checksum to where it should be.
* Added tool to calculate the checksum (TOS wants a real one to 1234, not aa55).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 10:53:35 +00:00
Marcus Overhagen
df0e96bcef fixed a crash during device identification
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 09:41:40 +00:00
François Revol
4982c437ad Forgot a param.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 09:38:56 +00:00
François Revol
286edb37ca 1st try at floppy bootsector.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 09:31:53 +00:00
Axel Dörfler
8e43ece8b8 Some more work on the tracing API:
* Added function to allocate space in the buffer.
* Dump() now fills a buffer instead of printing its data directly.
* This allows the new "#pattern" argument of the "traced" command to 
  work. When you're using that, the index of the trace entry is printed
  out, too, so that you can then get a full dump around the hits.
* Added an AddDump() method to the AbstractTraceEntry class so that 
  there is no need to call the inherited function anymore.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 02:50:32 +00:00
Marcus Overhagen
a5ec34950d Allow ata_request_set_sense and ata_request_set_status to be called with NULL request pointer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 02:42:19 +00:00
François Revol
2ac7892801 Fake system_time() for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 01:57:31 +00:00
François Revol
c302a6742b Missed this file to the club.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 01:54:11 +00:00
Marcus Overhagen
02193d0df5 improved timeout handling
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 01:54:08 +00:00
Marcus Overhagen
d5c05044c6 ATAPI fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 01:50:58 +00:00
François Revol
86047718fb * shell.S must be first
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 01:45:45 +00:00
François Revol
110abe94eb Make it compile.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 01:41:25 +00:00
François Revol
b1e9164f9c Entry point for .prg / bootfloppy for zbeos.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 01:38:06 +00:00
François Revol
30b14f3c01 More #if 0
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 01:15:46 +00:00
François Revol
6d45e991b5 #if out x86 stuff to try to build zbeos
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 01:12:40 +00:00
François Revol
246ab5c53f * Add atari memory map defs.
* Add osheader defs.
* Check for FPU.
* note on prg vs bootsector.
* mmu stuff.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 01:07:20 +00:00
Jérôme Duval
98456ae281 check the allocation of the name list
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 00:58:27 +00:00
Axel Dörfler
2eceeabaea Fix comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 00:27:05 +00:00
Axel Dörfler
d7477802b8 * Made the additions of the KDL debugger commands independant from the
DEBUG macro; they are now added only if BFS_DEBUGGER_COMMANDS is 
  defined (which is now done by default in the Jamfile).
* Added "bfs" KDL command which dumps volume information and the super
  block.
* Made use of the new tracing API to trace block and inode actions
  (and the new AbstractTraceEntry class I forgot to mention in the last
  commit). Is compiled in only when BFS_TRACING is enabled (defaults to
  off in the standard builds).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 00:03:53 +00:00
Marcus Overhagen
f44927fccb Do a shorter wait during identify command, and retry it once to find atapi drives that report a wrong signature
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 00:00:58 +00:00
Axel Dörfler
d1ba9c8adc Fixed warnings when building the bfs_shell.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 23:58:56 +00:00
François Revol
89f97fe903 We shouldn't trust the TOS, but for now use the cookie jar to find the cpu type and if it has lpstop.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 23:56:47 +00:00
Axel Dörfler
416458e9c4 * Added nothrow to the new operator because otherwise the C++ compiler
will not accept if the allocator returns NULL and crashes instead
  (ie. not compiling in tracing would have crashed if some module tried
  to use it).
* Added total entries count to the KDL command output.
* Fixed computing the start index of the KDL command.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 23:55:53 +00:00
Axel Dörfler
7f2453fa9c Added a progress monitor when copying large files (ie. over 1 MB).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 23:53:09 +00:00
Ithamar R. Adema
0fc976d900 Fix problem with CLOEXEC also being handled on fork(). For details on expected (BeOS) behaviour, see http://www.freelists.org/archives/openbeos/12-2001/msg00280.html
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 23:48:52 +00:00
Axel Dörfler
f3ecf93d37 Added the cookie/private_node fields to the mounts/vnodes list in KDL.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 23:45:11 +00:00
François Revol
5694f863c7 better finish stuff before committing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 23:16:01 +00:00
François Revol
dcf911ef8f * Add function to access the Cookie Jar.
* remove unneeded stuff.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 23:11:03 +00:00
François Revol
3460f75fb9 Comment out x86 asm
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 22:54:40 +00:00
François Revol
c757463c81 lpstop is 060 only so gas complains. comment for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 22:51:58 +00:00
Axel Dörfler
a825cef64b Added TODO comment about a possible deadlock Marcus just found :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 22:49:03 +00:00
François Revol
7ef3cafe20 CPU init stuff. TODO: check for LPSTOP (040), and cpu model (must be >= 020).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 22:12:20 +00:00
Marcus Overhagen
cf3c203afa improved PIO transfer speed and system responsiveness.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 21:58:33 +00:00
Axel Dörfler
aa5d2a2df2 bonefish+axeld:
* Implemented an optional tracing layer that can be used in the kernel.
  Nice to use if you don't have serial output or need something that doesn't
  slow down the system as much.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 18:41:35 +00:00
Michael Lotz
84c69b0078 Remove unnecessary remove_vnode() in devfs_unpublish_device() done already in unpublish_node()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 17:38:56 +00:00
Axel Dörfler
a52c1759ac Fixed two bugs in the vnode disconnecting code found by bonefish+mmlr:
* vfs_disconnect_vnode() did not put away its vnode reference.
* disconnect_mount_or_vnode_fds() did always throw the current working
  directory of all apps on the same mount away, even if only a specific
  vnode should have been disconnected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 17:36:10 +00:00
Jérôme Duval
751232fbe0 update from Jerome Leveque
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 17:05:13 +00:00
Michael Lotz
215772237b * Fixed removing from device list with only one device info present
* Removed now unnecessary devfs calls again
* Add an explanation in device_removed()

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 16:13:01 +00:00
Michael Lotz
1d99d469a0 * Properly implement rescan in devfs (rescan when closed and republish when open)
* Cache the looked up image symbols as well as the API version in the driver entry

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 16:05:17 +00:00
François Revol
7f27c6c3c8 * x86 mmu init code, to be changed.
* remove some unneeded stuff in start.
* we just quit the boot prg instead of rebooting (should try Puntaes also)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 16:04:44 +00:00
Jérôme Duval
15ee8ca67b system() should continue to wait when wait_for_thread returns B_INTERRUPTED
fixes bug #1707


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 15:51:02 +00:00
Axel Dörfler
748988ae1f mkdir() is supposed to respect the umask when creating the directory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 13:17:59 +00:00
Axel Dörfler
f81851cbe3 * Made the colors of our Terminal a bit easier to look at, especially in
the ls output.
* Made the array the size it actually is.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 12:41:55 +00:00
Axel Dörfler
5e3a8a4a57 * Applied patch by absabs to enable signal tracing. This closes ticket
#1436. Thanks!
* Changed syscall color to blue (signals are red).
* Added thread number to the signal output.
* -g turns off signal tracing now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 11:29:57 +00:00
Marcus Overhagen
38d1ee9587 Removed debug output in the read/write path, and added it to other functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 10:32:10 +00:00
Marcus Overhagen
afb50bcdc0 fixed timeout and crash
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 01:58:30 +00:00
Marcus Overhagen
c85a921b70 fixed multi block data transfer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 01:56:33 +00:00
Marcus Overhagen
9c67580a9f removed/disabled some debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 00:52:57 +00:00
Stephan Aßmus
32b9f1f7fc patch by Andrea Anzani:
* fix a rounding problem when layouting the image
Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 00:27:08 +00:00
Marcus Overhagen
f03e236672 Implemented PIO transfers again. Haiku starts in vmware now with this stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 23:13:27 +00:00
Michael Lotz
5d196712c9 Add a temporary backwards compatibility fix for applications that accidently
mix up the resizingMode and flags field in the BView constructor. This does
not cause problems under BeOS but was causing wrong follow modes when those
applications were run under Haiku. In case such an application is detetected
a corresponding warning is printed out. Also added a comment explaining the
rational behind the change and a ToDo for the later cleanup.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 23:12:41 +00:00
Michael Lotz
f82c11c079 bonefish+mmlr:
* Move most of MIME database support out of libbe and into registrar
* Use the (async) MessageDeliverer instead of a synchronous SendMessage in _SendMonitorUpdate

This fixes a deadlock when the message port of a MIME database watching
application gets full as documented in bug #1311.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 22:45:06 +00:00
Stephan Aßmus
8d2dd6d32f * small style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 22:25:41 +00:00
Stephan Aßmus
45f11ce801 * at least with the BeOS input_server it is important that the last
B_MOUSE_MOVED message does not already contain the same buttons as a
  following B_MOUSE_DOWN message... fixes mouse clicks being ignored
  when you are moving the mouse at the same time when clicking
  (using Haiku's mouse input_server device on BeOS or ZETA)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 22:25:08 +00:00
Ithamar R. Adema
fac155d491 Fix problem of accept() not accepting a bigger buffer for the sockaddr then required (cupsd exposed this bug)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 22:12:50 +00:00
Axel Dörfler
1214ef1b21 A test app that does constant workspace switching.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23415 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 19:10:01 +00:00
Michael Lotz
b8859c2a29 * Add handling for B_INTERRUPTED so USB keyboards can work again
* Beginnings of devfs interaction to properly publish/unpublish under Haiku

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 18:53:39 +00:00
Marcus Overhagen
795beb75d2 Converted check_output() into ata_finish_request().
Moved timeout from device_info int ata_request-.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 18:49:12 +00:00
Stephan Aßmus
fc404a9f7e * renamed remove_device() to delete_device()
* handle one more allocation failure in device_added
* improved style consistency in a few places


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 18:14:51 +00:00
Michael Lotz
b004f6291c Reset the control count so the hmulti_audio does not try to read them. Fixes crash when using hda with hmulti_audio under R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 17:06:27 +00:00
Ithamar R. Adema
e7d7efa1c7 Some minor fixes; lots of debugging output still in there; not perfect yet
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 16:50:53 +00:00
Stephan Aßmus
c2a6cd96bc * init the repeat timer values, if the timeout happend to be low enough
and you never pressed any key on the usb keyboard, you could suddenly
  be flooded with a random key...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23403 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 16:13:01 +00:00
François Revol
220adf9a93 Fix Haiku build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23402 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 16:07:30 +00:00
François Revol
ae1c9ba207 Add Login to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 14:34:23 +00:00
François Revol
648110193d A simple login app for testing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 14:33:31 +00:00
Jérôme Duval
5e53d38a62 style cleanup
should fix detection of Audigy2 Value (it was trying to check the revision id instead of the device id)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 14:17:17 +00:00
Axel Dörfler
45d0ea5605 Fixed two dirty region problems of the workspace switching code:
* If two intersecting windows didn't change their position but their 
  order, the dirty region wouldn't contain the region that would need
  to be updated because of that order change. This fixes bug #827.
* When a hidden window was on the new workspace (but not on the old one),
  its region would be included in the dirty region, but shouldn't have
  been. This caused the app_server to update a larger region than 
  necessary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 14:04:53 +00:00
François Revol
f293c7cb52 Hi Ingo, I'm not the only one to break the build today :))
gcc4 fix.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 14:01:19 +00:00
François Revol
c6b3f26049 cuserid also goes there...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 13:52:48 +00:00
François Revol
38196dea30 Move getlogin*() to its own file and fix the build.
This way it doesn't get linked to the kernel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 13:47:45 +00:00
Stephan Aßmus
374b5544a9 * expose the XOR function for BRegions (for now called "ExclusiveInclude")
which already existed in the region backend ported from XOrg


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 13:42:21 +00:00
François Revol
dc935a5aa9 * warning
* save the fd so we can use it :)
* open the pty read-write else it won't work...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 13:34:06 +00:00
Marcus Overhagen
3d424d5c73 Replaced most true and false with named flags.
Made all timeouts use bigtime_t.
Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 13:25:38 +00:00
François Revol
cf9e598dd0 Fix the build for you mortal monousers.
Actually getlogin didn't belong to usergroup.c in the first place anyway.
And definitely not to the kernel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23391 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 13:05:06 +00:00
François Revol
586cf6aeba cleaner and safer getpty() I wrote long ago.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 12:12:58 +00:00
Stefano Ceccherini
6e11b3f991 Close the whole menu hierarchy when invoking an item via keyboard. Added
a TODO comment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 12:08:21 +00:00
Michael Lotz
cc2bf27596 * Deactivate the device when both the transfers and the clear feature fail
* Some restructuring and cleanup

This keeps the input_server from polling a removed device continuously.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 11:37:18 +00:00
Stefano Ceccherini
cb6cd9af6f BMenu::_SelectNextItem() also opens the menu if we're inside a menubar.
That way menubars are navigable via keyboard. There are still glitches, 
but menu keyboard navigation works now.
Minor optimization: cache the value of CountItems() instead of calling 
it multiple times.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 11:34:53 +00:00
François Revol
9d666b8707 Fix build under BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 11:22:47 +00:00
François Revol
ffb64301bf Old code I wrote that implements multiuser the same way R5 did as a hidden feature...
Worked quite well in latest zeta, so it's already tested :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 11:14:02 +00:00
Axel Dörfler
46c6a221a8 Files that were created in the future (time zone issues, or whatever)
shouldn't be regarded recent either.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 10:46:37 +00:00
Michael Lotz
f1b05aa545 Fix syntax error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 02:21:47 +00:00
Michael Lotz
20c43b026d * Add support for low/full speed interrupt transfers over USB 2.0 hubs
* Actually enable the periodic schedule so that any interrupts work over EHCI

For those who wait for OHCI: You can now attach your USB 1.1 mouse or keyboard
to a USB 2.0 hub and it should work.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 01:58:01 +00:00
François Revol
0ade5bd84b Start code I'll work on tomorrow^Wtoday.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 01:48:19 +00:00
François Revol
15297f84d8 Needed header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 01:46:05 +00:00
François Revol
89ae49c791 Buildable boot drive support, not sure it works.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 01:41:37 +00:00
François Revol
2e99fa6ed4 I need Mediach()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23378 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 01:33:32 +00:00
Marcus Overhagen
ddb73d9f46 fix bugs exposed by ASSERT
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 01:33:10 +00:00
Axel Dörfler
978e434d72 * Finally nailed down and fixed #355: apparently, if the pose info attribute
couldn't be read from a file, Tracker would try 10 times with a 10 ms
  timeout - but only if the creation time equals the modification time!
  That was obviously supposed to be a check if the file was recent...
  Now that computers are faster (even when running Haiku), it may 
  actually take less than one second to copy a file, so most files on
  the Haiku image satisfied this thoughtful and future-proof check.
  (And no, even the original BFS does not automatically increase the 
  modified time on close.)
* Now, mmlr came up with a better check: we just check the file's 
  creation time against the current time to see if it's a recent file.
  That should work a bit more reliable :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 01:32:47 +00:00
François Revol
41eebe0564 toscalls.h after other headers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 01:13:37 +00:00
François Revol
19c9c08e67 Seems the ppc way of reusing arch_string.o doesn't work for me.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 01:13:02 +00:00
Marcus Overhagen
e3c8f43645 implemented basic atapi support framework.
improved device detection.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 01:10:00 +00:00
François Revol
1906acb2cd More block device stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 00:58:10 +00:00
Ingo Weinhold
3f1cf58c3e Script that times 100 compilations of a hello world C program. Under
Haiku it is rather slow (on my machine about 80% slower than on Zeta)
and sometimes a compilation even fails, due to what looks to me like a
problem with gcc's subprocess synchronization (our wait()/waitpid() or
friends might have some race condition).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 00:44:22 +00:00
Ingo Weinhold
34b3b26b3b Merged branch haiku/branches/developer/bonefish/optimization revision
23139 into trunk, with roughly the following changes (for details svn
log the branch):
* The int 99 syscall handler is now fully in assembly.
* Added a sysenter/sysexit handler and use it on Pentiums that support
  it (via commpage).
* Got rid of i386_handle_trap(). A bit of functionality was moved into
  the assembly handler which now uses a jump table to call C functions
  handling the respective interrupt.
* Some optimizations to get user debugger support code out of the
  interrupt handling path.
* Introduced a thread::flags fields which allows to skip handling of
  rare events (signals, user debug enabling/disabling) on the
  common interrupt handling path.
* Got rid of the explicit iframe stack. The iframes can still be
  retrieved by iterating through the stack frames.
* Made the commpage an architecture independent feature. It's used for
  the real time data stuff (instead of creating a separate area).
* The x86 CPU modules can now provide processor optimized versions for
  common functions (currently memcpy() only). They are used in the
  kernel and are provided to the userland via commpage entries.
* Introduced build system feature allowing easy use of C structure
  member offsets in assembly code.

Changes after merging:
* Fixed merge conflict in src/system/kernel/arch/x86/arch_debug.cpp
  (caused by refactoring and introduction of "call" debugger command).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 00:36:44 +00:00
François Revol
5a69bb2730 Start of BIOS drive support.
Hmmm how will I get the size of physical drives ???


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 00:22:09 +00:00
François Revol
55aba426ed comments on bios drives.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 00:21:48 +00:00
François Revol
ce88dfd27f BlockHandle goes to devices.cpp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 23:26:04 +00:00
François Revol
6f9e265157 * Get rid of owner, BIOS devices don't need open/close.
* split Handle class to CharHandle and BlockHandle.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 23:16:55 +00:00
François Revol
78843897fc * Comment unneeded files.
* I *do* want PIC code for m68k!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 22:25:10 +00:00
François Revol
94644dfbbc No images yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 22:18:38 +00:00
François Revol
81c66ced7d Video mode menu and support stubs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 22:16:40 +00:00
François Revol
bbe7f995af hey it's only 23:00!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 22:08:12 +00:00
François Revol
93879b9abf Fix debug output code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 22:02:03 +00:00
François Revol
4f9d8b0eb9 Fix warning.
helf: if you are bored you can just help coding :P


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 21:43:42 +00:00
François Revol
d86cef8673 shouldn't access FILE as it's not declared.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 21:41:55 +00:00
François Revol
a03f522e5a Fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 21:30:31 +00:00
François Revol
13b1977cd2 Missing include.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 21:27:33 +00:00
Axel Dörfler
737ce1c03c * The keyboard target was always the first menu in the window list - no matter if that was hidden or not.
This fixes the bug described by Stefano in r23343.
* Therefore, I enabled cached menu windows again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 21:26:55 +00:00
François Revol
9d2f3035cd Handle console input.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 21:16:22 +00:00
François Revol
9bc2823955 * Note for stage1
* Fix call to Bconin()
add correct color handling.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 21:15:46 +00:00