On 07.01.15 15:26, Claudio Fontana wrote: > On 07.01.2015 15:07, Alexander Graf wrote: >> >> >> >>> Am 07.01.2015 um 14:52 schrieb Claudio Fontana <claudio.font...@huawei.com>: >>> >>> 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?
Well, in fact I only tested aarch64 :). It definitely worked for me. Can you try to do a fresh checkout and a new configure run on that one? You should have a line saying CONFIG_PCI_GENERIC=y in aarch64-softmmu/config-devices.mak. Alex