qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paul Brook <paul@codesourcery.com>
To: qemu-devel@nongnu.org
Cc: Axel Zeuner <axel.zeuner@gmx.de>
Subject: Re: [Qemu-devel] [RFC/experimental patch] qemu (x86_64 on x86_64 -no-kqemu) compiles with gcc4 and works
Date: Mon, 26 Mar 2007 23:53:23 +0100	[thread overview]
Message-ID: <200703262353.24625.paul@codesourcery.com> (raw)
In-Reply-To: <200703260749.09384.axel.zeuner@gmx.de>

> > I moved to helper2.c because AFAICT helper.c is compiled with the same
> > sort of restrictions as op.c which leads to the compile failure.
>
> Yes, helper.c is compiled with the global register variables and the code
> is called directly from the op_xxx functions, but one needs the global
> register variables to access global data, these contain the required
> environment for the emulation. AFAIK helper2.c is used by the CODE_COPY
> branch on i386 with even stronger restrictions, but I may be wrong here.

helper.c is compiled with the same setting as op.c, so has direct access to 
the dyngen state ("T0", "env" etc). helper2.c is regular code. Either may be 
used from op.c, the difference is whether all arguments are explicit. Also, 
if a helper throws an exception it must be in helper.c to avoid clobbering 
CPU state before calling raise_exception.

Note that some targets use a different naming scheme. They use helper.c for 
regular code and op_helper.c for op.c-like code. IMHO this is a much better 
naming scheme.

Paul

  reply	other threads:[~2007-03-26 23:02 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-24 17:50 [Qemu-devel] [RFC/experimental patch] qemu (x86_64 on x86_64 -no-kqemu) compiles with gcc4 and works Axel Zeuner
2007-03-24 20:15 ` Anthony Liguori
2007-03-25 10:15   ` Axel Zeuner
2007-03-25 23:46     ` Anthony Liguori
2007-03-26  5:49       ` Axel Zeuner
2007-03-26 22:53         ` Paul Brook [this message]
2007-03-27  5:48           ` Axel Zeuner
2007-03-25 12:12   ` Axel Zeuner
2007-03-25 23:44     ` Anthony Liguori
2007-03-26  6:16       ` Axel Zeuner
2007-03-29  2:07         ` Anthony Liguori
2007-03-29  6:03           ` Axel Zeuner
2007-03-29 15:51             ` Anthony Liguori
2007-04-20 16:57   ` qemu + gcc4 (Was: [Qemu-devel] [RFC/experimental patch] qemu (x86_64 on x86_64 -no-kqemu) compiles with gcc4 and works) Gwenole Beauchesne
2007-03-25 13:40 ` [Qemu-devel] [RFC/experimental patch] qemu (x86_64 on x86_64 -no-kqemu) compiles with gcc4 and works Avi Kivity
2007-03-26 17:14   ` Axel Zeuner
2007-04-06 21:04     ` Rob Landley

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=200703262353.24625.paul@codesourcery.com \
    --to=paul@codesourcery.com \
    --cc=axel.zeuner@gmx.de \
    --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).