v3.4 boot failure on qemu-system-arm -M versatilepb

Ben Dooks ben.dooks at codethink.co.uk
Mon Jun 11 04:15:20 EDT 2012

On 30/05/12 16:37, takuo.koguchi.sw at hitachi.com wrote:
> Hi Rob,
> I am sorry that it seems I gave you wrong information.
> It turned out that the config I used was not versatile_defconfig.
> I have tried to reproduce with versatile_defconfig and found that IO_SPACE_LIMIT modification has no effect, ie. it cannot mount root=/dev/sdb even if IO_SPACE_LIMIT is 0xffffffff. I suppose it misses the driver to read /dev/sdb.
> Actual config I used derived from buildroot tool's board/qemu/arm-versatile/linux-3.3.config. ( It works fine for linux-3.3 )
> I attached my .config.
> As for this config, #define IO_SPACE_LIMIT ((resource_size_t)0xffffffff) works for linux-3.4 to mount /dev/sdb as rootfs.
> The command line I used was as follows,
> $ sudo qemu-system-arm -M versatilepb -kernel ~/linux/arch/arm/boot/zImage -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no -hda output/images/rootfs.ext2 -append "console=ttyAMA0 root=/dev/sda ip="
> Best Regards,
> Takuo Koguchi

We've seen the same problem. Limiting the __io() to the IO_SPACE_LIMIT
will not fix the problem as the previous code was using a 1:1 CPU to
PCI space view (which is why it was allocating space at 0x44000000).

Either the __io() macro needs to add the base of PCI space, or the
limit needs to be restored.

Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius

More information about the linux-arm-kernel mailing list