WINE for PowerPC?

Francois Gouget fgouget at free.fr
Sun Nov 3 14:55:03 CST 2002


On Sun, 3 Nov 2002, Shachar Shemesh wrote:
[...]
> Does bochs employ JIT compilation? I know that even modest JIT support
> provides great runtime improvement.

AFAIK (i.e. not much) Boch does not support just-in-time compilation. It
would certainly be a nice addition to it but I am told it requires a lot
of work.


[...]
> I believe you are wrong. Sure, emulation is not as fast as native code,
> but that's exactly why a merged wine+bochs may be much much faster than
> installing Windows in a VM.

Here I disagree. If the emulator is fast enough to run the application,
then it should be fast enough to run the application plus Wine.
Reciprocally, if it is too slow to run Wine, then I think you will find
that it is too slow to run your application too.

Even so I think it should be faster than running Windows in an emulator
because you will not run two filesystem layers, two graphics engines,
and you should be able to dispense with a full virtual machine, i.e.
you should not have to set apart memory for the virtual machine which
means you share the disk cache, etc.

[...]
> What is required in order to do that:
> 1. Winelib must be fully supported on that platform.
> 2. Endianity conversions must be performed on all >1byte values. This
> means that the native code must work with structures that are little
> endian. Personally, I'm not sure why that does not hold true to winelib
> apps as well.
> 3. The CPU emulation need to be extracted from your emulator, as that is
> the only thing necessary for such a setup. There is no need for any kind
> of hardware emulation, as all hardware access is translated to native OS
> calls.

There is a lot more:
 * you must keep track of the status (x86 or PPC) of all callbacks so
that you can convert parameters if necessary
 * you must keep track of the status of all winprocs for the same reason
 * you must also take care of the alignment issues (in addition to the
endianness)

And I am sure there are quite a lot of other issues that may crop up.
This is as much work but probably more than supporting the 16/32bit
dichotomy, or supporting both Ansi and Unicode functions.

I really think that the rational thing to do is to run Wine inside the
emulator (which should work for all Linux x86 applications).


-- 
Francois Gouget         fgouget at free.fr        http://fgouget.free.fr/
     The software said it requires Win95 or better, so I installed Linux.




More information about the wine-devel mailing list