Commit Graph

630 Commits

Author SHA1 Message Date
Marcus Overhagen
794df3bf25 This removes the inline assembly code for find_thread
from OS.h, sorry for triggering a complete rebuild.
To avoid doing a syscall for find_thread(0), the assembly
version is now in libroot. For BeOS R5 compatibility, 
_kfind_thread_ is retained. This will fix some compile 
problems, and provides a cleaner OS.h for future Haiku
versions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-20 23:57:11 +00:00
Ingo Weinhold
4b9ec73e99 We need to override the virtual close_fd() in BFile for binary compatibility
(bug #43).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-12 09:26:59 +00:00
Ingo Weinhold
2fd4a0411b Added a boolean "synchronous" parameter to BRoster::Shutdown(). Used in the
Deskbar to initiate the shutdown process asynchronously. Couldn't test it,
because opening the Be menu doesn't work:
***PANIC: BW: Can't find view with ID: 19 !***



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-17 16:37:11 +00:00
Ingo Weinhold
7f9c673981 * Introduced a new debugger message B_DEBUGGER_MESSAGE_HANDED_OVER, which
is sent to a debugger when the debugged team has been successfully handed
  over to another debugger.
* Fixed handling of B_DEBUG_MESSAGE_PREPARE_HANDOVER. We don't send a reply.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-15 12:18:33 +00:00
Stefano Ceccherini
16046321cc Implemented BPrivateScreen::ReadBitmap(), but the guts are still missing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-13 22:33:52 +00:00
Axel Dörfler
c9955bf00a Added new but empty function file_cache_invalidate_file_map().
This is needed in case the on-disk representation of a file changes (due to reorganization/defragmentation).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-13 16:33:05 +00:00
Ingo Weinhold
a13df0dc01 Added a "confirm" parameter to BRoster::Shutdown() which causes the registrar
to ask the user to confirm shutting down the system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-09 20:23:28 +00:00
Stephan Aßmus
7dc436d8dd usability improvements to scrollbar, sorry had no time to include all of Stefanos drawing code yet, other visual improvements
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-07 14:33:19 +00:00
Axel Dörfler
508d8a847f Big cleanup, rewrote Shelf.h.
Fixed bug in BShelf::ReplicantAt() - it is supposed to test if any of
the variables passed in is NULL before writing to them.
Got rid of the _PR3_COMPATIBLE_ stuff - we definitely don't need that :)
Refactored the code a bit - moved the identical parts of the three
DeleteReplicant() variants into a separate method _DeleteReplicant(),
moved _rep_data_ code out of the class definition, replaced names like
"fView2" and "aBool" with something more meaningful.
Prefixed private methods with '_'.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 00:43:52 +00:00
Marcus Overhagen
23f34657e1 This fix should prevent TimeSource control thread from using random semaphores,
by no longer using an uninitialized Blocker object.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 21:35:38 +00:00
Stephan Aßmus
2e6a5805ba MenuField layouts the menu bar better with respect to fDivider, it aligns better with other controls. fDivider in TextControl is an integer number now, small fix and small cleanup in Menu, Window::InitData takes an optional BBitmap token to construct an offscreen window, fixed PrivateScreen IndexForColor, View prevents being located at fractional coordinates as in R5, BBitmap unlocks its offscreen window since it is never Show()n and needs manual unlocking, fixed Slider offscreen window mode and improved triange thumb drawing, ScrollView would not crash when passing a NULL target just for kicks, the private MenuBar class now implements Draw to draw itself a little differently inside the BMenuField (dark right and bottom side) - though how it currently sets the clipping region prevents the text controls to draw in Playground, needs fixing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 16:30:53 +00:00
Ingo Weinhold
553ea30124 * Moved TRoster out of the BPrivate namespace. It does no longer appear in
any public header.
* Replaced a good deal of the MessageDeliverer's DeliverMessage() versions
  by more general ones using the new interface MessagingTargetSet to represent
  a set of targets. This simplifies the usage in cases where the caller doesn't
  already have the targets in a supported representation.
* Implemented a first approximation of the shutdown process. There is no
  GUI yet. Only superficially tested under R5.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 17:17:40 +00:00
Ingo Weinhold
925d069d23 * Added BRoster::ShutDown().
* Adjusted the shutdown command to use BRoster::ShutDown(). Removed
  the alert.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 17:04:47 +00:00
Ingo Weinhold
a60ea28262 * Made BApplication::Private public. Should not have worked before (probably
a compiler bug).
* Don't try to cleanup the app server connection stuff, when compiled
  with RUN_WITHOUT_APP_SERVER.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 16:53:59 +00:00
Ingo Weinhold
a406236dc2 New error codes:
- B_SHUTDOWN_CANCELLED: The shutdown process was cancelled (most likely by
  the user).
- B_SHUTTING_DOWN: An operation cannot be performed, since the system is
  shutting down (e.g. BApplication creation).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 16:50:29 +00:00
Stefano Ceccherini
96f6ef632c The bar and knob frame are now calculated. That way we god rid of some billions fPrivateData->fThumbFrame.OffsetBy() calls
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 07:42:24 +00:00
Stefano Ceccherini
0ee76eaf12 More work on scrollbars. Some refactoring.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13402 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-02 14:08:33 +00:00
Stefano Ceccherini
267b721430 Started integration of new drawing code. Still so much work to do. Simplified some parts of the code. Scrollbars are broken in many ways, need refactoring
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 22:13:10 +00:00
Stefano Ceccherini
bb2ee4164b Forgot to commit the changed header too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-30 09:14:08 +00:00
Axel Dörfler
a00fcbcdf8 Improved BSlider class:
- rewrote GetPreferredSize(), it now actually works correctly
- BSlider is certainly not supposed to resize itself on creation
- fixed BarFrame() and ThumbFrame() to support a different view frame
  than the ideal one
- added SetBarThickness() support
- refactored constraining the mouse point to _ConstrainPoint() - it's
  now used by MouseDown() and MouseMoved() - because of that, tracking
  now works with vertical sliders as well
- still has some drawing problems, but less
- _ReservedSlider4() was defined public for the R5 build
Cleanup, more or less rewrote the header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 02:12:42 +00:00
Axel Dörfler
bb1336b44f Some refactoring and cleanup:
- renamed some members and methods to fit our style guide
- moved removeSelf() to RemoveSelf() (as those two are essentially
  the same), and fixed it on the way: the state of the child views
  is now also updated by the new _UpdateStateForRemove() method
- Moved BWindow::sendPulse() and activateView() to BView::_Pulse()
  and BView::_Activate()
- some minor stuff

This also fixes the broken previous commit - I forgot to update
View.h; this update contains the previous changes as well. Sorry
for the inconvenience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 23:02:44 +00:00
Ingo Weinhold
9351453415 * Added a private API class BServer, a BApplication subclass especially
for servers, that don't have a GUI or want to control when the app server
  connection is established.
* BServer is necessarily a friend of BApplication, for it uses a private
  constructor. Hence BApplication::Private::InitGUIContext() is no longer
  needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 14:53:29 +00:00
Ingo Weinhold
c8e7f53e08 * Radically culled the list of BApplication friends and introduced a
BApplication::Private class for accessing relevant parts.
* Pulled the app server connection and IK initialization out of
  InitData() into a new method _InitGUIContext() and introduced a private
  constructor that allows to avoid this initialization. This will be used
  for servers that don't have GUI respectively want to init the app server
  connection later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 12:55:16 +00:00
Axel Dörfler
85bd83a710 AS_CREATE_WINDOW now also gets the actual frame width and size limits of
the window on server side - ie. if the app_server could not create a
window of the size requested, BWindow::fFrame will still be correct
(and the size limits will mirror actual decorator limits).
Renamed fMinWindHeight and friends to fMinHeight and so on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 01:14:39 +00:00
Axel Dörfler
9793d44045 Removed superfluous BView::findView() and moved its functionality to BView::FindView().
Fixed it on the way - it's a bad idea to pass NULL pointers to strcmp().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-27 01:54:12 +00:00
Philippe Houdoin
d5cf9b7feb Removed GLX headers: was never there anyway!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-26 21:48:15 +00:00
Philippe Houdoin
0061feaff0 Import OpenGL kit headers, thanks to Mesa3D project.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-26 13:50:18 +00:00
Jérôme Duval
679778fdd8 comment out opengl defs, needed for future opengl additions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-17 09:57:08 +00:00
Axel Dörfler
b7e162e93a We definitely don't need the FIX_FOR_4_6, whatever that was about.
Also restored the original locations of the class members I broke before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 22:12:32 +00:00
Axel Dörfler
62bb447ee0 In order to be binary compatible, one should not change the location
of private members if the class has friends (and BWindow has a lot of
them...), stupid Axel!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 22:04:29 +00:00
Axel Dörfler
dd10337fd0 Renamed BAppServerLink to AppServerLink, BPortLink to PortLink, LinkMsgReader
to LinkReceiver, LinkMsgSender to LinkSender, and put everything into the
BPrivate namespace.
Made AppServerLink a cheap object - it will use the applications receiver/sender
and not create its own buffers.
Fixed broken communication stuff here and there (mostly Font.cpp).
Put the newly introduced set|get_system_colors() into the BPrivate namespace -
please don't introduce private functions into the public namespace!!!
Also fixed their broken communication use, as Darkwyrm obviously forgot about
it again: the sequence Flush(); GetNextMessage() without error checking is
purely wrong and can make the app hang and/or crash! :-)
Other minor cleanup.
The input_server used some test mode with the haiku build target which is
probably wrong.
Hopefully I did not forget anything this time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 21:28:56 +00:00
Stefano Ceccherini
8f9d0f685d Removed unused stuff
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-12 14:48:49 +00:00
Stefano Ceccherini
941cf68a79 this looks like the right time to remove this...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-12 14:47:26 +00:00
Axel Dörfler
183dee22cb Unlike R5, receive_data() could return an error code under Haiku - this
can now only happen if the thread is killed.
_user_receive_data() will now longer pass B_CAN_INTERRUPT to receive_data(),
but B_KILL_CAN_INTERRUPT - this should fix the problem Stefano experienced
with this function, even if I couldn't reproduce it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-12 11:14:37 +00:00
Axel Dörfler
e17b33e56b The window was removing the app_server connection too early, and thus hang in Quit().
Removed the stopConnection() method.
Cleaned up header a bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-05 18:57:55 +00:00
Axel Dörfler
a01d14b2db Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-04 15:15:42 +00:00
Stephan Aßmus
c10a3393e2 huge BSlider cleanup, it doesn't use an offscreen bitmap anymore by default (compile time switch), updated drawing for Haiku features and disabled look, work in progress
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12948 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:57:34 +00:00
Stephan Aßmus
0c3344f4a1 no Invalidate in BControl::SetValue, I figure more controls need to be updated for this change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:55:49 +00:00
Stefano Ceccherini
1d95a5ff3a Renamed the private BScrollBarPrivateData class to be an internal BScrollBar's class
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-31 12:58:08 +00:00
Axel Dörfler
09b83e5cec Removed the obsolete byteorder.h header (it just included ByteOrder.h).
Fixed the remaining references to that header in our repository.
Note, this might break source compatibility - please update your sources :-)
Slightly converted UBS_audio_utils.c to use our style guide while I were at it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 08:12:59 +00:00
Axel Dörfler
d85db27509 Screw source compatibility. Cleaning up the legacy.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 23:57:47 +00:00
Stephan Aßmus
85b226041a Added B_BITMAP_NO_SERVER_LINK to the BBitmap flags. It constructs a BBitmap without a server link, which consequently cannot be drawn by the app_server, but which is nevertheless very useful. It essentially does the same thing as RUN_WITHOUT_APP_SERVER. I also added a CleanUp() function and moved the cleanup code from InitObject() there. CleanUp() is now called in the destructor, which means that the app_server now knows when to free the server side bitmap.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 18:10:20 +00:00
Axel Dörfler
47f39c93cb Merged the disk device manager module interface for file systems with the
VFS's interface, so that a file system only has to implement one interface.
As a side effect, the automatic file system detection may now work (not yet
tested, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 17:15:56 +00:00
Axel Dörfler
879d9c6b6e Renamed the "blkman" module to "block_io".
Also renamed some defines and structures, although the structure and some other names are still odd.
This module should probably be moved into the kernel anyway, as it provides basic and crucial services.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 15:43:02 +00:00
Axel Dörfler
6094d89f2f Merged branches/developer/axeld/driver_recognition changed r12307:12637 into trunk.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 03:27:44 +00:00
Axel Dörfler
d4112f6bc5 Applied some changes suggested by mmu_man, more to come, though:
- has_signals_pending() is not declared in Be headers, and it isn't declared in
  our KernelExport.h anymore, too
- removed snooze_etc() from KernelExport.h, as it's already defined in OS.h
  (and really exported by libroot.so).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-29 11:41:12 +00:00
Axel Dörfler
b20667b35b {install|remove}_io_interrupt_handler() now correctly handle the B_NO_ENABLE_COUNTER flag.
Lots of cleanup:
- moved B_NO_ENABLE_COUNTER flag definition out of int.h to KernelExport.h, as it's
  described in the BeBook (although it's probably not really used that often :))
- int.c no longer has any platform dependent code (+ 0x20 on interrupt numbers is gone);
  it's now entirely handled in the arch/x86/ section.
- the io_vectors[] is now statically initialized, instead of allocated from the heap
- removed {install|remove}_interrupt_handler(); they weren't that useful, arch_smp_init()
  is now calling install_io_interrupt_handler() correctly instead
- introduced a new arch_int.h header file that currently contains NUM_IO_VECTORS only
  (though on x86, it also has ARCH_INTERRUPT_BASE == 0x20).
- changed the return type from {install|remove}_io_interrupt_handler() from "long" to
  "status_t"
- rearranged and cleaned the PIC initialization code, made the PIC code more prominent
- changed comments that talk about a non existing 8239 (the PIC chip is actually 8259)
- moved arch/x86/interrupts.h to the source directory, as it's not used outside
- added BeOS compatible interrupts_enabled() function, that should replace our
  equivalent (and private) are_interrupts_enabled()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-27 01:08:35 +00:00
Jérôme Duval
5258e67dff Courtesy of Olivier Coursiere (aka oco), based on documentation (feel free to check against real hardware)
Adds latests IDs from Intel docs
Adds some Sempron IDs
Renamed Athlon 64 to be consistent with Intel names
Adds IDs in cpu_type.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-17 22:46:08 +00:00
Axel Dörfler
219dacab3c Changed our read link syscall and FS interface call to make it easily possible to be POSIX compliant.
Also changed readlink() to be POSIX compliant with those changes.
"ls -l" does now resolve links properly again (the new coreutils version outlined the problems).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-06 16:07:10 +00:00
Axel Dörfler
ec5a9998df Added a B_NOT_SUPPORTED synonym for EOPNOTSUPP.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 13:56:16 +00:00
Axel Dörfler
ae614d48fc Some minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12242 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 23:00:48 +00:00
Michael Lotz
c2da902f2e Implemented BPortLink::AttachShape and BPortLink::ReadShape and used them for passing the shapes in AS_GET_GLYPH_SHAPES.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 07:29:04 +00:00
Stefano Ceccherini
370ca4b97c Corrected forward declaration
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 15:21:34 +00:00
Stephan Aßmus
0985210969 added this very useful compare function
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 16:30:46 +00:00
Ingo Weinhold
576c52f8b1 Added the gcc printf format attribute for debug_printf(), so that gcc warns about format/parameter inconsistencies.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 15:25:57 +00:00
Axel Dörfler
61ad5bc2e7 Fixed various problems with the latest stdbool.h changes, including stdbool.h itself:
- SupportDefs.h only includes stdbool.h if included from C
- stdbool.h for C++ now includes a macro for "bool" as defined by that header
- stdbool.h does nothing if __bool_true_false_are_defined is already defined
- stdbool.h no longer defines a _Bool enum, but defines _Bool as unsigned char, as
  previously done by SupportDefs.h (the previous version changed the size).
- The gensyscalls Jamfile now preprocesses its headers in C++ mode so that "bool"
  stays "bool", and doesn't become _Bool.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 18:01:40 +00:00
Ingo Weinhold
d2c78559a0 We now also support partial writes to the debugged team's memory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 18:23:33 +00:00
Jérôme Duval
aab32edf08 updated stdbool.h
SupportDefs.h now includes stdbool.h
This can break in some cases


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 17:08:27 +00:00
Nathan Whitehorn
6d92b10268 Upgraded the bus manager interface. It's now capable enough to start actually doing interesting things, like power management, thermal stuff, and hyperthreading.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-18 00:41:53 +00:00
Axel Dörfler
34e92cad76 Added and implemented new system calls switch_sem() and switch_sem_etc(); even if
they are public now, they might become private later on.
It's almost the same as acquire_sem() but allows you to release another semaphore
atomically. This makes condvar implementations and the like very simple to do.
Added B_CHECK_PERMISSION flags to the user calls, although it's not honored yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 22:35:00 +00:00
Ingo Weinhold
cbc6d404f9 Added missing select()/deselect() Hooks to the file system interface
and made sure they are called by the VFS, if existent.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 21:04:25 +00:00
Axel Dörfler
f77f93d98a Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 17:51:03 +00:00
Axel Dörfler
bade75a525 Added prototype for the new function publish_vnode().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 01:07:19 +00:00
Ingo Weinhold
291e414a9e * Somehow this B_DEBUGGER_MESSAGE_THREAD_STOPPED message bothered me.
Most of the debug events had their own message, but some were grouped
  into this `stopped' message with a `why' field to describe what kind
  of event it actually was. Hence the user had to check two levels until
  they could know what event occurred. So I got rid of this message and
  provided separate messages for the concerned events.
* Got rid of B_DEBUG_MESSAGE_GET_WHY_STOPPED and introduced
  B_DEBUG_MESSAGE_GET_CPU_STATE which is pretty much the same.
* Put B_DEBUG_MESSAGE_RUN_THREAD and B_DEBUG_MESSAGE_STEP_THREAD into
  a single B_DEBUG_MESSAGE_CONTINUE_THREAD message with a boolean
  `single_step' field.
* get_debug_why_stopped_string() -> get_debug_message_string().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-13 23:43:05 +00:00
Ingo Weinhold
1619a2e5b4 * The exceptions now have their own debugger message. Added
get_debug_exception_string() to get a user-readable string for an
  exception type.
* Added more signal support. Now the debugger can set per thread which
  signals it wishes to be notified of. It can also just ignore the next
  occurrence of a signal.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 21:35:31 +00:00
Ingo Weinhold
9a28130b32 Added (currently only) flag B_WAIT_TILL_LOADED for _kern_load_image()
(maybe this should better go into a private header?). If given the function
waits till the loader is done with loading and relocating the executable.
Otherwise it returns before the loader starts.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:01:25 +00:00
Ingo Weinhold
1c7fbde145 Added message def for preparing to hand over a debugged team to another
debugger. After successful reply to the message the debugger won't receive
any more messages from the debugged team. The mechanism is completely
transparent to the target debugger. It simply installs itself as debugger
for the team.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 21:56:23 +00:00
Ingo Weinhold
a29ecae5f0 New debug function wait_for_debugger(). Useful when creating teams to be debugged via fork().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-09 22:45:41 +00:00
Ingo Weinhold
9b92e8c011 Added missing reply port for message B_DEBUG_MESSAGE_GET_WHY_STOPPED. Removed unnecessary alignment in debug_nub_set_cpu_state.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-09 22:04:38 +00:00
Ingo Weinhold
7586a0f3d6 Reading memory is more handy, if it allows for partial reads. So now the size is returned with the reply.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-08 23:09:31 +00:00
Axel Dörfler
96828efafc Added empty arch_debugger.h header file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-03 06:07:59 +00:00
Nathan Whitehorn
92ba8215d2 Added basic (i.e. argumentless) control method execution. Now we can read fan speeds, cpu temperatures, laptop lid states, and all sorts of other glorious things.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-03 00:01:35 +00:00
Nathan Whitehorn
53403b7edc ACPI bus manager interface, revision 3. Now allows full namespace traversal. Next is AML control method execution.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-02 19:31:30 +00:00
Jérôme Duval
9f20e1783b added some missing posix error codes. i don't know if they exist as BeOS error codes at all
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-02 16:42:07 +00:00
Nathan Whitehorn
c11886dbbe Now we have a nice structure for handling ACPI fixed events. This means we can do things like make acpi_button block, instead of polling it. Direct register access has gone away. The next revision of the bus manager interface should include namespace traversal and AML control method execution.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-02 05:05:18 +00:00
Ingo Weinhold
0d3bc46a84 * Added the extended (FP, MMX, SSE...) registers.
* Removed orig_e{a,d}x. We will always report those in e{a,d}x.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-01 23:46:08 +00:00
Ingo Weinhold
2b3216fc5a Correct terminology.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-01 23:44:23 +00:00
Ingo Weinhold
a67d62f1db Added definitions for supporting single step, break- and watchpoints,
and setting the CPU state.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-28 00:25:23 +00:00
Ingo Weinhold
540103da09 * New function get_why_stopped_string() to get a human-readable
translation for the debug_why_stopped codes.
* Added nub_port member to debug_origin structure, so that now all
  synchronous messages to the debugger also include the debug nub port.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-25 14:24:00 +00:00
Ingo Weinhold
17e41f5251 Added new semaphore flag B_KILL_CAN_INTERRUPT. It makes acquire_sem_etc()
interruptable by SIGKILL[THR], even if B_CAN_INTERRUPT is not set. Not
sure, if this is the best solution, but it works.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-25 14:10:41 +00:00
Ingo Weinhold
433e1959ae Introduced a debug_origin structure consisting of thread and team ID of the concerned thread, and being first member of all messages sent to the debugger. This simplifies handling of messages in the debugger a good deal.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-24 18:47:04 +00:00
Ingo Weinhold
c3610c8098 * Architecture specifics live in arch/<arch>/debugger.h now.
* team debug flags:
  - Added flags for team creation, thread events (creation,
    deletion), and image events (creation, deletion).
  - Got rid of B_TEAM_DEBUG_SYSCALL_FAST_TRACE. We always send the syscall
    arguments. The overhead should be neglectable.
  - Added B_TEAM_DEBUG_STOP_NEW_THREADS.
* Added debugger notification messages for signals, team, thread and
  image events.
* Added debug request B_DEBUG_MESSAGE_GET_WHY_STOPPED.
* When continuing a thread, the debugger can now specify how to deal with
  the occurred event (ignore or handle).
* More data in the signal received notification message.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-24 15:43:28 +00:00
Ingo Weinhold
1faf0c16fa x86 architecture specific debugger definitions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-24 15:33:12 +00:00
Adi Oanca
a1ce489220 added a method for properly calling 'Attached' hooks
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-22 20:05:47 +00:00
Ingo Weinhold
75393a9870 Named the fReplyTo struct so that we can create other vars of this type.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-22 13:06:42 +00:00
Nathan Whitehorn
08923ac8ba ACPI Bus Manager interface header. Currently highly incomplete.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-21 20:00:59 +00:00
Matthew Wilber
1adf927f76 Moved FuncTranslator.h to private headers since it is not intended for the user.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-12 14:33:31 +00:00
Matthew Wilber
fa2d26761c Moved translator_data struct to FuncTranslator private header because this struct is not intended to be used by the user.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-12 14:31:01 +00:00
Ingo Weinhold
c53b50023a Trashed the old header and started a new one from the scratch.
Unless a good reason appears not to, we'll break binary compatibility here.
BDB could be considered one, but we need a replacement for it anyway. We
strive to port GDB and a couple of changes in the debugger API will make
that easier.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-10 02:45:18 +00:00
Matthew Wilber
3bd1b732eb Changed TranslationKit version macros to make them more readable.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-05 18:03:28 +00:00
Ingo Weinhold
eafe61c06b * Some formatting cleanup.
* Removed ARM support.
* Removed PEF references.
* Added structure and constants for pre syscall tracing.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-04 14:37:55 +00:00
Adi Oanca
239fc54e70 changed one private method's prototype
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-03 22:44:06 +00:00
Ingo Weinhold
98f9f2bf07 Added parameters to notify_{stat,attribute}_change() that will give more information on what actually happened.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 15:17:54 +00:00
Ingo Weinhold
13bbbbf5dc The curse of aging... a trembling hand. ;-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 14:26:42 +00:00
Ingo Weinhold
95bac3fda5 Haiku will provide more information for B_ATTR_CHANGED and B_STAT_CHANGED events.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 14:19:26 +00:00
Ingo Weinhold
102267997c Vertical() can be const and should be, when invoked on a const instance.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 13:33:34 +00:00
Nathan Whitehorn
96b5ca7902 Made public headers not depend on private ones
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 04:27:05 +00:00
Stefano Ceccherini
422c07914d Applied our style guide as someone (cough! *** Axel *** cough!) bugged me (correctly) about it :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-01 14:29:06 +00:00
Ingo Weinhold
5207cc7a8c Proposal for a replacement of the notify_listener() and
send_notification() interface, which I personally find quite ugly.
Each notification type gets its own function, which makes very clear,
which parameters are to be supplied. Also note the addition of the
`name' parameter for the `entry removed' notification and `fromName'
for `entry moved'.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 01:53:37 +00:00
Ingo Weinhold
efbea3a07a Moved the functionality to flatten and unflatten a BMessage header into
a separate class. This allowed to improve _SendFlattenedMessage() to
deal properly with flattened BMessages as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 00:19:50 +00:00