1b3a29fd5SIsaku Yamahata /* 211d6ddedSAlon Levy * PCI stubs for platforms that don't support pci bus. 3b3a29fd5SIsaku Yamahata * 4b3a29fd5SIsaku Yamahata * Copyright (c) 2010 Isaku Yamahata <yamahata at valinux co jp> 5b3a29fd5SIsaku Yamahata * VA Linux Systems Japan K.K. 6b3a29fd5SIsaku Yamahata * 7b3a29fd5SIsaku Yamahata * This program is free software; you can redistribute it and/or modify 8b3a29fd5SIsaku Yamahata * it under the terms of the GNU General Public License as published by 9b3a29fd5SIsaku Yamahata * the Free Software Foundation; either version 2 of the License, or 10b3a29fd5SIsaku Yamahata * (at your option) any later version. 11b3a29fd5SIsaku Yamahata * 12b3a29fd5SIsaku Yamahata * This program is distributed in the hope that it will be useful, 13b3a29fd5SIsaku Yamahata * but WITHOUT ANY WARRANTY; without even the implied warranty of 14b3a29fd5SIsaku Yamahata * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15b3a29fd5SIsaku Yamahata * GNU General Public License for more details. 16b3a29fd5SIsaku Yamahata * 17b3a29fd5SIsaku Yamahata * You should have received a copy of the GNU General Public License along 18b3a29fd5SIsaku Yamahata * with this program; if not, see <http://www.gnu.org/licenses/>. 19b3a29fd5SIsaku Yamahata */ 20b3a29fd5SIsaku Yamahata 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; 3179627472SLuiz Capitulino 3279627472SLuiz Capitulino PciInfoList *qmp_query_pci(Error **errp) 3379627472SLuiz Capitulino { 3479627472SLuiz Capitulino return NULL; 3579627472SLuiz Capitulino } 36b3a29fd5SIsaku Yamahata 37c2c13974SMarkus Armbruster void hmp_info_pci(Monitor *mon, const QDict *qdict) 38c2c13974SMarkus Armbruster { 39c2c13974SMarkus Armbruster } 40c2c13974SMarkus Armbruster 4104e00c92SMarkus Armbruster void hmp_pcie_aer_inject_error(Monitor *mon, const QDict *qdict) 42b3a29fd5SIsaku Yamahata { 43b3a29fd5SIsaku Yamahata monitor_printf(mon, "PCI devices not supported\n"); 44b3a29fd5SIsaku Yamahata } 4588c725c7SCornelia Huck 4688c725c7SCornelia Huck /* kvm-all wants this */ 4788c725c7SCornelia Huck MSIMessage pci_get_msi_message(PCIDevice *dev, int vector) 4888c725c7SCornelia Huck { 49*4bd54186SPierrick Bouvier g_assert_not_reached(); 5088c725c7SCornelia Huck return (MSIMessage){}; 5188c725c7SCornelia Huck } 5288c725c7SCornelia Huck 5388c725c7SCornelia Huck uint16_t pci_requester_id(PCIDevice *dev) 5488c725c7SCornelia Huck { 55*4bd54186SPierrick Bouvier g_assert_not_reached(); 5688c725c7SCornelia Huck return 0; 5788c725c7SCornelia Huck } 58d9e36515SThomas Huth 59d9e36515SThomas Huth /* Required by ahci.c */ 60d9e36515SThomas Huth bool msi_enabled(const PCIDevice *dev) 61d9e36515SThomas Huth { 62d9e36515SThomas Huth return false; 63d9e36515SThomas Huth } 64d9e36515SThomas Huth 65d9e36515SThomas Huth void msi_notify(PCIDevice *dev, unsigned int vector) 66d9e36515SThomas Huth { 67d9e36515SThomas Huth g_assert_not_reached(); 68d9e36515SThomas Huth } 69ec5ce147SPaolo Bonzini 70ec5ce147SPaolo Bonzini /* Required by target/i386/kvm.c */ 71ec5ce147SPaolo Bonzini bool msi_is_masked(const PCIDevice *dev, unsigned vector) 72ec5ce147SPaolo Bonzini { 73ec5ce147SPaolo Bonzini g_assert_not_reached(); 74ec5ce147SPaolo Bonzini } 75ec5ce147SPaolo Bonzini 76ec5ce147SPaolo Bonzini MSIMessage msi_get_message(PCIDevice *dev, unsigned int vector) 77ec5ce147SPaolo Bonzini { 78ec5ce147SPaolo Bonzini g_assert_not_reached(); 79ec5ce147SPaolo Bonzini } 80ec5ce147SPaolo Bonzini 81ec5ce147SPaolo Bonzini int msix_enabled(PCIDevice *dev) 82ec5ce147SPaolo Bonzini { 83ec5ce147SPaolo Bonzini return false; 84ec5ce147SPaolo Bonzini } 85ec5ce147SPaolo Bonzini 86ec5ce147SPaolo Bonzini bool msix_is_masked(PCIDevice *dev, unsigned vector) 87ec5ce147SPaolo Bonzini { 88ec5ce147SPaolo Bonzini g_assert_not_reached(); 89ec5ce147SPaolo Bonzini } 90ec5ce147SPaolo Bonzini 91ec5ce147SPaolo Bonzini MSIMessage msix_get_message(PCIDevice *dev, unsigned int vector) 92ec5ce147SPaolo Bonzini { 93ec5ce147SPaolo Bonzini g_assert_not_reached(); 94ec5ce147SPaolo Bonzini } 95