135130acb88e29b9200479bc806d7d2d87669c2d0sewardj/* 235130acb88e29b9200479bc806d7d2d87669c2d0sewardj This file is part of Valgrind, a dynamic binary instrumentation 335130acb88e29b9200479bc806d7d2d87669c2d0sewardj framework. 435130acb88e29b9200479bc806d7d2d87669c2d0sewardj 5ed39800a83baf5bffbe391f3974eb2af0f415f80Elliott Hughes Copyright (C) 2012-2017 Citrix 635130acb88e29b9200479bc806d7d2d87669c2d0sewardj 735130acb88e29b9200479bc806d7d2d87669c2d0sewardj This program is free software; you can redistribute it and/or 835130acb88e29b9200479bc806d7d2d87669c2d0sewardj modify it under the terms of the GNU General Public License as 935130acb88e29b9200479bc806d7d2d87669c2d0sewardj published by the Free Software Foundation; either version 2 of the 1035130acb88e29b9200479bc806d7d2d87669c2d0sewardj License, or (at your option) any later version. 1135130acb88e29b9200479bc806d7d2d87669c2d0sewardj 1235130acb88e29b9200479bc806d7d2d87669c2d0sewardj This program is distributed in the hope that it will be useful, but 1335130acb88e29b9200479bc806d7d2d87669c2d0sewardj WITHOUT ANY WARRANTY; without even the implied warranty of 1435130acb88e29b9200479bc806d7d2d87669c2d0sewardj MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1535130acb88e29b9200479bc806d7d2d87669c2d0sewardj General Public License for more details. 1635130acb88e29b9200479bc806d7d2d87669c2d0sewardj 1735130acb88e29b9200479bc806d7d2d87669c2d0sewardj You should have received a copy of the GNU General Public License 1835130acb88e29b9200479bc806d7d2d87669c2d0sewardj along with this program; if not, write to the Free Software 1935130acb88e29b9200479bc806d7d2d87669c2d0sewardj Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 2035130acb88e29b9200479bc806d7d2d87669c2d0sewardj 02111-1307, USA. 2135130acb88e29b9200479bc806d7d2d87669c2d0sewardj 2235130acb88e29b9200479bc806d7d2d87669c2d0sewardj The GNU General Public License is contained in the file COPYING. 2335130acb88e29b9200479bc806d7d2d87669c2d0sewardj*/ 2435130acb88e29b9200479bc806d7d2d87669c2d0sewardj 2535130acb88e29b9200479bc806d7d2d87669c2d0sewardj/* Contributed by Andrew Cooper <andrew.cooper3@citrix.com> 2635130acb88e29b9200479bc806d7d2d87669c2d0sewardj and Ian Campbell <ian.campbell@citrix.com> */ 2735130acb88e29b9200479bc806d7d2d87669c2d0sewardj 28ce800011dc9cf456f075643a6e18bb4df48c807bflorian#ifndef __VKI_XEN_PHYSDEV_H 29727c3775da09abd4fcc33ca805a0546db6cf1a67bart#define __VKI_XEN_PHYSDEV_H 30727c3775da09abd4fcc33ca805a0546db6cf1a67bart 31727c3775da09abd4fcc33ca805a0546db6cf1a67bart#define VKI_XEN_MAP_PIRQ_TYPE_MSI 0x0 32727c3775da09abd4fcc33ca805a0546db6cf1a67bart#define VKI_XEN_MAP_PIRQ_TYPE_GSI 0x1 33727c3775da09abd4fcc33ca805a0546db6cf1a67bart#define VKI_XEN_MAP_PIRQ_TYPE_UNKNOWN 0x2 34727c3775da09abd4fcc33ca805a0546db6cf1a67bart#define VKI_XEN_MAP_PIRQ_TYPE_MSI_SEG 0x3 35727c3775da09abd4fcc33ca805a0546db6cf1a67bart#define VKI_XEN_MAP_PIRQ_TYPE_MULTI_MSI 0x4 36727c3775da09abd4fcc33ca805a0546db6cf1a67bart 37727c3775da09abd4fcc33ca805a0546db6cf1a67bart#define VKI_XEN_PHYSDEVOP_map_pirq 13 38727c3775da09abd4fcc33ca805a0546db6cf1a67bartstruct vki_xen_physdev_map_pirq { 39727c3775da09abd4fcc33ca805a0546db6cf1a67bart vki_xen_domid_t domid; 40727c3775da09abd4fcc33ca805a0546db6cf1a67bart /* IN */ 41727c3775da09abd4fcc33ca805a0546db6cf1a67bart int type; 42727c3775da09abd4fcc33ca805a0546db6cf1a67bart /* IN (ignored for ..._MULTI_MSI) */ 43727c3775da09abd4fcc33ca805a0546db6cf1a67bart int index; 44727c3775da09abd4fcc33ca805a0546db6cf1a67bart /* IN or OUT */ 45727c3775da09abd4fcc33ca805a0546db6cf1a67bart int pirq; 46727c3775da09abd4fcc33ca805a0546db6cf1a67bart /* IN - high 16 bits hold segment for ..._MSI_SEG and ..._MULTI_MSI */ 47727c3775da09abd4fcc33ca805a0546db6cf1a67bart int bus; 48727c3775da09abd4fcc33ca805a0546db6cf1a67bart /* IN */ 49727c3775da09abd4fcc33ca805a0546db6cf1a67bart int devfn; 50727c3775da09abd4fcc33ca805a0546db6cf1a67bart /* IN (also OUT for ..._MULTI_MSI) */ 51727c3775da09abd4fcc33ca805a0546db6cf1a67bart int entry_nr; 52727c3775da09abd4fcc33ca805a0546db6cf1a67bart /* IN */ 53727c3775da09abd4fcc33ca805a0546db6cf1a67bart vki_uint64_t table_base; 54727c3775da09abd4fcc33ca805a0546db6cf1a67bart}; 55727c3775da09abd4fcc33ca805a0546db6cf1a67bart 56727c3775da09abd4fcc33ca805a0546db6cf1a67bart#define VKI_XEN_PHYSDEVOP_unmap_pirq 14 57727c3775da09abd4fcc33ca805a0546db6cf1a67bartstruct vki_xen_physdev_unmap_pirq { 58727c3775da09abd4fcc33ca805a0546db6cf1a67bart vki_xen_domid_t domid; 59727c3775da09abd4fcc33ca805a0546db6cf1a67bart /* IN */ 60727c3775da09abd4fcc33ca805a0546db6cf1a67bart int pirq; 61727c3775da09abd4fcc33ca805a0546db6cf1a67bart}; 62727c3775da09abd4fcc33ca805a0546db6cf1a67bart 63727c3775da09abd4fcc33ca805a0546db6cf1a67bart#endif // __VKI_XEN_PHYSDEV_H 64727c3775da09abd4fcc33ca805a0546db6cf1a67bart 65727c3775da09abd4fcc33ca805a0546db6cf1a67bart/*--------------------------------------------------------------------*/ 66727c3775da09abd4fcc33ca805a0546db6cf1a67bart/*--- end ---*/ 67727c3775da09abd4fcc33ca805a0546db6cf1a67bart/*--------------------------------------------------------------------*/ 68