All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] Setting up PPC440 Virtex Image for Qemu
@ 2011-06-30 12:15 Suzuki Poulose
  2011-06-30 12:32 ` Edgar E. Iglesias
  0 siblings, 1 reply; 6+ messages in thread
From: Suzuki Poulose @ 2011-06-30 12:15 UTC (permalink / raw)
  To: edgar.iglesias; +Cc: qemu-devel

Hi,

I am working on enabling the KEXEC on PPC440 chipsets. To debug my patches,
I would like to use the Qemu. The only available PPC440 support in Qemu is
for the ppc-virtex. (Thanks for adding the support).

I was trying to use the default image provided at

http://wiki.qemu.org/download/ppc-virtexml507-linux-2_6_34.tgz

However I cannot get the network up for the board to use the nfs root file
system.
----
PPC 4xx OCP EMAC driver, version 3.54
TCP cubic registered
NET: Registered protocol family 17
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)
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(2,0)
---

I tried using a different dtb based on virtex440-ml507.dts, but the
qemu complains :

[suzie@suzukikp ppc-virtex-ml507]$ ./qemu-run.sh
Unable to copy device tree in memory


Is there something I can do to get the networking up ? I think this may need to
be fixed in the dtb.

  Or is there any other mechanism to use a different file system ?
( I have the tool chain to build the kernel etc)

Thanks
Suzuki

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] Setting up PPC440 Virtex Image for Qemu
  2011-06-30 12:15 [Qemu-devel] Setting up PPC440 Virtex Image for Qemu Suzuki Poulose
@ 2011-06-30 12:32 ` Edgar E. Iglesias
  2011-06-30 13:00   ` Suzuki Poulose
  0 siblings, 1 reply; 6+ messages in thread
From: Edgar E. Iglesias @ 2011-06-30 12:32 UTC (permalink / raw)
  To: Suzuki Poulose; +Cc: qemu-devel

On Thu, Jun 30, 2011 at 05:45:23PM +0530, Suzuki Poulose wrote:
> Hi,
> 
> I am working on enabling the KEXEC on PPC440 chipsets. To debug my patches,
> I would like to use the Qemu. The only available PPC440 support in Qemu is
> for the ppc-virtex. (Thanks for adding the support).
> 
> I was trying to use the default image provided at
> 
> http://wiki.qemu.org/download/ppc-virtexml507-linux-2_6_34.tgz
> 
> However I cannot get the network up for the board to use the nfs root file
> system.

Hi,

The problem is that there is no model of the LL-TEMAC in qemu, the one in
the refdesign beeing emulated. An easy way out is probably to connect
a xilinx,ethlite instead. You'll need to modify both QEMU and the dtb.

IIRC, the dtb published with the image has the lltemac removed.

I've got a working LL-temac model here, will try to post it this weekend.
Or if you're interested in hacking on it, I could probably code dump it as
is.


> ----
> PPC 4xx OCP EMAC driver, version 3.54
> TCP cubic registered
> NET: Registered protocol family 17
> VFS: Unable to mount root fs via NFS, trying floppy.
> VFS: Cannot open root device "nfs" or unknown-block(2,0)
> 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(2,0)
> ---
> 
> I tried using a different dtb based on virtex440-ml507.dts, but the
> qemu complains :
> 
> [suzie@suzukikp ppc-virtex-ml507]$ ./qemu-run.sh
> Unable to copy device tree in memory
> 
> 
> Is there something I can do to get the networking up ? I think this may need to
> be fixed in the dtb.
> 
>   Or is there any other mechanism to use a different file system ?
> ( I have the tool chain to build the kernel etc)


Another way is to create ramdisks with all the stuff you need and just
not use networking. Thats how the image from the wiki does it.

Cheers

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] Setting up PPC440 Virtex Image for Qemu
  2011-06-30 12:32 ` Edgar E. Iglesias
@ 2011-06-30 13:00   ` Suzuki Poulose
  2011-06-30 13:10     ` Edgar E. Iglesias
  0 siblings, 1 reply; 6+ messages in thread
From: Suzuki Poulose @ 2011-06-30 13:00 UTC (permalink / raw)
  To: Edgar E. Iglesias; +Cc: qemu-devel

