[U-Boot] Using qemu-system-ppc to boot U-Boot

Hi,
I'm trying to figure out if anyone has ported a PPC system to QEMU that is capable of booting U-Boot. Similar to the ARM versatilepb target, but for PPC instead. I've tried the Bamboo and MPC8544DS but it seems they only use stubs to OS calls and parses a DTB for info.
If there's no target supported yet, what about a QEMU target the support booting an ARM target in big-endian mode? Big-endian is important in order to test some endian dependent code.
The purpose is to emulate a network of connected machines without having to buy lots of hardware.
Best regards, Frank

Dear Frank,
In message CADNf2sxrQFDU0LLQWp5huRGgQiKbaLik1+2C=Oj=gjORP6XacA@mail.gmail.com you wrote:
I'm trying to figure out if anyone has ported a PPC system to QEMU that is capable of booting U-Boot. Similar to the ARM versatilepb target, but for PPC instead. I've tried the Bamboo and MPC8544DS but it seems they only use stubs to OS calls and parses a DTB for info.
Did you check which configurations the Yocto project are using? They provide qemu based emulations for ARM, MIPS, PPC and x86, and I would be really surprised if the ARM and PPC configs were not based on U-Boot ... [ARM: beagleboard; PPC: mpc8315e-rdb; MIPS: routerstationpro]
If there's no target supported yet, what about a QEMU target the support booting an ARM target in big-endian mode? Big-endian is important in order to test some endian dependent code.
If you need BE systems, use PPC. For ARM, they are just a tiny minority (so far at least) that I don't think it makes sense to invest efforts in these.
Best regards,
Wolfgang Denk

On 03/27/2012 03:53 PM, Wolfgang Denk wrote:
Dear Frank,
In message CADNf2sxrQFDU0LLQWp5huRGgQiKbaLik1+2C=Oj=gjORP6XacA@mail.gmail.com you wrote:
I'm trying to figure out if anyone has ported a PPC system to QEMU that is capable of booting U-Boot. Similar to the ARM versatilepb target, but for PPC instead. I've tried the Bamboo and MPC8544DS but it seems they only use stubs to OS calls and parses a DTB for info.
Did you check which configurations the Yocto project are using? They provide qemu based emulations for ARM, MIPS, PPC and x86, and I would be really surprised if the ARM and PPC configs were not based on U-Boot ... [ARM: beagleboard; PPC: mpc8315e-rdb; MIPS: routerstationpro]
I'm not familiar with what Yocto does, but at least for Freescale PPC chips QEMU does not emulate enough of the hardware to run U-Boot (at least, not without significant U-Boot hacking that I'm not aware of anyone having done). QEMU loads Linux directly.
I don't see mpc83xx support in QEMU at all.
-Scott

On Tue, Mar 27, 2012 at 03:59:48PM -0500, Scott Wood wrote:
On 03/27/2012 03:53 PM, Wolfgang Denk wrote:
Dear Frank,
In message CADNf2sxrQFDU0LLQWp5huRGgQiKbaLik1+2C=Oj=gjORP6XacA@mail.gmail.com you wrote:
I'm trying to figure out if anyone has ported a PPC system to QEMU that is capable of booting U-Boot. Similar to the ARM versatilepb target, but for PPC instead. I've tried the Bamboo and MPC8544DS but it seems they only use stubs to OS calls and parses a DTB for info.
Did you check which configurations the Yocto project are using? They provide qemu based emulations for ARM, MIPS, PPC and x86, and I would be really surprised if the ARM and PPC configs were not based on U-Boot ... [ARM: beagleboard; PPC: mpc8315e-rdb; MIPS: routerstationpro]
I'm not familiar with what Yocto does, but at least for Freescale PPC chips QEMU does not emulate enough of the hardware to run U-Boot (at least, not without significant U-Boot hacking that I'm not aware of anyone having done). QEMU loads Linux directly.
Putting my OE-guy hat on, the qemu-ppc target used is 'mac99'. It was switched over from prep back in January of this year. From my own past diggings, there's not really a newer machine option as all of the support added to qemu from Freescale and IBM has been kvm-oriented rather than full machine emulation oriented. So to run U-Boot under qemu on a BE machine, you'd need to port U-Boot over. Or, build the sandbox arch on a BE host, such as Linux running under qemu-ppc. Then it should be BE, yes?

On 03/27/2012 04:55 PM, Tom Rini wrote:
On Tue, Mar 27, 2012 at 03:59:48PM -0500, Scott Wood wrote:
On 03/27/2012 03:53 PM, Wolfgang Denk wrote:
Dear Frank,
In message CADNf2sxrQFDU0LLQWp5huRGgQiKbaLik1+2C=Oj=gjORP6XacA@mail.gmail.com you wrote:
I'm trying to figure out if anyone has ported a PPC system to QEMU that is capable of booting U-Boot. Similar to the ARM versatilepb target, but for PPC instead. I've tried the Bamboo and MPC8544DS but it seems they only use stubs to OS calls and parses a DTB for info.
Did you check which configurations the Yocto project are using? They provide qemu based emulations for ARM, MIPS, PPC and x86, and I would be really surprised if the ARM and PPC configs were not based on U-Boot ... [ARM: beagleboard; PPC: mpc8315e-rdb; MIPS: routerstationpro]
I'm not familiar with what Yocto does, but at least for Freescale PPC chips QEMU does not emulate enough of the hardware to run U-Boot (at least, not without significant U-Boot hacking that I'm not aware of anyone having done). QEMU loads Linux directly.
Putting my OE-guy hat on, the qemu-ppc target used is 'mac99'. It was switched over from prep back in January of this year. From my own past diggings, there's not really a newer machine option as all of the support added to qemu from Freescale and IBM has been kvm-oriented rather than full machine emulation oriented.
The mpc8544ds target does support emulation now (but not enough for U-Boot).
-Scott

