On 07.01.2015 15:36, Alexander Graf wrote: > > > 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
yep, fresh checkout fixed it. Weird, the working tree where it does not work appears as clean.. nm thanks, I'll test it now. Claudio