qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [ADD] PPC processor emulation


From: Raymond W . Lucke IV
Subject: Re: [Qemu-devel] [ADD] PPC processor emulation
Date: Tue, 18 Nov 2003 03:39:59 -0800

That's really cool that you have the preliminary PPC emulation, and I noticed that you have cleaned a few things up. I wonder if your changes will make my port to Darwin any easier. ;-)

Ray


On Nov 18, 2003, at 2:37 AM, J. Mayer wrote:

On Tue, 2003-11-18 at 10:37, Gwenole Beauchesne wrote:
On Tue, 18 Nov 2003, J. Mayer wrote:

Here's a set of patches which adds PPC processor as a new target.
The emulation is not complete:

Hehe, interesting. Since I hadn't seen news so far, I decided to implement
my own version for the SheepShaver core CPU emulator this weekend. ;-)

Damned :=)

I have a test program that covers around 600K variants with specific
values to trigger flags updates. It requires a PPC host for now to
validate results. It helped a lot to first write a correct interpreter and
discover some hidden semantics in rare cases.

The program, ppc_test does this with a lot of different instruction,
using a huge set of values. With the ctrace program, I could check that
it runs the same on my Ibook and on my PC with qemu. Where could I find
yours to make more tests ?
You found hidden semantics, as you say. What is confusing, also, is that Motorola's implementation isn't the same than IBM's one for some strange
cases...

I will first fix Microlib's core and try to have a look at QEMU's
afterwards.

there is no supervisor mode support for now

Assuming supervisor is OEA, how do you plan to emulate the TBR (at least for VEA)? Currently, I make TBU=0/TBL=clock() loaded at MFTBR time. This
is enough to make MacOS classic happy. An alternative would be to use
gettimeofday() for seconds/microseconds. Any ideas?

My TBL/TBU implementation isn't a real time clock, but is a cycle
counter, as on "real" PPC. That means that the CPU will seem to run with
a variable clock, if a program compares its value to the one given by a
real-time clock. It's updated at the end of a translated block, or when
I see a mftbl/mftbu
instruction.
This way of doing seems closer to real PPC implementation, but may look
strange for some OS's...

Regards.


J. Mayer <address@hidden>
Never organized



_______________________________________________
Qemu-devel mailing list
address@hidden
http://mail.nongnu.org/mailman/listinfo/qemu-devel





reply via email to

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