- Update Xen patches to 3.3-rc5 and c/s 1157.
[linux-flexiantxendom0-3.2.10.git] / include / xen / public / iomulti.h
1 #ifndef __LINUX_PUBLIC_IOMULTI_H__
2 #define __LINUX_PUBLIC_IOMULTI_H__
3 /*
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (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 Street, Fifth Floor, Boston, MA  02110-1301, USA.
17  *
18  * Copyright (c) 2009 Isaku Yamahata
19  *                    VA Linux Systems Japan K.K.
20  */
21
22 struct pci_iomul_setup {
23         uint16_t        segment;
24         uint8_t         bus;
25         uint8_t         dev;
26         uint8_t         func;
27 };
28
29 struct pci_iomul_in {
30         uint8_t         bar;
31         uint64_t        offset;
32
33         uint8_t         size;
34         uint32_t        value;
35 };
36
37 struct pci_iomul_out {
38         uint8_t         bar;
39         uint64_t        offset;
40
41         uint8_t         size;
42         uint32_t        value;
43 };
44
45 #define PCI_IOMUL_SETUP         _IOW ('P', 0, struct pci_iomul_setup)
46 #define PCI_IOMUL_DISABLE_IO    _IO  ('P', 1)
47 #define PCI_IOMUL_IN            _IOWR('P', 2, struct pci_iomul_in)
48 #define PCI_IOMUL_OUT           _IOW ('P', 3, struct pci_iomul_out)
49
50 #endif /* __LINUX_PUBLIC_IOMULTI_H__ */