1315a1350SMichael S. Tsirkin /*
2315a1350SMichael S. Tsirkin * PCI stubs for platforms that don't support pci bus.
3315a1350SMichael S. Tsirkin *
4315a1350SMichael S. Tsirkin * Copyright (c) 2010 Isaku Yamahata <yamahata at valinux co jp>
5315a1350SMichael S. Tsirkin * VA Linux Systems Japan K.K.
6315a1350SMichael S. Tsirkin *
7315a1350SMichael S. Tsirkin * This program is free software; you can redistribute it and/or modify
8315a1350SMichael S. Tsirkin * it under the terms of the GNU General Public License as published by
9315a1350SMichael S. Tsirkin * the Free Software Foundation; either version 2 of the License, or
10315a1350SMichael S. Tsirkin * (at your option) any later version.
11315a1350SMichael S. Tsirkin *
12315a1350SMichael S. Tsirkin * This program is distributed in the hope that it will be useful,
13315a1350SMichael S. Tsirkin * but WITHOUT ANY WARRANTY; without even the implied warranty of
14315a1350SMichael S. Tsirkin * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15315a1350SMichael S. Tsirkin * GNU General Public License for more details.
16315a1350SMichael S. Tsirkin *
17315a1350SMichael S. Tsirkin * You should have received a copy of the GNU General Public License along
18315a1350SMichael S. Tsirkin * with this program; if not, see <http://www.gnu.org/licenses/>.
19315a1350SMichael S. Tsirkin */
20315a1350SMichael S. Tsirkin
2197d5408fSPeter Maydell #include "qemu/osdep.h"
2283c9089eSPaolo Bonzini #include "monitor/monitor.h"
23c2c13974SMarkus Armbruster #include "monitor/hmp.h"
2461c7f987SPhilippe Mathieu-Daudé #include "qapi/qapi-commands-pci.h"
25c759b24fSMichael S. Tsirkin #include "hw/pci/pci.h"
2666767562SPhilippe Mathieu-Daudé #include "hw/pci/msi.h"
27ec5ce147SPaolo Bonzini #include "hw/pci/msix.h"
2866767562SPhilippe Mathieu-Daudé
2966767562SPhilippe Mathieu-Daudé bool msi_nonbroken;
3088c725c7SCornelia Huck bool pci_available;
31315a1350SMichael S. Tsirkin
qmp_query_pci(Error ** errp)32315a1350SMichael S. Tsirkin PciInfoList *qmp_query_pci(Error **errp)
33315a1350SMichael S. Tsirkin {
34315a1350SMichael S. Tsirkin return NULL;
35315a1350SMichael S. Tsirkin }
36315a1350SMichael S. Tsirkin
hmp_info_pci(Monitor * mon,const QDict * qdict)37c2c13974SMarkus Armbruster void hmp_info_pci(Monitor *mon, const QDict *qdict)
38c2c13974SMarkus Armbruster {
39c2c13974SMarkus Armbruster }
40c2c13974SMarkus Armbruster
hmp_pcie_aer_inject_error(Monitor * mon,const QDict * qdict)4104e00c92SMarkus Armbruster void hmp_pcie_aer_inject_error(Monitor *mon, const QDict *qdict)
42315a1350SMichael S. Tsirkin {
43315a1350SMichael S. Tsirkin monitor_printf(mon, "PCI devices not supported\n");
44315a1350SMichael S. Tsirkin }
4588c725c7SCornelia Huck
4688c725c7SCornelia Huck /* kvm-all wants this */
pci_get_msi_message(PCIDevice * dev,int vector)4788c725c7SCornelia Huck MSIMessage pci_get_msi_message(PCIDevice *dev, int vector)
4888c725c7SCornelia Huck {
49*4bd54186SPierrick Bouvier g_assert_not_reached();
5088c725c7SCornelia Huck }
5188c725c7SCornelia Huck
pci_requester_id(PCIDevice * dev)5288c725c7SCornelia Huck uint16_t pci_requester_id(PCIDevice *dev)
5388c725c7SCornelia Huck {
54*4bd54186SPierrick Bouvier g_assert_not_reached();
5588c725c7SCornelia Huck }
56d9e36515SThomas Huth
57d9e36515SThomas Huth /* Required by ahci.c */
msi_enabled(const PCIDevice * dev)58d9e36515SThomas Huth bool msi_enabled(const PCIDevice *dev)
59d9e36515SThomas Huth {
60d9e36515SThomas Huth return false;
61d9e36515SThomas Huth }
62d9e36515SThomas Huth
msi_notify(PCIDevice * dev,unsigned int vector)63d9e36515SThomas Huth void msi_notify(PCIDevice *dev, unsigned int vector)
64d9e36515SThomas Huth {
65d9e36515SThomas Huth g_assert_not_reached();
66d9e36515SThomas Huth }
67ec5ce147SPaolo Bonzini
68ec5ce147SPaolo Bonzini /* Required by target/i386/kvm.c */
msi_is_masked(const PCIDevice * dev,unsigned vector)69ec5ce147SPaolo Bonzini bool msi_is_masked(const PCIDevice *dev, unsigned vector)
70ec5ce147SPaolo Bonzini {
71ec5ce147SPaolo Bonzini g_assert_not_reached();
72ec5ce147SPaolo Bonzini }
73ec5ce147SPaolo Bonzini
msi_get_message(PCIDevice * dev,unsigned int vector)74ec5ce147SPaolo Bonzini MSIMessage msi_get_message(PCIDevice *dev, unsigned int vector)
75ec5ce147SPaolo Bonzini {
76ec5ce147SPaolo Bonzini g_assert_not_reached();
77ec5ce147SPaolo Bonzini }
78ec5ce147SPaolo Bonzini
msix_enabled(PCIDevice * dev)79ec5ce147SPaolo Bonzini int msix_enabled(PCIDevice *dev)
80ec5ce147SPaolo Bonzini {
81ec5ce147SPaolo Bonzini return false;
82ec5ce147SPaolo Bonzini }
83ec5ce147SPaolo Bonzini
msix_is_masked(PCIDevice * dev,unsigned vector)84ec5ce147SPaolo Bonzini bool msix_is_masked(PCIDevice *dev, unsigned vector)
85ec5ce147SPaolo Bonzini {
86ec5ce147SPaolo Bonzini g_assert_not_reached();
87ec5ce147SPaolo Bonzini }
88ec5ce147SPaolo Bonzini
msix_get_message(PCIDevice * dev,unsigned int vector)89ec5ce147SPaolo Bonzini MSIMessage msix_get_message(PCIDevice *dev, unsigned int vector)
90ec5ce147SPaolo Bonzini {
91ec5ce147SPaolo Bonzini g_assert_not_reached();
92ec5ce147SPaolo Bonzini }
93