On Tue, Mar 27, 2012 at 11:55 PM, Tom Rini trini@ti.com wrote:
On Tue, Mar 27, 2012 at 03:59:48PM -0500, Scott Wood wrote:
On 03/27/2012 03:53 PM, Wolfgang Denk wrote:
Dear Frank,
In message CADNf2sxrQFDU0LLQWp5huRGgQiKbaLik1+2C=Oj=gjORP6XacA@mail.gmail.com you wrote:
I'm trying to figure out if anyone has ported a PPC system to QEMU that is capable of booting U-Boot. Similar to the ARM versatilepb target, but for PPC instead. I've tried the Bamboo and MPC8544DS but it seems they only use stubs to OS calls and parses a DTB for info.
Did you check which configurations the Yocto project are using? They provide qemu based emulations for ARM, MIPS, PPC and x86, and I would be really surprised if the ARM and PPC configs were not based on U-Boot ... [ARM: beagleboard; PPC: mpc8315e-rdb; MIPS: routerstationpro]
I'm not familiar with what Yocto does, but at least for Freescale PPC chips QEMU does not emulate enough of the hardware to run U-Boot (at least, not without significant U-Boot hacking that I'm not aware of anyone having done). QEMU loads Linux directly.
Putting my OE-guy hat on, the qemu-ppc target used is 'mac99'. It was switched over from prep back in January of this year. From my own past diggings, there's not really a newer machine option as all of the support added to qemu from Freescale and IBM has been kvm-oriented rather than full machine emulation oriented. So to run U-Boot under qemu on a BE machine, you'd need to port U-Boot over. Or, build the sandbox arch on a BE host, such as Linux running under qemu-ppc. Then it should be BE, yes?
KVM would be fine if I wanted to run Linux here, but I don't... Well I do, but my current employer don't. BE is a requirement yes. In fact, more so than running than a PPC compatible system.
Best regards, Frank

Dear Scott Wood,
On 03/27/2012 03:53 PM, Wolfgang Denk wrote:
Dear Frank,
In message
CADNf2sxrQFDU0LLQWp5huRGgQiKbaLik1+2C=Oj=gjORP6XacA@mail.gmail.com you wrote:
I'm trying to figure out if anyone has ported a PPC system to QEMU that is capable of booting U-Boot. Similar to the ARM versatilepb target, but for PPC instead. I've tried the Bamboo and MPC8544DS but it seems they only use stubs to OS calls and parses a DTB for info.
Did you check which configurations the Yocto project are using? They provide qemu based emulations for ARM, MIPS, PPC and x86, and I would be really surprised if the ARM and PPC configs were not based on U-Boot ... [ARM: beagleboard; PPC: mpc8315e-rdb; MIPS: routerstationpro]
I'm not familiar with what Yocto does, but at least for Freescale PPC chips QEMU does not emulate enough of the hardware to run U-Boot (at least, not without significant U-Boot hacking that I'm not aware of anyone having done). QEMU loads Linux directly.
I don't see mpc83xx support in QEMU at all.
Yep, either bamboo or taihu don't boot for me in qemu :-(
-Scott
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Best regards, Marek Vasut

On Wed, Mar 28, 2012 at 12:16 AM, Marek Vasut marek.vasut@gmail.com wrote:
Dear Scott Wood,
On 03/27/2012 03:53 PM, Wolfgang Denk wrote:
Dear Frank,
In message
CADNf2sxrQFDU0LLQWp5huRGgQiKbaLik1+2C=Oj=gjORP6XacA@mail.gmail.com you wrote:
I'm trying to figure out if anyone has ported a PPC system to QEMU that is capable of booting U-Boot. Similar to the ARM versatilepb target, but for PPC instead. I've tried the Bamboo and MPC8544DS but it seems they only use stubs to OS calls and parses a DTB for info.
Did you check which configurations the Yocto project are using? They provide qemu based emulations for ARM, MIPS, PPC and x86, and I would be really surprised if the ARM and PPC configs were not based on U-Boot ... [ARM: beagleboard; PPC: mpc8315e-rdb; MIPS: routerstationpro]
I'm not familiar with what Yocto does, but at least for Freescale PPC chips QEMU does not emulate enough of the hardware to run U-Boot (at least, not without significant U-Boot hacking that I'm not aware of anyone having done). QEMU loads Linux directly.
I don't see mpc83xx support in QEMU at all.
Yep, either bamboo or taihu don't boot for me in qemu :-(
Hi Marek, taihu was my next target to test, so thanks for sparing my time. Next would be to try to dig up a target called Walnut. Check this: http://lists.denx.de/pipermail/u-boot/2008-November/043400.html
I cannot see that QEMU lists walnut as a target. Maybe the patches wasn't sent?
Best regards, Frank
participants (5)
-
Frank Svendsbøe
-
Marek Vasut
-
Scott Wood
-
Tom Rini
-
Wolfgang Denk