aboutsummaryrefslogtreecommitdiffstats
path: root/tools/debugger/pdb/xcs.ml
diff options
context:
space:
mode:
Diffstat (limited to 'tools/debugger/pdb/xcs.ml')
-rw-r--r--tools/debugger/pdb/xcs.ml85
1 files changed, 0 insertions, 85 deletions
diff --git a/tools/debugger/pdb/xcs.ml b/tools/debugger/pdb/xcs.ml
deleted file mode 100644
index ce8eaee1da..0000000000
--- a/tools/debugger/pdb/xcs.ml
+++ /dev/null
@@ -1,85 +0,0 @@
-(** xcs.ml
- *
- * xen control switch interface
- *
- * @author copyright (c) 2005 alex ho
- * @see <www.cl.cam.ac.uk/netos/pdb> pervasive debugger
- * @version 1
- *)
-
-open Int32
-
-let xcs_path = "/var/lib/xen/xcs_socket" (* XCS_SUN_PATH *)
-let xcs_type = 11 (* CMSG_DEBUG *)
-
-
-type xcs_message =
- {
- domain : int;
- status : int;
- ring : int32;
- mutable evtchn : int;
- }
-
-external connect : string -> int -> Unix.file_descr = "xcs_connect"
-external disconnect : Unix.file_descr -> unit = "xcs_disconnect"
-external read_message : Unix.file_descr -> xcs_message = "xcs_read_message"
-external write_message : Unix.file_descr -> xcs_message -> unit =
- "xcs_write_message"
-external initialize_ring : int -> int32 -> int32 = "xcs_initialize_ring"
-
-(*
- * initialize xcs stuff
- *)
-let setup () =
- connect xcs_path xcs_type
-
-
-(*
- * adios
- *)
-let teardown fd =
- disconnect fd
-
-
-(*
- * message from a domain backend
- *)
-let read socket =
- let xcs = read_message socket in
- begin
- match xcs.status with
- | 1 -> (* PDB_CONNECTION_STATUS_UP *)
- begin
- print_endline (Printf.sprintf " new backend domain available (%d)"
- xcs.domain);
- let ring = initialize_ring xcs.domain xcs.ring in
-
- let (local_evtchn, remote_evtchn) =
- Evtchn.bind_interdomain xcs.domain in
-
- xcs.evtchn <- remote_evtchn;
- write_message socket xcs;
-
- let evtchn_fd = Evtchn._setup () in
- Evtchn._bind evtchn_fd local_evtchn;
-
- (evtchn_fd, local_evtchn, xcs.domain, ring)
- end
- | 2 -> (* PDB_CONNECTION_STATUS_DOWN *)
- begin
- (* TODO:
- unmap the ring
- unbind event channel xen_evtchn_unbind
- find the evtchn_fd for this domain and close it
- finally, need to failwith something
- *)
- print_endline (Printf.sprintf " close connection from domain %d"
- xcs.domain);
- (socket, 0, 0, 0l)
- end
- | _ ->
- failwith "xcs read: unknown xcs status"
- end
-
-