From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35969) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y8rZa-0006i9-Jh for qemu-devel@nongnu.org; Wed, 07 Jan 2015 09:27:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y8rZU-0000o3-Kj for qemu-devel@nongnu.org; Wed, 07 Jan 2015 09:26:58 -0500 Received: from lhrrgout.huawei.com ([194.213.3.17]:36483) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y8rZU-0000mZ-Bb for qemu-devel@nongnu.org; Wed, 07 Jan 2015 09:26:52 -0500 Message-ID: <54AD421D.5020207@huawei.com> Date: Wed, 7 Jan 2015 15:26:37 +0100 From: Claudio Fontana MIME-Version: 1.0 References: <1420560191-48029-1-git-send-email-agraf@suse.de> <54AD3A0F.7000105@huawei.com> <0BD987C3-D7FD-4F0B-9846-0D4E9F065E08@suse.de> In-Reply-To: <0BD987C3-D7FD-4F0B-9846-0D4E9F065E08@suse.de> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 0/4] ARM: Add support for a generic PCI Express host bridge List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: Peter Maydell , "" , "" , "" , "" , "" , "" On 07.01.2015 15:07, Alexander Graf wrote: > > > >> Am 07.01.2015 um 14:52 schrieb Claudio Fontana : >> >> Hi Alexander, happy new year! >> >>> On 06.01.2015 17:03, Alexander Graf wrote: >>> Linux implements a nice binding to describe a "generic" PCI Express host bridge >>> using only device tree. >>> >>> This patch set adds enough emulation logic to expose the parts that are >>> "generic" as a simple sysbus device and maps it into ARM's virt machine. >>> >>> With this patch set, we can finally spawn PCI devices on ARM VMs. I was able >>> to have a fully DRM enabled virtual machine with VGA, e1000 and XHCI (for >>> keyboard and mouse) up and working. >>> >>> It's only a small step for QEMU, but a big step for ARM VM's usability. >> >> I tried to test your patches, but I get in trouble quite early: >> >> I usually run qemu-system-aarch64 for pci for OSv with the following command line (using the patches from Alvise): >> >> ./qemu-system-aarch64 -nographic -machine type=virt -enable-kvm -kernel ./loader.img -cpu host -m 1024M -drive file=usr.img,if=none,id=hd0,media=disk -device virtio-blk-pci,id=blk0,bootindex=0,drive=hd0,scsi=off,vectors=0 -device virtio-rng-pci -netdev user,id=un0,net=xxx.xxx.xxx.xxx/xx,host=xxx.xxx.xxx.xxx -redir tcp:2222::22 -device virtio-net-pci,netdev=un0,vectors=0 >> >> and with this series I get: >> >> qemu-system-aarch64: Unknown device 'gpex-pcihost' for default sysbus >> >> Is there something I need to mention in the command line to enable the gpex-pcihost maybe? > > If I had to guess I'd say you're missing the object file in your binary. Did you run configure again after applying the patches? > > Alex Yes I did but it seems it's not picking up the CONFIG_PCI_GENERIC=y for some reason. If I force hw/pci-host/Makefile.objs to build it by making it a common-obj-y then it builds. I see the CONFIG_PCI_GENERIC in default-configs/arm-softmmu.mak, and there is a default-configs/aarch64-softmmu.mak which says include arm-softmmu.mak but still it does not seem to pick it up over here.. while it picks up the CONFIG_PCI from the other mak files for example. Wierd.. does it build on AArch64 for you? Or did you test only 32bit? Ciao, Claudio > >> >> Thank you, >> >> Claudio >> >> >>> >>> >>> Happy new year! >>> >>> Alexander Graf (4): >>> pci: Split pcie_host_mmcfg_map() >>> pci: Add generic PCIe host bridge >>> arm: Add PCIe host bridge in virt machine >>> arm: enable Bochs PCI VGA >>> >>> default-configs/arm-softmmu.mak | 3 + >>> hw/arm/virt.c | 83 +++++++++++++++++++-- >>> hw/pci-host/Makefile.objs | 1 + >>> hw/pci-host/gpex.c | 156 ++++++++++++++++++++++++++++++++++++++++ >>> hw/pci/pcie_host.c | 9 ++- >>> include/hw/pci-host/gpex.h | 56 +++++++++++++++ >>> include/hw/pci/pcie_host.h | 1 + >>> 7 files changed, 302 insertions(+), 7 deletions(-) >>> create mode 100644 hw/pci-host/gpex.c >>> create mode 100644 include/hw/pci-host/gpex.h >>>