Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:13:28

0001 /*
0002    This file is part of Valgrind, a dynamic binary instrumentation
0003    framework.
0004 
0005    Copyright (C) 2012-2017 Citrix
0006 
0007    This program is free software; you can redistribute it and/or
0008    modify it under the terms of the GNU General Public License as
0009    published by the Free Software Foundation; either version 2 of the
0010    License, or (at your option) any later version.
0011 
0012    This program is distributed in the hope that it will be useful, but
0013    WITHOUT ANY WARRANTY; without even the implied warranty of
0014    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0015    General Public License for more details.
0016 
0017    You should have received a copy of the GNU General Public License
0018    along with this program; if not, see <http://www.gnu.org/licenses/>.
0019 
0020    The GNU General Public License is contained in the file COPYING.
0021 */
0022 
0023 /* Contributed by Andrew Cooper <andrew.cooper3@citrix.com>
0024    and Ian Campbell <ian.campbell@citrix.com> */
0025 
0026 #ifndef __VKI_XEN_EVTCHN_H
0027 #define __VKI_XEN_EVTCHN_H
0028 
0029 #define VKI_XEN_EVTCHNOP_bind_interdomain 0
0030 #define VKI_XEN_EVTCHNOP_bind_virq        1
0031 #define VKI_XEN_EVTCHNOP_bind_pirq        2
0032 #define VKI_XEN_EVTCHNOP_close            3
0033 #define VKI_XEN_EVTCHNOP_send             4
0034 #define VKI_XEN_EVTCHNOP_status           5
0035 #define VKI_XEN_EVTCHNOP_alloc_unbound    6
0036 #define VKI_XEN_EVTCHNOP_bind_ipi         7
0037 #define VKI_XEN_EVTCHNOP_bind_vcpu        8
0038 #define VKI_XEN_EVTCHNOP_unmask           9
0039 #define VKI_XEN_EVTCHNOP_reset           10
0040 
0041 typedef vki_uint32_t vki_xen_evtchn_port_t;
0042 DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_evtchn_port_t);
0043 
0044 struct vki_xen_evtchn_alloc_unbound {
0045     /* IN parameters */
0046     vki_xen_domid_t dom, remote_dom;
0047     /* OUT parameters */
0048     vki_xen_evtchn_port_t port;
0049 };
0050 
0051 struct vki_xen_evtchn_op {
0052     vki_uint32_t cmd; /* enum event_channel_op */
0053     union {
0054         struct vki_xen_evtchn_alloc_unbound    alloc_unbound;
0055         //struct vki_xen_evtchn_bind_interdomain bind_interdomain;
0056         //struct vki_xen_evtchn_bind_virq        bind_virq;
0057         //struct vki_xen_evtchn_bind_pirq        bind_pirq;
0058         //struct vki_xen_evtchn_bind_ipi         bind_ipi;
0059         //struct vki_xen_evtchn_close            close;
0060         //struct vki_xen_evtchn_send             send;
0061         //struct vki_xen_evtchn_status           status;
0062         //struct vki_xen_evtchn_bind_vcpu        bind_vcpu;
0063         //struct vki_xen_evtchn_unmask           unmask;
0064     } u;
0065 };
0066 
0067 #endif // __VKI_XEN_EVTCHN_H
0068 
0069 /*--------------------------------------------------------------------*/
0070 /*--- end                                                          ---*/
0071 /*--------------------------------------------------------------------*/