qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] VxWorks 5.5.1 on qemu powerpc


From: Alexander Graf
Subject: Re: [Qemu-ppc] VxWorks 5.5.1 on qemu powerpc
Date: Tue, 01 Apr 2014 11:16:14 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130910 Thunderbird/17.0.9

On 04/01/2014 11:04 AM, FOURNIER Maxime wrote:
Hi,

We're currently seeking to run VxWorks 5.5.1 on qemu-system-ppc
and we do not manage to make it boot.

To put the context: we did manage to do so on qemu-system-x86 and
we're just studying if it's possible or not on qemu powerpc.

The targeted cpu is a powerpc 604.



Considering some documentation and what has been said on several
mailing lists we assume that:
- -kernel argument stands for a linux kernel.
   VxWorks doesn't end up happy with it. (-bios doesn't change anything).

- Qemu may be unable to launch anything else than
       a linux kernel (and some other specific Oses we're not interested in).

We've seen that:
-   The prep open hack'ware bios continuously says it doesn't find any
     bootable prep partition (We created a disk image with fdisk
     and code 41 + boot flag).
-   The open bios manages to load the binary but the boot sequence fails
     (no execution at all (cpu_exit)).
-   There are no compatibles bsps between VxWorks and qemu
     emulated boards/platforms.
For that we may start developing of a new board (nothing sure yet).

We've tried some solutions:
- Cross compile and run grub 2, u-boot so we can specify a payload and then
     jump at the kernel start point.
     - Grub 2 starts and freezes with default platform (openbios).
     - U-boot doesn't start (default, prep, mac99 platform).
- Patching all addresses in qemu source code (we do manage to call the binary
     and jump at the correct execution address (0x00100000)). Still,
     nothing happens.
- Switch bios or crosscut bios to load kernel directly, still doesn't work.

We know that the kernel starts on the e500 platform but freezes because of
an access to a 604 specific register (spr 532 IBAT2U).

A patch has been submitted to run a payload such as u-boot on the e500
platform. (we haven't tested it yet).

Unfortunately we do not want an e500 card, but the standard prep platform
may offer the less incompatible solution with VxWorks for a start.

As there is currently no compatible board except the walnut (that was submitted
as a patch but apparently never made it to the official sources) we know it
will not go far.

So for now we just want to start the kernel and let it crash at some point.



Did someone managed to make this OS boot on qemu-powerpc ?

Yes, Fabien Chouteau had VxWorks running on e500 IIRC.

Did we miss something or did we make wrong assumptions ?

What are the main differences between the e500 and the prep platform booting
procedure (so we can try to figure out why it is starting on e500 and not on
prep) ?

You can check in the board file. The main difference today is that the e500 machine loads the -kernel blob directly and jumps to it first thing while the "desktop class" platforms load a firmware blob which then bootstraps into the kernel.

Do you need any particular data or further testing ?

I'm not sure what you're expecting to happen. If you take your VxWorks image and put it into a real PReP machine, does it work? If not, why would it work in QEMU? If you take a real Apple Mac and try to run VxWorks there, does it boot? If not, why should it boot in QEMU's model of that machine?

What exactly are you trying to do? Are you trying to run a VxWorks build for a specific target system? Then you probably need to start implementing that model. If you only want any VxWorks PPC build work, why not leverage Fabien's work?


Alex




reply via email to

[Prev in Thread] Current Thread [Next in Thread]