Commit a7bd621d authored by Anthony Liguori's avatar Anthony Liguori
Browse files

Merge remote branch 'mst/for_anthony' into staging

parents 8aaf42ed a6a7005d
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -169,9 +169,7 @@ hw-obj-y =
hw-obj-y += vl.o loader.o
hw-obj-$(CONFIG_VIRTIO) += virtio.o virtio-console.o
hw-obj-y += fw_cfg.o
# FIXME: Core PCI code and its direct dependencies are required by the
# QMP query-pci command.
hw-obj-y += pci.o pci_bridge.o
hw-obj-$(CONFIG_PCI) += pci.o pci_bridge.o
hw-obj-$(CONFIG_PCI) += msix.o msi.o
hw-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
hw-obj-$(CONFIG_PCI) += ioh3420.o xio3130_upstream.o xio3130_downstream.o
+2 −0
Original line number Diff line number Diff line
# -*- Mode: makefile -*-

GENERATED_HEADERS = config-target.h
CONFIG_NO_PCI = $(if $(subst n,,$(CONFIG_PCI)),n,y)
CONFIG_NO_KVM = $(if $(subst n,,$(CONFIG_KVM)),n,y)

include ../config-host.mak
@@ -188,6 +189,7 @@ ifdef CONFIG_SOFTMMU
obj-y = arch_init.o cpus.o monitor.o machine.o gdbstub.o balloon.o
# virtio has to be here due to weird dependency between PCI and virtio-net.
# need to fix this properly
obj-$(CONFIG_NO_PCI) += pci-stub.o
obj-$(CONFIG_VIRTIO) += virtio-blk.o virtio-balloon.o virtio-net.o virtio-serial-bus.o
obj-$(CONFIG_VIRTIO_PCI) += virtio-pci.o
obj-y += vhost_net.o
+25 −0
Original line number Diff line number Diff line
@@ -870,6 +870,31 @@ STEXI
@item pci_del
@findex pci_del
Hot remove PCI device.
ETEXI

    {
        .name       = "pcie_aer_inject_error",
        .args_type  = "advisory_non_fatal:-a,correctable:-c,"
	              "id:s,error_status:s,"
	              "header0:i?,header1:i?,header2:i?,header3:i?,"
	              "prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?",
        .params     = "[-a] [-c] id "
                      "<error_status> [<tlp header> [<tlp header prefix>]]",
        .help       = "inject pcie aer error\n\t\t\t"
	              " -a for advisory non fatal error\n\t\t\t"
	              " -c for correctable error\n\t\t\t"
                      "<id> = qdev device id\n\t\t\t"
                      "<error_status> = error string or 32bit\n\t\t\t"
                      "<tlb header> = 32bit x 4\n\t\t\t"
                      "<tlb header prefix> = 32bit x 4",
        .user_print  = pcie_aer_inject_error_print,
        .mhandler.cmd_new = do_pcie_aer_inejct_error,
    },

STEXI
@item pcie_aer_inject_error
@findex pcie_aer_inject_error
Inject PCIe AER error
ETEXI

    {
+4 −8
Original line number Diff line number Diff line
@@ -217,14 +217,6 @@ static QEMUMachine pc_machine = {
    .desc = "Standard PC",
    .init = pc_init_pci,
    .max_cpus = 255,
    .compat_props = (GlobalProperty[]) {
        {
            .driver   = "PCI",
            .property = "command_serr_enable",
            .value    = "off",
        },
        { /* end of list */ }
    },
    .is_default = 1,
};

@@ -246,6 +238,10 @@ static QEMUMachine pc_machine_v0_13 = {
            .driver   = "vmware-svga",
            .property = "rombar",
            .value    = stringify(0),
        },{
            .driver   = "PCI",
            .property = "command_serr_enable",
            .value    = "off",
        },
        { /* end of list */ }
    },

hw/pci-stub.c

0 → 100644
+50 −0
Original line number Diff line number Diff line
/*
 * PCI stubs for plathome that doesn't support pci bus.
 *
 * Copyright (c) 2010 Isaku Yamahata <yamahata at valinux co jp>
 *                    VA Linux Systems Japan K.K.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, see <http://www.gnu.org/licenses/>.
 */

#include "sysemu.h"
#include "monitor.h"
#include "pci.h"

static void pci_error_message(Monitor *mon)
{
    monitor_printf(mon, "PCI devices not supported\n");
}

void do_pci_info(Monitor *mon, QObject **ret_data)
{
    pci_error_message(mon);
}

void do_pci_info_print(Monitor *mon, const QObject *data)
{
    pci_error_message(mon);
}

int do_pcie_aer_inejct_error(Monitor *mon,
                             const QDict *qdict, QObject **ret_data)
{
    pci_error_message(mon);
    return -ENOSYS;
}

void pcie_aer_inject_error_print(Monitor *mon, const QObject *data)
{
    pci_error_message(mon);
}
Loading