[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [ADD] PPC processor emulation
From: |
Gwenole Beauchesne |
Subject: |
Re: [Qemu-devel] [ADD] PPC processor emulation |
Date: |
Tue, 18 Nov 2003 15:52:37 +0100 (CET) |
On Tue, 18 Nov 2003, Johan Rydberg wrote:
> Gwenole Beauchesne <address@hidden> wrote:
>
> : I will commit a newer version tonight. The "JIT1" engine is not committed
> : yet either.
>
> How have you implemented the JIT1? As QEMU, translating basic blocks?
The initial plan was to write a simple JIT comparable to the B2/JIT with
some improvements I had started (e.g. lazy byteswapping, fixing interblock
register reallocation). But due to lack of time, I switched to dyngen-like
translation for now. When time comes, next level will use stats gathered
with jit1 and optimize specific traces.
The goal is to provide decent MacOS Classic emulation with SheepShaver:
- fix remaining little endian & 64-bit bugs in SheepShaver core
- determine how "new" NewWorld ROMs (the parcels based ones) work
- possibly teach MacOS 9 to work without address translation like MacOS
8.6 currently
- possibly port native quickdraw acceleration code from BeOS version to
Unix video code.
Next, I can experiment with JIT2 and other things but spare time
converging towards zero, that will be hard.
BTW, I have no intention to emulate the PowerPC MMU.
> What performance have achived?
There is no block chaining yet and mul/div/sub are missing right now.
Performance improvement over a predecode cache mechanism (storing pointers
to instruction handlers into a table) is only around 2.1x at this time on
a ppc 7410/400 (with the ssbench "coin 1 100" test). The former having a
slow-down factor around 20 vs. native execution, IIRC.
I will make proper benchmarks later as I first want to review currently
generated code and implement the following host-specific optimizations:
- Optimize immediate related instructions. i.e. hand assemble addi & the
like instructions. I already have runtime assemblers for AMD64, IA-32, and
PPC so that's not a trouble.
- Asm optimize condition codes related operations. e.g. current emulation
of "adde" & friends is costly and can easily make use of host flags to
compute ppc flags.
> And how do you hande condition codes?
The current approach is to compute them when Rc bit is set.
Bye,
Gwenole.
- Re: [Qemu-devel] [ADD] PPC processor emulation, (continued)
- Re: [Qemu-devel] [ADD] PPC processor emulation, Raymond W . Lucke IV, 2003/11/18
- Re: [Qemu-devel] [ADD] PPC processor emulation, J. Mayer, 2003/11/18
- Re: [Qemu-devel] [ADD] PPC processor emulation, Raymond W . Lucke IV, 2003/11/18
- Re: [Qemu-devel] [ADD] PPC processor emulation, Jocelyn Mayer, 2003/11/18
- Re: [Qemu-devel] [ADD] PPC processor emulation, Chad Page, 2003/11/18
- Re: [Qemu-devel] [ADD] PPC processor emulation, J. Mayer, 2003/11/18
- Re: [Qemu-devel] [ADD] PPC processor emulation, Benjamin Herrenschmidt, 2003/11/18
- Re: [Qemu-devel] [ADD] PPC processor emulation, Jocelyn Mayer, 2003/11/19
- Re: [Qemu-devel] [ADD] PPC processor emulation, Gwenole Beauchesne, 2003/11/18
- Re: [Qemu-devel] [ADD] PPC processor emulation, Johan Rydberg, 2003/11/18
- Re: [Qemu-devel] [ADD] PPC processor emulation,
Gwenole Beauchesne <=
- Re: [Qemu-devel] [ADD] PPC processor emulation, Jocelyn Mayer, 2003/11/18
Re: [Qemu-devel] [ADD] PPC processor emulation, J. Mayer, 2003/11/18
Re: [Qemu-devel] [ADD] PPC processor emulation, J. Mayer, 2003/11/18
[Qemu-devel] [PATCH] Term prompt for qemu, J. Mayer, 2003/11/18