qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] PowerPC64 and more


From: J. Mayer
Subject: [Qemu-devel] PowerPC64 and more
Date: Thu, 21 Jul 2005 13:15:37 +0200

Here's a long awaited patch (hum, Fabrice ? ;-) ).
It is really invasive in the target-ppc subdirectory.

It provides:
* PowerPC 64 target support
* better 64 bits hosts support (use native registers instead of 32 bit
aliases)
* Software driven TLB support for 6xx & 7xx(x) PowerPC with generic
background, then
  PowerPC 4xx software driven TLB will be easy to implement.
* Some preliminary support for 403 MMU.
* More SPR definitions.
* Optimizations and cleanups (sure, always more to do !)
* Serial driver IRQ fixes.

Those new features have some limitations:
* PowerPC 64 is tested only in 32 bits mode, because:
  - No 64 bits PowerPC model is fully implemented (we need at least
970FX).
  - We have no PowerPC 64 hardware based target. I guess PREP could be
used
    to launch Linux.
  - Open Hack'Ware need PPC64 support (work in progress)
 Then it acts exactly the same way as PowerPC 32 target, using 64 bits
registers.
 Note that one will be able to select any 32 bits or 64 bits CPU when
using
 PowerPC 64 target. PowerPC 32 target will remain only because it's much
more
 efficient when running on 32 bits hosts.
* There is no PowerPC 64 linux-user emulation because I did not find a
clean way
  to be able to launch all PowerPC executables (ie 64 bits _and_ 32 bits
ones)
  with this target.
* SoftTLB emulation is buggy: it works well until we get in user mode
  But while entering init process, it comes into an infinite loop
filling TLBs...
  This need to be fixed to get a complete 602 & 603 emulation.
* New CPU model (40x, 440, 601, 602, 603, 7x5, 74xx, ...)
  are incomplete and not fully fonctionnal.
  For now, only PowerPC 604, 740 & 750 models are usable.

To come (to do or to be tested):
* more support for PowerPC 40x & 440:
  - I got most of unimplemented instructions (mostly tested !)
  - MMU and exception models need to be implemented (partially done)
  - I already have some code for simple devices emulation using DCR (IRQ
controler, serial   
    ports, ...)
* Altivec for 74xx (yes, I got most of it...)
* PowerPC 601 support (will also give original POWER support, as a side
effet).
* and more....

Please enjoy and report any problem, success or suggestion.

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

Attachment: ppc64_diff.tar.bz2
Description: application/bzip-compressed-tar


reply via email to

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