On 06/30/11 18:02, Edgar E. Iglesias wrote:
> On Thu, Jun 30, 2011 at 05:45:23PM +0530, Suzuki Poulose wrote:
>> Hi,
>>
>> I am working on enabling the KEXEC on PPC440 chipsets. To debug my patches,
>> I would like to use the Qemu. The only available PPC440 support in Qemu is
>> for the ppc-virtex. (Thanks for adding the support).
>>
>> I was trying to use the default image provided at
>>
>> http://wiki.qemu.org/download/ppc-virtexml507-linux-2_6_34.tgz
>>
>> However I cannot get the network up for the board to use the nfs root file
>> system.
>
> Hi,
>
> The problem is that there is no model of the LL-TEMAC in qemu, the one in
> the refdesign beeing emulated. An easy way out is probably to connect
> a xilinx,ethlite instead. You'll need to modify both QEMU and the dtb.
>
> IIRC, the dtb published with the image has the lltemac removed.
>
> I've got a working LL-temac model here, will try to post it this weekend.
> Or if you're interested in hacking on it, I could probably code dump it as
> is.

Edgar,

Thanks a lot for the quick reply.
>>
>> Is there something I can do to get the networking up ? I think this may need to
>> be fixed in the dtb.
>>
>>    Or is there any other mechanism to use a different file system ?
>> ( I have the tool chain to build the kernel etc)
>
>
> Another way is to create ramdisks with all the stuff you need and just
> not use networking. Thats how the image from the wiki does it.

I think I can try this option. By the way, could you pass on the steps to
attach the ramdisks to the image ?

Thanks
Suzuki

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] Setting up PPC440 Virtex Image for Qemu
  2011-06-30 13:00   ` Suzuki Poulose
@ 2011-06-30 13:10     ` Edgar E. Iglesias
  2011-07-05 13:06       ` Suzuki Poulose
  0 siblings, 1 reply; 6+ messages in thread
From: Edgar E. Iglesias @ 2011-06-30 13:10 UTC (permalink / raw)
  To: Suzuki Poulose; +Cc: qemu-devel

On Thu, Jun 30, 2011 at 06:30:04PM +0530, Suzuki Poulose wrote:
> On 06/30/11 18:02, Edgar E. Iglesias wrote:
> > On Thu, Jun 30, 2011 at 05:45:23PM +0530, Suzuki Poulose wrote:
> >> Hi,
> >>
> >> I am working on enabling the KEXEC on PPC440 chipsets. To debug my patches,
> >> I would like to use the Qemu. The only available PPC440 support in Qemu is
> >> for the ppc-virtex. (Thanks for adding the support).
> >>
> >> I was trying to use the default image provided at
> >>
> >> http://wiki.qemu.org/download/ppc-virtexml507-linux-2_6_34.tgz
> >>
> >> However I cannot get the network up for the board to use the nfs root file
> >> system.
> >
> > Hi,
> >
> > The problem is that there is no model of the LL-TEMAC in qemu, the one in
> > the refdesign beeing emulated. An easy way out is probably to connect
> > a xilinx,ethlite instead. You'll need to modify both QEMU and the dtb.
> >
> > IIRC, the dtb published with the image has the lltemac removed.
> >
> > I've got a working LL-temac model here, will try to post it this weekend.
> > Or if you're interested in hacking on it, I could probably code dump it as
> > is.
> 
> Edgar,
> 
> Thanks a lot for the quick reply.
> >>
> >> Is there something I can do to get the networking up ? I think this may need to
> >> be fixed in the dtb.
> >>
> >>    Or is there any other mechanism to use a different file system ?
> >> ( I have the tool chain to build the kernel etc)
> >
> >
> > Another way is to create ramdisks with all the stuff you need and just
> > not use networking. Thats how the image from the wiki does it.
> 
> I think I can try this option. By the way, could you pass on the steps to
> attach the ramdisks to the image ?

Hi,

If I dont remember wrong, the image on the wiki contains a kernelconfig file.
The config file sets the CONFIG_INITRAMFS_SOURCE option to "./romfs".
In my case I created a romfs subdir right in my linux-2.6 kernel tree,
e.g linux-2.6/romfs/.

You'll then have to populate the romfs directory with all the things
you need. romfs/dev/xxx, romfs/lib/xxx etc etc.

Then, once you build the kernel, an image of the romfs/ will be baked
into the kernel image. You then need to choose your init cmd by
passing an rdinit option in ther kernel cmd line.

With qemu:
-append "rdinit=/bin/sh"

The qemu-run.sh script from the wiki does that aswell.

There are probably other better ways to do it that I am not aware
of at the moment. But I hope it helps as example.

Cheers

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] Setting up PPC440 Virtex Image for Qemu
  2011-06-30 13:10     ` Edgar E. Iglesias
