* v3.4 boot failure on qemu-system-arm -M versatilepb
[not found] <XNM1$5$0$1$$3$9$0$A$8005401U4fc38a01@hitachi.com>
@ 2012-05-29 20:02 ` Rob Herring
[not found] ` <XNM1$5$0$1$$3$9$0$A$8005413U4fc5e967@hitachi.com>
0 siblings, 1 reply; 4+ messages in thread
From: Rob Herring @ 2012-05-29 20:02 UTC (permalink / raw)
To: linux-arm-kernel
Adding linux-arm-kernel...
On 05/28/2012 09:22 AM, takuo.koguchi.sw at hitachi.com wrote:
> Hi,
>
> I found linux-3.4 kernel fails to mount the rootfs on
> "qemu-system-arm -M versatile."
>
> Git bisect shows commit c334bc1 cause this first.
>
> So I tried to revert it by putting
> arch/arm/mach-versatile/include/mach/io.h and adding select
> NEED_MACH_IO_H in the section of ARCH_VERSATILE in arch/arm/Kconfig,
> then the kernel can mount the rootfs.
>
> Can someone confirm and fix this?
>
What config are you using, and what is your kernel command line?
Rob
> Takuo Koguchi
>
>
> ----------- Uncompressing Linux... done, booting the kernel. Booting
> Linux on physical CPU 0 Initializing cgroup subsys cpuset
> Initializing cgroup subsys cpu Linux version 3.4.0-yocto-standard
> (koguchi at mg70k) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) )
> #37 PREEMPT Sun May 27 22:36:22 JST 2012 CPU: ARM926EJ-S [41069265]
> revision 5 (ARMv5TEJ), cr=00093177 CPU: VIVT data cache, VIVT
> instruction cache Machine: ARM-Versatile PB ... eth0: link up
> IP-Config: Complete: device=eth0, addr=192.168.7.3,
> mask=255.255.255.0, gw=192.168.7.1 host=192.168.7.3, domain=,
> nis-domain=(none) bootserver=255.255.255.255,
> rootserver=255.255.255.255, rootpath= input: AT Raw Set 2 keyboard as
> /devices/fpga:06/serio0/input/input0 md: Skipping autodetection of
> RAID arrays. (raid=autodetect will force) VFS: Cannot open root
> device "0x0800" or unknown-block(8,0): error -6 Please append a
> correct "root=" boot option; here are the available partitions:
> Kernel panic - not syncing: VFS: Unable to mount root fs on
> unknown-block(8,0) [<c0013870>] (unwind_backtrace+0x0/0xec) from
> [<c0389b68>] (dump_stack+0x20/0x24) [<c0389b68>]
> (dump_stack+0x20/0x24) from [<c0389bf4>] (panic+0x88/0x1c4)
> [<c0389bf4>] (panic+0x88/0x1c4) from [<c04fbde8>]
> (mount_block_root+0x240/0x290) [<c04fbde8>]
> (mount_block_root+0x240/0x290) from [<c04fbf80>]
> (mount_root+0x50/0x68) [<c04fbf80>] (mount_root+0x50/0x68) from
> [<c04fc108>] (prepare_namespace+0x170/0x1d0) [<c04fc108>]
> (prepare_namespace+0x170/0x1d0) from [<c04fba08>]
> (kernel_init+0x1bc/0x204) [<c04fba08>] (kernel_init+0x1bc/0x204) from
> [<c000e7dc>] (kernel_thread_exit+0x0/0x8)
>
>
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re[3]: v3.4 boot failure on qemu-system-arm -M versatilepb
[not found] ` <XNM1$5$0$1$$3$9$0$A$8005413U4fc5e967@hitachi.com>
@ 2012-05-30 15:37 ` takuo.koguchi.sw at hitachi.com
2012-06-11 8:15 ` Ben Dooks
0 siblings, 1 reply; 4+ messages in thread
From: takuo.koguchi.sw at hitachi.com @ 2012-05-30 15:37 UTC (permalink / raw)
To: linux-arm-kernel
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
----
>Hi Rob,
>
>Thank you for your attention.
>
>>What config are you using, and what is your kernel command line?
>
>I used versatile_defconfig.
>And I invoked qemu as follows,
>$ sudo qemu-system-arm -machine 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=0x0800 ip=192.168.7.3::192.168.7.1:255.255.255.0 raid=noautodetect"
>
>The result is the same even if root=/dev/sda.
>
>currently __io(a) is defined in arch/arm/include/asm/io.h
>#define __io(a) __typesafe_io((a) & IO_SPACE_LIMIT)
>...
>
>As CONFIG_PCI is defined in the config, IO_SPACE_LIMIT is defined as 0xffff and failed to boot.
>The kernel can mount rootfs when I defined IO_SPACE_LIMIT as follows,
>#define IO_SPACE_LIMIT ((resource_size_t)0xffffffff)
>
>It may be related only to qemu and not to real versatile board.
>
>Takuo Koguchi
>
>
>
>
>
>>Adding linux-arm-kernel...
>>
>>On 05/28/2012 09:22 AM, takuo.koguchi.sw at hitachi.com wrote:
>>> Hi,
>>>
>>> I found linux-3.4 kernel fails to mount the rootfs on
>>> "qemu-system-arm -M versatile."
>>>
>>> Git bisect shows commit c334bc1 cause this first.
>>>
>>> So I tried to revert it by putting
>>> arch/arm/mach-versatile/include/mach/io.h and adding select
>>> NEED_MACH_IO_H in the section of ARCH_VERSATILE in arch/arm/Kconfig,
>>> then the kernel can mount the rootfs.
>>>
>>> Can someone confirm and fix this?
>>>
>>
>>What config are you using, and what is your kernel command line?
>>
>>Rob
>>
>>> Takuo Koguchi
>>>
>>>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: qemu-arm_versatile_config
Type: application/octet-stream
Size: 46667 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120531/3ee9c625/attachment-0001.obj>
^ permalink raw reply [flat|nested] 4+ messages in thread
* v3.4 boot failure on qemu-system-arm -M versatilepb
2012-05-30 15:37 ` Re[3]: " takuo.koguchi.sw at hitachi.com
@ 2012-06-11 8:15 ` Ben Dooks
2012-06-11 8:28 ` Russell King - ARM Linux
0 siblings, 1 reply; 4+ messages in thread
From: Ben Dooks @ 2012-06-11 8:15 UTC (permalink / raw)
To: linux-arm-kernel
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* v3.4 boot failure on qemu-system-arm -M versatilepb
2012-06-11 8:15 ` Ben Dooks
@ 2012-06-11 8:28 ` Russell King - ARM Linux
0 siblings, 0 replies; 4+ messages in thread
From: Russell King - ARM Linux @ 2012-06-11 8:28 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, Jun 11, 2012 at 09:15:20AM +0100, Ben Dooks wrote:
> 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.
Or the bus setup needs to be fixed to be more conventional, which is
something I always did for the PCI platforms I had hardware for.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-06-11 8:28 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <XNM1$5$0$1$$3$9$0$A$8005401U4fc38a01@hitachi.com>
2012-05-29 20:02 ` v3.4 boot failure on qemu-system-arm -M versatilepb Rob Herring
[not found] ` <XNM1$5$0$1$$3$9$0$A$8005413U4fc5e967@hitachi.com>
2012-05-30 15:37 ` Re[3]: " takuo.koguchi.sw at hitachi.com
2012-06-11 8:15 ` Ben Dooks
2012-06-11 8:28 ` Russell King - ARM Linux
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox