Stackdb
Stackdb is a stackable, multi-target and -level source debugger and memory forensics library.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
target_xen_vm_vmp.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014 The University of Utah
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License as
6  * published by the Free Software Foundation; either version 2 of
7  * the License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
17  */
18 
19 #ifndef __TARGET_XEN_VM_VMP_H__
20 #define __TARGET_XEN_VM_VMP_H__
21 
22 #include "config.h"
23 
24 #define TARGET_XV_VMP_BIN_PATH INSTALL_DIR "/bin/target_xen_vm_vmp"
25 #define TARGET_XV_VMP_SOCKET_FILENAME "vmi.target_xv_vmp.sock"
26 #define TARGET_XV_VMP_SOCKET_CLIENT_FILE_FORMAT "vmi.target_xv_vmp_client.%hd.sock"
27 /* Just for printing the %hd */
28 #define TARGET_XV_VMP_SOCKET_CLIENT_FILE_FORMAT_EXTRA 6
29 
30 /*
31  * Right now this structure is meaningless, because we cannot and will
32  * not put the reponsibility of demultiplexing which domains are
33  * experiencing debug exceptions into the hands of the demultiplexer.
34  * There is too much Xen hypervisor variability in proper handling of
35  * debug flags and CPU state that we would like to use to demultiplex;
36  * and we cannot rely on it. So we just "forward" the signal to all
37  * clients (as if they had sent a client_request with vmid=0) without
38  * trying to establish which domains are really experiencing a debug
39  * exception.
40  */
41 
43  unsigned long int vmid;
44 };
45 
47  unsigned long int vmid;
48 };
49 
50 #ifdef XENCTRL_HAS_XC_INTERFACE
51 int xen_vm_xc_attach(xc_interface **xc_handle,xc_interface **xce_handle);
52 int xen_vm_xc_detach(xc_interface **xc_handle,xc_interface **xce_handle);
53 int xen_vm_virq_attach(xc_interface *xce_handle,XC_EVTCHN_PORT_T *dbg_port);
54 int xen_vm_virq_detach(xc_interface *xce_handle,XC_EVTCHN_PORT_T *dbg_port);
55 #else
56 int xen_vm_xc_attach(int *xc_handle,int *xce_handle);
57 int xen_vm_xc_detach(int *xc_handle,int *xce_handle);
58 int xen_vm_virq_attach(int xce_handle,XC_EVTCHN_PORT_T *dbg_port);
59 int xen_vm_virq_detach(int xce_handle,XC_EVTCHN_PORT_T *dbg_port);
60 #endif
61 
62 #endif /* __TARGET_XEN_VM_VMP_H__ */
int xc_handle
int xen_vm_virq_detach(int xce_handle, XC_EVTCHN_PORT_T *dbg_port)
int xen_vm_xc_detach(int *xc_handle, int *xce_handle)
int xen_vm_virq_attach(int xce_handle, XC_EVTCHN_PORT_T *dbg_port)
int xen_vm_xc_attach(int *xc_handle, int *xce_handle)