1 /*
2 * PCI stubs for platforms that don't support pci bus.
3 *
4 * Copyright (c) 2010 Isaku Yamahata <yamahata at valinux co jp>
5 * VA Linux Systems Japan K.K.
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, see <http://www.gnu.org/licenses/>.
19 */
20
21 #include "qemu/osdep.h"
22 #include "monitor/monitor.h"
23 #include "monitor/hmp.h"
24 #include "qapi/qapi-commands-pci.h"
25 #include "hw/pci/pci.h"
26 #include "hw/pci/msi.h"
27 #include "hw/pci/msix.h"
28
29 bool msi_nonbroken;
30 bool pci_available;
31
qmp_query_pci(Error ** errp)32 PciInfoList *qmp_query_pci(Error **errp)
33 {
34 return NULL;
35 }
36
hmp_info_pci(Monitor * mon,const QDict * qdict)37 void hmp_info_pci(Monitor *mon, const QDict *qdict)
38 {
39 }
40
hmp_pcie_aer_inject_error(Monitor * mon,const QDict * qdict)41 void hmp_pcie_aer_inject_error(Monitor *mon, const QDict *qdict)
42 {
43 monitor_printf(mon, "PCI devices not supported\n");
44 }
45
46 /* kvm-all wants this */
pci_get_msi_message(PCIDevice * dev,int vector)47 MSIMessage pci_get_msi_message(PCIDevice *dev, int vector)
48 {
49 g_assert_not_reached();
50 }
51
pci_requester_id(PCIDevice * dev)52 uint16_t pci_requester_id(PCIDevice *dev)
53 {
54 g_assert_not_reached();
55 }
56
57 /* Required by ahci.c */
msi_enabled(const PCIDevice * dev)58 bool msi_enabled(const PCIDevice *dev)
59 {
60 return false;
61 }
62
msi_notify(PCIDevice * dev,unsigned int vector)63 void msi_notify(PCIDevice *dev, unsigned int vector)
64 {
65 g_assert_not_reached();
66 }
67
68 /* Required by target/i386/kvm.c */
msi_is_masked(const PCIDevice * dev,unsigned vector)69 bool msi_is_masked(const PCIDevice *dev, unsigned vector)
70 {
71 g_assert_not_reached();
72 }
73
msi_get_message(PCIDevice * dev,unsigned int vector)74 MSIMessage msi_get_message(PCIDevice *dev, unsigned int vector)
75 {
76 g_assert_not_reached();
77 }
78
msix_enabled(PCIDevice * dev)79 int msix_enabled(PCIDevice *dev)
80 {
81 return false;
82 }
83
msix_is_masked(PCIDevice * dev,unsigned vector)84 bool msix_is_masked(PCIDevice *dev, unsigned vector)
85 {
86 g_assert_not_reached();
87 }
88
msix_get_message(PCIDevice * dev,unsigned int vector)89 MSIMessage msix_get_message(PCIDevice *dev, unsigned int vector)
90 {
91 g_assert_not_reached();
92 }
93