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_PHYSDEV_H
0027 #define __VKI_XEN_PHYSDEV_H
0028 
0029 #define VKI_XEN_MAP_PIRQ_TYPE_MSI               0x0
0030 #define VKI_XEN_MAP_PIRQ_TYPE_GSI               0x1
0031 #define VKI_XEN_MAP_PIRQ_TYPE_UNKNOWN           0x2
0032 #define VKI_XEN_MAP_PIRQ_TYPE_MSI_SEG           0x3
0033 #define VKI_XEN_MAP_PIRQ_TYPE_MULTI_MSI         0x4
0034 
0035 #define VKI_XEN_PHYSDEVOP_map_pirq               13
0036 struct vki_xen_physdev_map_pirq {
0037     vki_xen_domid_t domid;
0038     /* IN */
0039     int type;
0040     /* IN (ignored for ..._MULTI_MSI) */
0041     int index;
0042     /* IN or OUT */
0043     int pirq;
0044     /* IN - high 16 bits hold segment for ..._MSI_SEG and ..._MULTI_MSI */
0045     int bus;
0046     /* IN */
0047     int devfn;
0048     /* IN (also OUT for ..._MULTI_MSI) */
0049     int entry_nr;
0050     /* IN */
0051     vki_uint64_t table_base;
0052 };
0053 
0054 #define VKI_XEN_PHYSDEVOP_unmap_pirq             14
0055 struct vki_xen_physdev_unmap_pirq {
0056     vki_xen_domid_t domid;
0057     /* IN */
0058     int pirq;
0059 };
0060 
0061 #endif // __VKI_XEN_PHYSDEV_H
0062 
0063 /*--------------------------------------------------------------------*/
0064 /*--- end                                                          ---*/
0065 /*--------------------------------------------------------------------*/