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 <[EMAIL PROTECTED]> Never organized