[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Give detailed info when pcie downstream port in
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH] Give detailed info when pcie downstream port init failed |
Date: |
Tue, 24 Nov 2015 11:08:17 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Cao jin <address@hidden> writes:
> detailed error info could show user about how to use it.
>
> Signed-off-by: Cao jin <address@hidden>
> ---
> hw/pci-bridge/xio3130_downstream.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> When I learned to use root/upstream/downstream port like this:
> qemu-system-x86_64 -M q35 -device ioh3420,bus=pcie.0,id=br1 -device
> x3130-upstream,id=up,bus=br1 -device xio3130-downstream,id=down,bus=up
> -device e1000,bus=down,id=net0 xxx...
> downstream port just show me "Device initialization failed", while I don`t
> really know why at first. So it maybe good to let user know how to use it
> correctly.
>
> diff --git a/hw/pci-bridge/xio3130_downstream.c
> b/hw/pci-bridge/xio3130_downstream.c
> index b3a6479..86b7970 100644
> --- a/hw/pci-bridge/xio3130_downstream.c
> +++ b/hw/pci-bridge/xio3130_downstream.c
> @@ -23,6 +23,7 @@
> #include "hw/pci/msi.h"
> #include "hw/pci/pcie.h"
> #include "xio3130_downstream.h"
> +#include "qemu/error-report.h"
>
> #define PCI_DEVICE_ID_TI_XIO3130D 0x8233 /* downstream port */
> #define XIO3130_REVISION 0x1
> @@ -89,6 +90,10 @@ static int xio3130_downstream_initfn(PCIDevice *d)
> pcie_chassis_create(s->chassis);
> rc = pcie_chassis_add_slot(s);
> if (rc < 0) {
> + error_report("Slot number is reduplicate(chassis = %d, slot = %d). "
> + "Slot #(default 0) is unique within a chassis, chassis #"
> + "(default 0) is unique in the system. Please change chassis
> # "
> + "or slot #.", s->chassis, s->slot);
> goto err_pcie_cap;
> }
> pcie_cap_arifwd_init(d);
> --
> 2.1.0
This covers one out of six error paths, and it doesn't work for QMP.
Please convert the device to realize() instead. For an example, check
out commit 28b07e7.