qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] 440 emulation?
@ 2009-03-16 19:05 Rob Landley
  2009-03-16 19:15 ` [Qemu-devel] " Hollis Blanchard
  0 siblings, 1 reply; 4+ messages in thread
From: Rob Landley @ 2009-03-16 19:05 UTC (permalink / raw)
  To: qemu-devel; +Cc: Hollis Blanchard

I'm trying to come up with a working 440 toolchain and root filesystem, and I 
think I've built one (--with-cpu=440 for the binutils and gcc config seems to 
be the magic), but my attempt to test it under qemu with -M bamboo led to an 
"Unable to initialize CPU" message, because apparently the 440 isn't actually 
supported.

I tried feeding in "-cpu 405" in hopes of getting something to at least launch 
(that's what the source code does when it's using kvm, anyway), but it still 
said it couldn't initialize the cpu.

Presumably this works for somebody, but I dunno how to get it to do anything 
interesting.  What is the status of the bamboo board?

Rob

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

* [Qemu-devel] Re: 440 emulation?
  2009-03-16 19:05 [Qemu-devel] 440 emulation? Rob Landley
@ 2009-03-16 19:15 ` Hollis Blanchard
  2009-03-16 19:41   ` Rob Landley
  0 siblings, 1 reply; 4+ messages in thread
From: Hollis Blanchard @ 2009-03-16 19:15 UTC (permalink / raw)
  To: Rob Landley; +Cc: qemu-devel

On Mon, 2009-03-16 at 14:05 -0500, Rob Landley wrote:
> I'm trying to come up with a working 440 toolchain and root filesystem, and I 
> think I've built one (--with-cpu=440 for the binutils and gcc config seems to 
> be the magic), but my attempt to test it under qemu with -M bamboo led to an 
> "Unable to initialize CPU" message, because apparently the 440 isn't actually 
> supported.

Correct, 440 is not supported by TCG, so I'm not sure what you're trying
to do?

> I tried feeding in "-cpu 405" in hopes of getting something to at least launch 
> (that's what the source code does when it's using kvm, anyway), but it still 
> said it couldn't initialize the cpu.

As you can see from quick inspection, none of the code involved pays any
attention to your -cpu option. If you want to make that work, it should
simply be a matter of plumbing 'cpu_model' through ppc440ep_init().

> Presumably this works for somebody, but I dunno how to get it to do anything 
> interesting.  What is the status of the bamboo board?

It works, as long as you can provide working core emulation.

-- 
Hollis Blanchard
IBM Linux Technology Center

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

* [Qemu-devel] Re: 440 emulation?
  2009-03-16 19:15 ` [Qemu-devel] " Hollis Blanchard
@ 2009-03-16 19:41   ` Rob Landley
  2009-03-16 20:00     ` Hollis Blanchard
  0 siblings, 1 reply; 4+ messages in thread
From: Rob Landley @ 2009-03-16 19:41 UTC (permalink / raw)
  To: Hollis Blanchard; +Cc: qemu-devel

On Monday 16 March 2009 14:15:06 Hollis Blanchard wrote:
> On Mon, 2009-03-16 at 14:05 -0500, Rob Landley wrote:
> > I'm trying to come up with a working 440 toolchain and root filesystem,
> > and I think I've built one (--with-cpu=440 for the binutils and gcc
> > config seems to be the magic), but my attempt to test it under qemu with
> > -M bamboo led to an "Unable to initialize CPU" message, because
> > apparently the 440 isn't actually supported.
>
> Correct, 440 is not supported by TCG, so I'm not sure what you're trying
> to do?

Test a 440 toolchain on an emulated bamboo board.  I discovered that it wasn't 
supported when I got the "Unable to initialize CPU" message, and investigated.  
I was hoping that either another processor could run 440 code (ala armv5 
running armv4 code), or that 440 support was pending and simply hadn't been 
merged yet.  Couldn't find anything about it in the archives, so I asked.  
(Not particularly coherently, as it turns out.)

> > I tried feeding in "-cpu 405" in hopes of getting something to at least
> > launch (that's what the source code does when it's using kvm, anyway),
> > but it still said it couldn't initialize the cpu.
>
> As you can see from quick inspection, none of the code involved pays any
> attention to your -cpu option. If you want to make that work, it should
> simply be a matter of plumbing 'cpu_model' through ppc440ep_init().

I might take a stab at that...

> > Presumably this works for somebody, but I dunno how to get it to do
> > anything interesting.  What is the status of the bamboo board?
>
> It works, as long as you can provide working core emulation.

I take it the only way to do this currently is to run kvm on actual 440 
hardware?

Rob

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

* Re: [Qemu-devel] Re: 440 emulation?
  2009-03-16 19:41   ` Rob Landley
@ 2009-03-16 20:00     ` Hollis Blanchard
  0 siblings, 0 replies; 4+ messages in thread
From: Hollis Blanchard @ 2009-03-16 20:00 UTC (permalink / raw)
  To: qemu-devel

On Mon, 2009-03-16 at 14:41 -0500, Rob Landley wrote:
> On Monday 16 March 2009 14:15:06 Hollis Blanchard wrote:
> > On Mon, 2009-03-16 at 14:05 -0500, Rob Landley wrote:
> > > I'm trying to come up with a working 440 toolchain and root filesystem,
> > > and I think I've built one (--with-cpu=440 for the binutils and gcc
> > > config seems to be the magic), but my attempt to test it under qemu with
> > > -M bamboo led to an "Unable to initialize CPU" message, because
> > > apparently the 440 isn't actually supported.
> >
> > Correct, 440 is not supported by TCG, so I'm not sure what you're trying
> > to do?
> 
> Test a 440 toolchain on an emulated bamboo board.  I discovered that it wasn't 
> supported when I got the "Unable to initialize CPU" message, and investigated.  
> I was hoping that either another processor could run 440 code (ala armv5 
> running armv4 code), or that 440 support was pending and simply hadn't been 
> merged yet.  Couldn't find anything about it in the archives, so I asked.  
> (Not particularly coherently, as it turns out.)

While Power Architecture allows you to run userspace code across
different cores, the same is not true for supervisor code.

As far as I know, nobody is working on 440 TCG emulation. I think the
most difficult part would be the new MMU model; there are some other
changes relative to 405 but I think they're pretty simple.

> > > I tried feeding in "-cpu 405" in hopes of getting something to at least
> > > launch (that's what the source code does when it's using kvm, anyway),
> > > but it still said it couldn't initialize the cpu.
> >
> > As you can see from quick inspection, none of the code involved pays any
> > attention to your -cpu option. If you want to make that work, it should
> > simply be a matter of plumbing 'cpu_model' through ppc440ep_init().
> 
> I might take a stab at that...

As long as you know you're testing 405 support, not 440. If you build a
405 Linux kernel with device tree support, it might just work.

> > > Presumably this works for somebody, but I dunno how to get it to do
> > > anything interesting.  What is the status of the bamboo board?
> >
> > It works, as long as you can provide working core emulation.
> 
> I take it the only way to do this currently is to run kvm on actual 440 
> hardware?

Yes; KVM doesn't translate instruction sets.

(In theory you could do a little intra-architecture emulation to e.g.
run a 405 guest on 440 host, but this has not been implemented.)

-- 
Hollis Blanchard
IBM Linux Technology Center

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

end of thread, other threads:[~2009-03-16 20:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-16 19:05 [Qemu-devel] 440 emulation? Rob Landley
2009-03-16 19:15 ` [Qemu-devel] " Hollis Blanchard
2009-03-16 19:41   ` Rob Landley
2009-03-16 20:00     ` Hollis Blanchard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).