wine on Alpha (was: Help needed)

Patrik Stridvall ps at leissner.se
Thu Jun 14 07:31:56 CDT 2001


> > Still, you must be aware of a few thing.
> > * Wine is not 100% byte order clean.
> 
> Alpha seems to be "correct" endian ;)

True. But what I meant was since the
size of integer changes from 32 to 64 bits,
any code that rely on the exact layout of 
memory might have problems becuase of this.

This is not the same as the problem below
where you have pointer truncation issues
or because code expects that 

DWORD x; 
int y;
x = y;

will work correcly.

But OK. I shold probably explained better
what I meant.

Anyway all code should be byte order clean
regardless and making it so might solve
some 32/64 bit byte layout problems as well.

When you change to code for Alpha you might
as well change it to work with big endian
platforms as well.
 
> > * Wine is not 64 bit clean.
> >   This is a little worse especially since
> >   Win32 often stores pointers in 32 bit integers
> >   and this problem really can't be solved in
> >   a good way, since extending the size of the storage
> >   is not possible at least not if you want to
> >   be able to implement a x86 emulator in the
> >   future. However I guess it will be possible
> >   to force all memory usage to be in the lower
> >   32 bits of memory to be able to cope with
> >   truncated pointers.
> 
> Digital has(d) a lot of very good emulation technologies -
> FX!32 which let to run win32 386 apps on NT Alpha with
> almost full speed, em86 which runs 386 Linux apps on Linux
> Alpha (http://www.cs.rose-hulman.edu/~donaldlf/em86/index.html),
> x86emu which is used in XFree86 and MILO to initialize
> graphic card's 386 BIOS.

True, but Wine might need something a little more than
that and FX!32 doesn't have souce code available AFAIK.

Of course that is perhaps not a problem for an internal
Digital project. :-)

Anyway, that is a later problem. Just making Winelib work
might take some effort.




More information about the wine-devel mailing list