qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] I got a kernel booted under qemu-system-ppc !


From: J. Mayer
Subject: Re: [Qemu-devel] I got a kernel booted under qemu-system-ppc !
Date: Sun, 21 Oct 2007 12:24:34 +0200

On Sun, 2007-10-21 at 04:55 -0500, Rob Landley wrote:
> On Saturday 20 October 2007 3:50:52 am J. Mayer wrote:
> > Sleep mode is currently implemented only for a few CPUs. I should add
> > all the currently emulated cores. For this, I would have to emulate the
> > HID registers, in most case, which is still not done.
> 
> Getting it to exit in response to a shut down attempt would be really nice 
> too.  (It may already do so, but I have no idea how to trigger it and neither 
> did Milton last I checked.)

Well, if it does not exit, that means that there should be something
emulated in the chipset to do so and that the Linux kernel just enter an
infinite loop instead of shuting down / reseting the board.

> > And you can get the list of all CPUs emulated by Qemu with the '-cpu ?'
> > switch.
> 
> I did that, but it -cpu ? gives output like:
> 
>   PowerPC 7448             PVR 80040201
>   PowerPC 7448v1.0         PVR 80040100
>   PowerPC 7448v1.1         PVR 80040101
>   PowerPC 7448v2.0         PVR 80040200
>   PowerPC 7448v2.1         PVR 80040201
> 
> I prefer the result of "-M ?" which makes it slightly clearer which field you 
> need to feed qemu as an argument.  (For the record, -cpu seems to want filed 
> $2 of the -cpu ? output.)  Also, that doesn't tell me what the differences 
> between any of them are.

The idea of showing the name of the model and the PVR (processor version
register) is that it can be useful to give Qemu a PVR instead of a name,
even if this possibility is not properly implemented in the commited
version. It's sometime more relevant to provide a PVR than a core name,
imho...
I will put a dump of the CPU features for all cores emulated by Qemu on
line soon.

> >From earlier research, I know that if you configure a toolchain for "7xx" 
> >all 
> major PowerPC variants except two will run that, it's more or less "-mcpu 
> 386" of the powerpc world.
>
> The two that won't run it (Motorola's 8xx and IBM's 4xx) are both embedded 
> subsets of powerpc that have had instructions removed, and thus need their 
> own toolchains.  (Of course those two removed DIFFERENT instructions, 
> sigh...)

Those two ones do not have any hardware floating point implemented and
lack the support of some optional instructions. If you want to compile
executables that would run on any PowerPC core, you have to use the
switch '-many' or '-mcom'. This is supposed to generate code that would
even run on the original RS/6000 architecture. The '-mppc' generates
code for 603/604 which should be a better PowerPC insns subset than the
750 one, for portability. If you want all programs to also run on
4xx/8xx/82xx, you may also add '-msoft-float' so no hardware floating
point instructions will be used.
But you may not care about those cores as they are used only in
microcontrollers so I need to implement at least a subset of their
internal devices to make them usable in the full-system emulation.

> My random and confused notes about various hardware platforms are 
> at "http://landley.net/ols/ols2007/platforms.txt";, which has a largeish 
> section on ppc that probably makes sense to nobody but me. :)
> 
> I don't actually have any _background_ in embedded hardware.  Busybox, 
> uClibc, 
> and qemu all dragged me into it, and I've been trying to pick things up as I 
> go along...
> 
> Rob
> 
> P.S.  I removed you from the CC: list because your ISP is still bouncing my 
> emails as spam, and I don't know if the list sends you a copy if you're cc'd.

Strange, my ISP does not tag your mails as spams, when I receive them.
But it's not a problem for me not to be CCed...

-- 
J. Mayer <address@hidden>
Never organized





reply via email to

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