* Made the parameter for restoring the FPU state const.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11522 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added event callbacks for break- and watchpoints and single stepping.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11520 a95241bf-73f2-0310-859d-f6bbb57e9c96
functions for setting break-/watchpoints (implemented).
Break-/watchpoints don't work yet, though. Missing is still the setting
of the debug control register DR7 somewhere in the interrupt code and
the handling of debug exceptions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11509 a95241bf-73f2-0310-859d-f6bbb57e9c96
* In team_delete_team() we no longer explicitly destroy the team debug
info. It is not necessary, since the terminating debug nub thread will
do that anyway. Moreover we access the debugger port in a safer manner
now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11504 a95241bf-73f2-0310-859d-f6bbb57e9c96
by the team lock, but by a lock in the structure. This is necessary
since we can't acquire the team lock while thread switching, for then the
thread lock is already held.
* Added support for single stepping and break-/watchpoints.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11503 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Now a debugged thread and the debug nub thread are not longer blocking
on ports when they receive a SIGKILL[THR] (we couldn't kill a debugged
team before).
* Small fixes. More correct cleanup when the debug nub thread terminates.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11491 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added is_kill_signal_pending(). Can anyone tell me why the compiler
complains about a missing previous prototype for it? <ksignal.h> is
included, and when only preprocessing the file, the prototype is clearly
there. I'm clueless.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11488 a95241bf-73f2-0310-859d-f6bbb57e9c96
- If the thread's B_THREAD_DEBUG_STOP flag is set, it is now always
stopped before handling the signals. Unless a SIGKILL[THR] signal is
pending.
- Also notify the debugger, when a signal is ignored.
* The signal's sigaction structure is additionally passed to the debugger
now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11478 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Now we deal correctly with thread debug flags (child threads inherit
the parent ones, save for syscall tracing in which case it needs to
be specified explicitly).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11477 a95241bf-73f2-0310-859d-f6bbb57e9c96
In the first case this is probably too early, since the image is not
really loaded at that time by the loader. We should probably introduce
a syscall the loader can invoke for that purpose.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11475 a95241bf-73f2-0310-859d-f6bbb57e9c96
convenience.
* Added/implemented callbacks for almost all missing debug events (team,
thread, image creation/deletion, exceptions/faults, signals).
* The debugger can now specify how to deal with the event that stopped an
event (ignore or handle signals, exceptions/faults).
* Implemented B_DEBUGGED_THREAD_GET_WHY_STOPPED debugger message.
* The cpu_state is now passed to the debugger with
B_DEBUGGER_MESSAGE_THREAD_STOPPED notifications.
* Completed _user_debugger() implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11474 a95241bf-73f2-0310-859d-f6bbb57e9c96
POSIX demands: if you pass in a NULL pointer, a buffer will now be
allocated for you.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11388 a95241bf-73f2-0310-859d-f6bbb57e9c96
keyboard controller method, and only if that fails we fall back to what
we have before.
At least my SiS laptop now properly reboots, and doesn't just halt
anymore - doesn't seem to have a negative impact on other machines, but
please report any regressions :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11386 a95241bf-73f2-0310-859d-f6bbb57e9c96
was one mode change before - took me quite some time to figure this out; now
we just do a mode change to the standard text mode; this is probably a good
idea anyway to make sure we're running in the correct text mode for the boot
menu.
The error check for the VESA BIOS calls were not really correct, even if
they worked. The vbe_mode_info structure is now cleared before the mode
info is requested (as suggested in Ralf Brown's interrupt list).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11382 a95241bf-73f2-0310-859d-f6bbb57e9c96
method as well.
Removed libdrivers.a from the kernel, added kernel_debug.o to the kernel.
Renamed the boot floppy shell "sh", so that consoled doesn't need to be
changed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11377 a95241bf-73f2-0310-859d-f6bbb57e9c96
console module which is used by the console driver, and will be used by
the on-screen KDL.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11350 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The syscall arguments are copied into the respective messages to the
debugger now.
* Optimized the nub thread memory reading command. Now only as many bytes
are sent to the debugger as were actually read.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11343 a95241bf-73f2-0310-859d-f6bbb57e9c96
and thread_at_kernel_exit() are always called for userland threads at the appropriate
situation (note, I've renamed those from *_atkernel_*).
The timing should be more accurate this way, and the thread::last_time_type field
is no longer needed: all interrupts are now added to the kernel time (where the
time is actually spent).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11331 a95241bf-73f2-0310-859d-f6bbb57e9c96
Removed the arch-specific stuff for all other platforms.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11326 a95241bf-73f2-0310-859d-f6bbb57e9c96