@ 2011-07-05 13:06       ` Suzuki Poulose
  2011-07-06 11:13         ` Suzuki Poulose
  0 siblings, 1 reply; 6+ messages in thread
From: Suzuki Poulose @ 2011-07-05 13:06 UTC (permalink / raw)
  To: Edgar E. Iglesias; +Cc: Michal Simek, qemu-devel

On 06/30/11 18:40, Edgar E. Iglesias wrote:
> On Thu, Jun 30, 2011 at 06:30:04PM +0530, Suzuki Poulose wrote:
>> On 06/30/11 18:02, Edgar E. Iglesias wrote:
>>> On Thu, Jun 30, 2011 at 05:45:23PM +0530, Suzuki Poulose wrote:
>>>> Hi,
>>>>
>>>> I am working on enabling the KEXEC on PPC440 chipsets. To debug my patches,
>>>> I would like to use the Qemu. The only available PPC440 support in Qemu is
>>>> for the ppc-virtex. (Thanks for adding the support).
>>>>
>>>> I was trying to use the default image provided at
>>>>
>>>> http://wiki.qemu.org/download/ppc-virtexml507-linux-2_6_34.tgz
>>>>
>>>> However I cannot get the network up for the board to use the nfs root file
>>>> system.
>>>
>>> Hi,
>>>
>>> The problem is that there is no model of the LL-TEMAC in qemu, the one in
>>> the refdesign beeing emulated. An easy way out is probably to connect
>>> a xilinx,ethlite instead. You'll need to modify both QEMU and the dtb.
>>>
>>> IIRC, the dtb published with the image has the lltemac removed.
>>>
>>> I've got a working LL-temac model here, will try to post it this weekend.
>>> Or if you're interested in hacking on it, I could probably code dump it as
>>> is.
>>
>> Edgar,
>>
>> Thanks a lot for the quick reply.
>>>>
>>>> Is there something I can do to get the networking up ? I think this may need to
>>>> be fixed in the dtb.
>>>>
>>>>     Or is there any other mechanism to use a different file system ?
>>>> ( I have the tool chain to build the kernel etc)
>>>
>>>
>>> Another way is to create ramdisks with all the stuff you need and just
>>> not use networking. Thats how the image from the wiki does it.
>>
>> I think I can try this option. By the way, could you pass on the steps to
>> attach the ramdisks to the image ?
>
> Hi,
>
> If I dont remember wrong, the image on the wiki contains a kernelconfig file.
> The config file sets the CONFIG_INITRAMFS_SOURCE option to "./romfs".
> In my case I created a romfs subdir right in my linux-2.6 kernel tree,
> e.g linux-2.6/romfs/.
>
> You'll then have to populate the romfs directory with all the things
> you need. romfs/dev/xxx, romfs/lib/xxx etc etc.
>
> Then, once you build the kernel, an image of the romfs/ will be baked
> into the kernel image. You then need to choose your init cmd by
> passing an rdinit option in ther kernel cmd line.
>
> With qemu:
> -append "rdinit=/bin/sh"
>
> The qemu-run.sh script from the wiki does that aswell.
>
> There are probably other better ways to do it that I am not aware
> of at the moment. But I hope it helps as example.

Thanks a lot for the pointers. Somehow, the INITRAMFS_SOURCE was not working
  for me even with the kernelconfig that is attached in the tar.gz. Btw, the
kernelconfig enabled additional image types, simpleImage.virtex507 etc, which
  had no rules to build. I tried with the xilinix-2.6 git tree with no luck.

However, I have got it working using an initrd.img (7M) which I pass using -initrd option.

I have also hacked qemu to display the tlb entries (which is very much needed for my
work) with "info registers" and gdb works like a charm.  Nothing more, I could ask for.


Cheers
Suzuki

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] Setting up PPC440 Virtex Image for Qemu
  2011-07-05 13:06       ` Suzuki Poulose
@ 2011-07-06 11:13         ` Suzuki Poulose
  0 siblings, 0 replies; 6+ messages in thread
