root / hw / pcie_port.h @ 8294a64d
History | View | Annotate | Download (1.4 kB)
1 | bc20ba98 | Isaku Yamahata | /*
|
---|---|---|---|
2 | bc20ba98 | Isaku Yamahata | * pcie_port.h
|
3 | bc20ba98 | Isaku Yamahata | *
|
4 | bc20ba98 | Isaku Yamahata | * Copyright (c) 2010 Isaku Yamahata <yamahata at valinux co jp>
|
5 | bc20ba98 | Isaku Yamahata | * VA Linux Systems Japan K.K.
|
6 | bc20ba98 | Isaku Yamahata | *
|
7 | bc20ba98 | Isaku Yamahata | * This program is free software; you can redistribute it and/or modify
|
8 | bc20ba98 | Isaku Yamahata | * it under the terms of the GNU General Public License as published by
|
9 | bc20ba98 | Isaku Yamahata | * the Free Software Foundation; either version 2 of the License, or
|
10 | bc20ba98 | Isaku Yamahata | * (at your option) any later version.
|
11 | bc20ba98 | Isaku Yamahata | *
|
12 | bc20ba98 | Isaku Yamahata | * This program is distributed in the hope that it will be useful,
|
13 | bc20ba98 | Isaku Yamahata | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14 | bc20ba98 | Isaku Yamahata | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15 | bc20ba98 | Isaku Yamahata | * GNU General Public License for more details.
|
16 | bc20ba98 | Isaku Yamahata | *
|
17 | bc20ba98 | Isaku Yamahata | * You should have received a copy of the GNU General Public License along
|
18 | bc20ba98 | Isaku Yamahata | * with this program; if not, see <http://www.gnu.org/licenses/>.
|
19 | bc20ba98 | Isaku Yamahata | */
|
20 | bc20ba98 | Isaku Yamahata | |
21 | bc20ba98 | Isaku Yamahata | #ifndef QEMU_PCIE_PORT_H
|
22 | bc20ba98 | Isaku Yamahata | #define QEMU_PCIE_PORT_H
|
23 | bc20ba98 | Isaku Yamahata | |
24 | bc20ba98 | Isaku Yamahata | #include "pci_bridge.h" |
25 | bc20ba98 | Isaku Yamahata | #include "pci_internals.h" |
26 | bc20ba98 | Isaku Yamahata | |
27 | bc20ba98 | Isaku Yamahata | struct PCIEPort {
|
28 | bc20ba98 | Isaku Yamahata | PCIBridge br; |
29 | bc20ba98 | Isaku Yamahata | |
30 | bc20ba98 | Isaku Yamahata | /* pci express switch port */
|
31 | bc20ba98 | Isaku Yamahata | uint8_t port; |
32 | bc20ba98 | Isaku Yamahata | }; |
33 | bc20ba98 | Isaku Yamahata | |
34 | bc20ba98 | Isaku Yamahata | void pcie_port_init_reg(PCIDevice *d);
|
35 | bc20ba98 | Isaku Yamahata | |
36 | bc20ba98 | Isaku Yamahata | struct PCIESlot {
|
37 | bc20ba98 | Isaku Yamahata | PCIEPort port; |
38 | bc20ba98 | Isaku Yamahata | |
39 | bc20ba98 | Isaku Yamahata | /* pci express switch port with slot */
|
40 | bc20ba98 | Isaku Yamahata | uint8_t chassis; |
41 | bc20ba98 | Isaku Yamahata | uint16_t slot; |
42 | bc20ba98 | Isaku Yamahata | QLIST_ENTRY(PCIESlot) next; |
43 | bc20ba98 | Isaku Yamahata | }; |
44 | bc20ba98 | Isaku Yamahata | |
45 | bc20ba98 | Isaku Yamahata | void pcie_chassis_create(uint8_t chassis_number);
|
46 | bc20ba98 | Isaku Yamahata | void pcie_main_chassis_create(void); |
47 | bc20ba98 | Isaku Yamahata | PCIESlot *pcie_chassis_find_slot(uint8_t chassis, uint16_t slot); |
48 | bc20ba98 | Isaku Yamahata | int pcie_chassis_add_slot(struct PCIESlot *slot); |
49 | bc20ba98 | Isaku Yamahata | void pcie_chassis_del_slot(PCIESlot *s);
|
50 | bc20ba98 | Isaku Yamahata | |
51 | bc20ba98 | Isaku Yamahata | #endif /* QEMU_PCIE_PORT_H */ |