1 /* 2 This file is part of Valgrind, a dynamic binary instrumentation 3 framework. 4 5 Copyright (C) 2012-2017 Citrix 6 7 This program is free software; you can redistribute it and/or 8 modify it under the terms of the GNU General Public License as 9 published by the Free Software Foundation; either version 2 of the 10 License, or (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, but 13 WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; if not, write to the Free Software 19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 20 02111-1307, USA. 21 22 The GNU General Public License is contained in the file COPYING. 23 */ 24 25 /* Contributed by Andrew Cooper <andrew.cooper3@citrix.com> 26 and Ian Campbell <ian.campbell@citrix.com> */ 27 28 #ifndef __VKI_XEN_PHYSDEV_H 29 #define __VKI_XEN_PHYSDEV_H 30 31 #define VKI_XEN_MAP_PIRQ_TYPE_MSI 0x0 32 #define VKI_XEN_MAP_PIRQ_TYPE_GSI 0x1 33 #define VKI_XEN_MAP_PIRQ_TYPE_UNKNOWN 0x2 34 #define VKI_XEN_MAP_PIRQ_TYPE_MSI_SEG 0x3 35 #define VKI_XEN_MAP_PIRQ_TYPE_MULTI_MSI 0x4 36 37 #define VKI_XEN_PHYSDEVOP_map_pirq 13 38 struct vki_xen_physdev_map_pirq { 39 vki_xen_domid_t domid; 40 /* IN */ 41 int type; 42 /* IN (ignored for ..._MULTI_MSI) */ 43 int index; 44 /* IN or OUT */ 45 int pirq; 46 /* IN - high 16 bits hold segment for ..._MSI_SEG and ..._MULTI_MSI */ 47 int bus; 48 /* IN */ 49 int devfn; 50 /* IN (also OUT for ..._MULTI_MSI) */ 51 int entry_nr; 52 /* IN */ 53 vki_uint64_t table_base; 54 }; 55 56 #define VKI_XEN_PHYSDEVOP_unmap_pirq 14 57 struct vki_xen_physdev_unmap_pirq { 58 vki_xen_domid_t domid; 59 /* IN */ 60 int pirq; 61 }; 62 63 #endif // __VKI_XEN_PHYSDEV_H 64 65 /*--------------------------------------------------------------------*/ 66 /*--- end ---*/ 67 /*--------------------------------------------------------------------*/ 68