From: Suzuki Poulose @ 2011-07-06 11:13 UTC (permalink / raw)
  To: Edgar E. Iglesias; +Cc: Michal Simek, qemu-devel

On 07/05/11 18:36, Suzuki Poulose wrote:
> On 06/30/11 18:40, Edgar E. Iglesias wrote:
>> On Thu, Jun 30, 2011 at 06:30:04PM +0530, Suzuki Poulose wrote:
>>> On 06/30/11 18:02, Edgar E. Iglesias wrote:
>>>> On Thu, Jun 30, 2011 at 05:45:23PM +0530, Suzuki Poulose wrote:
>>>>> Hi,
>>>>>
>>>>> I am working on enabling the KEXEC on PPC440 chipsets. To debug my patches,
>>>>> I would like to use the Qemu. The only available PPC440 support in Qemu is
>>>>> for the ppc-virtex. (Thanks for adding the support).
>>>>>
>>>>> I was trying to use the default image provided at
>>>>>
>>>>> http://wiki.qemu.org/download/ppc-virtexml507-linux-2_6_34.tgz
>>>>>
>>>>> However I cannot get the network up for the board to use the nfs root file
>>>>> system.
>>>>
>>>> Hi,
>>>>
>>>> The problem is that there is no model of the LL-TEMAC in qemu, the one in
>>>> the refdesign beeing emulated. An easy way out is probably to connect
>>>> a xilinx,ethlite instead. You'll need to modify both QEMU and the dtb.
>>>>
>>>> IIRC, the dtb published with the image has the lltemac removed.
>>>>
>>>> I've got a working LL-temac model here, will try to post it this weekend.
>>>> Or if you're interested in hacking on it, I could probably code dump it as
>>>> is.
>>>
>>> Edgar,
>>>
>>> Thanks a lot for the quick reply.
>>>>>
>>>>> Is there something I can do to get the networking up ? I think this may need to
>>>>> be fixed in the dtb.
>>>>>
>>>>> Or is there any other mechanism to use a different file system ?
>>>>> ( I have the tool chain to build the kernel etc)
>>>>
>>>>
>>>> Another way is to create ramdisks with all the stuff you need and just
>>>> not use networking. Thats how the image from the wiki does it.
>>>
>>> I think I can try this option. By the way, could you pass on the steps to
>>> attach the ramdisks to the image ?
>>
>> Hi,
>>
>> If I dont remember wrong, the image on the wiki contains a kernelconfig file.
>> The config file sets the CONFIG_INITRAMFS_SOURCE option to "./romfs".
>> In my case I created a romfs subdir right in my linux-2.6 kernel tree,
>> e.g linux-2.6/romfs/.
>>
>> You'll then have to populate the romfs directory with all the things
>> you need. romfs/dev/xxx, romfs/lib/xxx etc etc.
>>
>> Then, once you build the kernel, an image of the romfs/ will be baked
>> into the kernel image. You then need to choose your init cmd by
>> passing an rdinit option in ther kernel cmd line.
>>
>> With qemu:
>> -append "rdinit=/bin/sh"
>>
>> The qemu-run.sh script from the wiki does that aswell.
>>
>> There are probably other better ways to do it that I am not aware
>> of at the moment. But I hope it helps as example.
>

> However, I have got it working using an initrd.img (7M) which I pass using -initrd option.
>
> I have also hacked qemu to display the tlb entries (which is very much needed for my
> work) with "info registers" and gdb works like a charm. Nothing more, I could ask for.
>

Btw, I have come across a bug in qemu-system-ppc while doing single stepping with GDB.
Somehow, the "rfi" instruction is not emulated properly. If I single step on an rfi
instruction, the pc is set to $pc+4 and not the value in SPRN_SRR0. I have a work around
for the time being. I am not that familiar with the qemu code. I could take a look at fixing
it, once I get some time to breath :-).


Cheers
Suzuki

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-07-06 11:13 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-30 12:15 [Qemu-devel] Setting up PPC440 Virtex Image for Qemu Suzuki Poulose
2011-06-30 12:32 ` Edgar E. Iglesias
2011-06-30 13:00   ` Suzuki Poulose
2011-06-30 13:10     ` Edgar E. Iglesias
2011-07-05 13:06       ` Suzuki Poulose
2011-07-06 11:13         ` Suzuki Poulose

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.