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

From: [email-masked] (Ben Dooks)
Date: Mon, 11 Jun 2012 09:15:20 +0100

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=192.168.7.3::192.168.7.1:255.255.255.0"
>
> 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