On Thu, 4 Jan 2024 at 17:17, Michael Tokarev <[email protected]> wrote: > > 04.01.2024 19:25, Michael Tokarev wrote: > ... > > this archive contains kernel+initrd. I run it this way: > > > > qemu-system-arm -append root=LABEL=debvm -nographic -machine type=virt \ > > -drive media=disk,format=raw,file=vmlinuz,if=virtio,snapshot=on \ > > -no-user-config -m 1G -kernel vmlinuz -initrd initrd.img > > This is actually even more fishy. > > The reproducer needs -cpu max to "work." Without -cpu max, it > fails to recognize virtio pci devices in both cases - in 8.2.0 > with or without the commit in question (b8f7959f28c4f36496). > Only with -cpu max it works after reverting b8f7959f28c. > > Additional kernel message in case when it doesn't work: > > [ 1.372841] pci-host-generic 4010000000.pcie: \ > can't claim ECAM area [mem 0x10000000-0x1fffffff]: \ > address conflict with pcie@10000000 [mem 0x10000000-0x3efeffff] > > which isn't generated in case everything's ok.
I'm trying to figure out what kind of kernel config causes this. If I do an upstream build of v6.6.9 with this config: https://people.linaro.org/~peter.maydell/arm-6.6.9-config then it successfully probes the PCI device even with -cpu max: pci-host-generic 4010000000.pcie: host bridge /pcie@10000000 ranges: pci-host-generic 4010000000.pcie: IO 0x003eff0000..0x003effffff -> 0x0000000000 pci-host-generic 4010000000.pcie: MEM 0x0010000000..0x003efeffff -> 0x0010000000 pci-host-generic 4010000000.pcie: MEM 0x8000000000..0xffffffffff -> 0x8000000000 pci-host-generic 4010000000.pcie: Memory resource size exceeds max for 32 bits pci-host-generic 4010000000.pcie: ECAM at [mem 0x4010000000-0x401fffffff] for [bus 00-ff] pci-host-generic 4010000000.pcie: PCI host bridge to bus 0000:00 So what's different about your kernel and config that causes the pci controller not to probe? thanks -- PMM
