qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "J. Mayer" <l_indien@magic.fr>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Inquiry, speed comparison on OS X, QEMU vs Virtual PC
Date: Sat, 10 Jul 2004 16:05:18 +0200	[thread overview]
Message-ID: <1089468317.26832.23200.camel@rapid> (raw)
In-Reply-To: <59AF2458-D274-11D8-858B-000A2796D230@free.fr>

On Sat, 2004-07-10 at 15:23, Pierre d'Herbemont wrote:
> Le 10 juil. 04, à 15:08, J. Mayer a écrit :
> > On Sat, 2004-07-10 at 14:47, Pierre d'Herbemont wrote:
> >> Which PowerPC Implementations? According to The PowerPC Architecture
> >> Book, all the implementation 601,603,604,620 should include support 
> >> for
> >> the lwbrx and stwbrx instructions.
> >
> > I think all PPC include those instructions and gcc already uses them 
> > for
> > endian-swapping.
> > It seems to me that the feature which is discussed here is the presence
> > of IE bit in the machine state register.
> 
> you mean the LE bit? I first read the IE bit ;) Again according the 
> this same book the LE bit should exits in the previous implementation.

Yes, you're right, my confusion came from the ILE bit :-)

> > I don't think using this bit could improve performances a lot. Because
> > there is only one bit to control the CPU and because most of the
> > problems are already solved using brx load and stores.
> > You would need to patch the kernel to use this bit (if it exists) and
> > need kernel calls when you ever want to change the access mode, which
> > seems not so great.
> 
> ok, thanks... I wonder if it can help the darwine project in some ways: 
> having Wine compiled as LE/PowerPC, and running it in some kind of 
> virtualizer which would only swap sycall... Anyway I was speaking at 
> the begining of the thread of the *brx instructions which are not used 
> in the Mac OS X build.

Oh, well, so you're right, using those instructions will boost the
emulation.
I just check: PPC601, 602, 603e and 604 user manuals claim those
instructions are available. 
I doubt that some PPC don't implement those instr because they are very
useful for IO accesses: many devices and busses are designed for use
with Intel CPU/busses. So OSes need that feature !

> > What could be more benefic would be a feature which exists in the PPC
> > 405: one can define a memory area using big or little endian accesses.
> > But this seems to be very specific to the 405 and, once again, the win
> > would not be spectacular, imho.
> 
> In fact you can emulate this with mprotect-ing the region, and handle 
> the conversion at signal catch, but it shouldn't be really performant.

Yes, this could only be used if the memory controler can manage it by
itself. I'm sure emulating this feature would be less performant than
using *brx instructions.
The only drawback of *brx instructions is that only one addressing mode
is available, so it needs an extra register load to emulate an register
+ offset access.

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

  reply	other threads:[~2004-07-10 14:08 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-02 22:56 [Qemu-devel] [Patch] Mac OS X Port Pierre d'Herbemont
2004-07-03 13:34 ` Jean-Michel POURE
2004-07-04  7:21 ` [Qemu-devel] " Christian Walther
2004-07-04 10:08   ` Pierre d'Herbemont
2004-07-04 10:37     ` Leigh Dyer
2004-07-05  1:22 ` [Qemu-devel] " Leigh Dyer
2004-07-05 22:24   ` [Qemu-devel] Inquiry, speed comparison on OS X, QEMU vs Virtual PC Daniel J. Guinan
2004-07-06  0:23     ` Leigh Dyer
2004-07-06  0:29       ` dguinan
2004-07-09 19:37         ` Pierre d'Herbemont
2004-07-09 20:07           ` Natalia Portillo
2004-07-09 20:14             ` Chad Page
2004-07-10 12:47             ` Pierre d'Herbemont
2004-07-10 13:08               ` J. Mayer
2004-07-10 13:23                 ` Pierre d'Herbemont
2004-07-10 14:05                   ` J. Mayer [this message]
2004-08-12 10:56                 ` David Woodhouse
2004-08-12 12:51                   ` Pierre d'Herbemont
2004-07-10 13:14           ` Fabrice Bellard
2004-07-10 13:27             ` Pierre d'Herbemont

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1089468317.26832.23200.camel@rapid \
    --to=l_indien@magic.fr \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).