mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 02:30:03 +01:00
Rationalise debugger stuff in the tree. Within Xen itself, remove PDB references and fold into domu_debug. When domu_debug hits a breakpoint, it pauses all vcpus of the domain and raises VIRQ_DEBUGGER (not VIRQ_PDB). The debugger in domain0 can either poll pause status or bind to VIRQ_DEBUGGER. Before debugging a breakpointed domain the debugger should issue PAUSEDOMAIN itself, or it is not guaranteed to see paused state of the domain! Outside Xen there's a new dir tools/debugger, containing gdb, pdb and a new library libxendebug (used by pdb). I also think the ptrace functions in libxc also ought to be moved out: either to libxendebug or to a new library libxenptrace. Signed-off-by: Keir Fraser <keir@xensource.com>
39 lines
1.0 KiB
OCaml
39 lines
1.0 KiB
OCaml
(** Domain.mli
|
|
*
|
|
* domain context interface
|
|
*
|
|
* @author copyright (c) 2005 alex ho
|
|
* @see <www.cl.cam.ac.uk/netos/pdb> pervasive debugger
|
|
* @version 1
|
|
*)
|
|
|
|
open Int32
|
|
open Intel
|
|
|
|
type context_t
|
|
|
|
val default_context : context_t
|
|
val new_context : int -> int -> context_t
|
|
|
|
val set_domain : context_t -> int -> unit
|
|
val get_domain : context_t -> int
|
|
val set_execution_domain : context_t -> int -> unit
|
|
val get_execution_domain : context_t -> int
|
|
|
|
val string_of_context : context_t -> string
|
|
|
|
val read_registers : context_t -> registers
|
|
val write_register : context_t -> register -> int32 -> unit
|
|
val read_memory : context_t -> int32 -> int -> int list
|
|
val write_memory : context_t -> int32 -> int list -> unit
|
|
|
|
val continue : context_t -> unit
|
|
val step : context_t -> unit
|
|
|
|
val insert_memory_breakpoint : context_t -> int32 -> int -> unit
|
|
val remove_memory_breakpoint : context_t -> int32 -> int -> unit
|
|
|
|
val attach_debugger : int -> int -> unit
|
|
val detach_debugger : int -> int -> unit
|
|
val pause : context_t -> unit
|