qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Is Little endian supported by Qemu -prep
@ 2005-04-07  7:02 Tero Kaarlela
  2005-04-07 10:37 ` [Qemu-devel] Is Little endian supported by Qemu -prep sorry wrong info!! Tero Kaarlela
  2005-04-07 10:44 ` [Qemu-devel] Is Little endian supported by Qemu -prep J. Mayer
  0 siblings, 2 replies; 6+ messages in thread
From: Tero Kaarlela @ 2005-04-07  7:02 UTC (permalink / raw)
  To: qemu-devel

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?:)



Tero Kaarlela

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] Is Little endian supported by Qemu -prep sorry wrong info!!
  2005-04-07  7:02 [Qemu-devel] Is Little endian supported by Qemu -prep Tero Kaarlela
@ 2005-04-07 10:37 ` Tero Kaarlela
  2005-04-07 10:44 ` [Qemu-devel] Is Little endian supported by Qemu -prep J. Mayer
  1 sibling, 0 replies; 6+ messages in thread
From: Tero Kaarlela @ 2005-04-07 10:37 UTC (permalink / raw)
  To: qemu-devel

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?:) 

Sorry I gave wrong info my mistake MSR state is changed from 0x00010030 
to 0x00000031 So DR & IR also affected

>
>
> Tero Kaarlela
>
>
> _______________________________________________
> Qemu-devel mailing list
> Qemu-devel@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/qemu-devel
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] Is Little endian supported by Qemu -prep
  2005-04-07  7:02 [Qemu-devel] Is Little endian supported by Qemu -prep Tero Kaarlela
  2005-04-07 10:37 ` [Qemu-devel] Is Little endian supported by Qemu -prep sorry wrong info!! Tero Kaarlela
@ 2005-04-07 10:44 ` J. Mayer
  2005-04-07 16:29   ` Tero Kaarlela
  1 sibling, 1 reply; 6+ messages in thread
From: J. Mayer @ 2005-04-07 10:44 UTC (permalink / raw)
  To: qemu-devel

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...

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.

-- 
J. Mayer <l_indien@magic.fr>
Never organized

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] Is Little endian supported by Qemu -prep
  2005-04-07 10:44 ` [Qemu-devel] Is Little endian supported by Qemu -prep J. Mayer
@ 2005-04-07 16:29   ` Tero Kaarlela
  2005-04-07 17:46     ` Gwenole Beauchesne
  0 siblings, 1 reply; 6+ messages in thread
From: Tero Kaarlela @ 2005-04-07 16:29 UTC (permalink / raw)
  To: J. Mayer; +Cc: qemu-devel

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 :)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] Is Little endian supported by Qemu -prep
  2005-04-07 16:29   ` Tero Kaarlela
@ 2005-04-07 17:46     ` Gwenole Beauchesne
  2005-04-07 21:35       ` J. Mayer
  0 siblings, 1 reply; 6+ messages in thread
From: Gwenole Beauchesne @ 2005-04-07 17:46 UTC (permalink / raw)
  To: qemu-devel

Le jeudi, 7 avr 2005, à 18:29 Europe/Paris, Tero Kaarlela a écrit :

>> 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...

Yes too true. It's rumored that the NT kernel is highly portable but 
the Windows is definitely little endian and 32-bit oriented. Hence this 
unusual LLP64 model.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] Is Little endian supported by Qemu -prep
  2005-04-07 17:46     ` Gwenole Beauchesne
@ 2005-04-07 21:35       ` J. Mayer
  0 siblings, 0 replies; 6+ messages in thread
From: J. Mayer @ 2005-04-07 21:35 UTC (permalink / raw)
  To: qemu-devel

On Thu, 2005-04-07 at 19:46 +0200, Gwenole Beauchesne wrote:
> Le jeudi, 7 avr 2005, à 18:29 Europe/Paris, Tero Kaarlela a écrit :
> 
> >> 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...
> 
> Yes too true. It's rumored that the NT kernel is highly portable but 
> the Windows is definitely little endian and 32-bit oriented. Hence this 
> unusual LLP64 model.

Yes, right.
But WinNT is still far from booting and crashes, I think, before
checking/swapping the endian mode (don't try: I never commited the
needed patch to support it's own XCOFF format in Open Hack'Ware as I'm
sure it's buggy...)
Then, I add no example of little-endian run on PPC.
What I knew is that some say that VirtualPC use this mode to have a
faster emulation.

Now, it's obvious that the feature is needed.

-- 
J. Mayer <l_indien@magic.fr>
Never organized

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-04-07 21:09 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-07  7:02 [Qemu-devel] Is Little endian supported by Qemu -prep Tero Kaarlela
2005-04-07 10:37 ` [Qemu-devel] Is Little endian supported by Qemu -prep sorry wrong info!! Tero Kaarlela
2005-04-07 10:44 ` [Qemu-devel] Is Little endian supported by Qemu -prep J. Mayer
2005-04-07 16:29   ` Tero Kaarlela
2005-04-07 17:46     ` Gwenole Beauchesne
2005-04-07 21:35       ` J. Mayer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).