qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Is Little endian supported by Qemu -prep


From: Tero Kaarlela
Subject: Re: [Qemu-devel] Is Little endian supported by Qemu -prep
Date: Thu, 07 Apr 2005 19:29:15 +0300
User-agent: Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.0.1) Gecko/20020919 IBM Web Browser for OS/2

J. Mayer wrote:

On Thu, 2005-04-07 at 10:02 +0300, Tero Kaarlela wrote:
Still working on OS/2 PPC edition bootloading. I got patch to ppc_prep.c from J Mayer to make it support non-continuous I/O map mode. It seemed to work ok. But catched bug in the further code after line mfspr r3,1008. I modified ppc_prep.c Processor version from 0x00080000 (g3) to 0x00040000 (604) and problem was fixed. Now it crashes after code:

 subfic r0,r0,-32690
 mtlr r0
 blr
 (LR = ffef7f1e)
 r0 was 0x00100130 to begin with

This error happens shortly after changinfg MSR state from 0x00000030 to 0x00000031 (change mode from Big-endian to Little endian) So might Little-endian be reason why LR goes nuts?:)

Yes, that's the reason. As far as I know, Qemu has no support for
dynamic endian modes.
I did not think any OS did use LE mode...

Hmmm.. It seems that WinNT for PPC does run in Little-endian too...


Imho, the simple way to handle this is to add a bit in the translation
bloc state (flags in cpu-exec.c) and exend the memory access tables
(using mem_idx in target-ppc/translate.c) for little-endian case.
This is not so hard to do, but as all memory access routines have to be
duplicated, it may take some time to do the patch. The great thing doing
this way is that little endian mode will be as efficient as BE mode..
I'll take a look during the week end and give you a patch so you may go
on testing OS/2.

Thanks in advance once again :)







reply via email to

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