* [Qemu-devel] [PATCH, RFC] Update qemu-tech.texi, needs verification
@ 2008-10-05 8:44 Blue Swirl
2008-10-05 12:26 ` Edgar E. Iglesias
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Blue Swirl @ 2008-10-05 8:44 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 390 bytes --]
Hi,
Currently qemu-tech.texi is no longer in synch with QEMU development.
There are obsoleted references to code copying and dyngen versions,
TCG has changed a lot regarding code generation and target/host status
is no longer accurate.
In this patch I've tried to update the document based on my
understanding of how stuff works and what is the status of various
targets. Please comment.
[-- Attachment #2: update_qemu_tech.diff --]
[-- Type: plain/text, Size: 15174 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH, RFC] Update qemu-tech.texi, needs verification
2008-10-05 8:44 [Qemu-devel] [PATCH, RFC] Update qemu-tech.texi, needs verification Blue Swirl
@ 2008-10-05 12:26 ` Edgar E. Iglesias
2008-10-05 12:55 ` Thiemo Seufer
2008-10-05 17:28 ` malc
` (2 subsequent siblings)
3 siblings, 1 reply; 10+ messages in thread
From: Edgar E. Iglesias @ 2008-10-05 12:26 UTC (permalink / raw)
To: Blue Swirl; +Cc: qemu-devel
On Sun, Oct 05, 2008 at 11:44:47AM +0300, Blue Swirl wrote:
> Hi,
>
> Currently qemu-tech.texi is no longer in synch with QEMU development.
> There are obsoleted references to code copying and dyngen versions,
> TCG has changed a lot regarding code generation and target/host status
> is no longer accurate.
>
> In this patch I've tried to update the document based on my
> understanding of how stuff works and what is the status of various
> targets. Please comment.
Hello Blue,
Great that somebody updates the docs!
I've got a comment:
@node Condition code optimisations
@section Condition code optimisations
@@ -343,15 +363,20 @@
the condition codes are not needed by the next instructions, no
condition codes are computed at all.
+This optimization is not yet implemented on other targets.
+
At least CRIS does something similar, I guess it's not as nice as the one for x86 but it's there :)
Thanks
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH, RFC] Update qemu-tech.texi, needs verification
2008-10-05 12:26 ` Edgar E. Iglesias
@ 2008-10-05 12:55 ` Thiemo Seufer
0 siblings, 0 replies; 10+ messages in thread
From: Thiemo Seufer @ 2008-10-05 12:55 UTC (permalink / raw)
To: Edgar E. Iglesias; +Cc: Blue Swirl, qemu-devel
Edgar E. Iglesias wrote:
> On Sun, Oct 05, 2008 at 11:44:47AM +0300, Blue Swirl wrote:
> > Hi,
> >
> > Currently qemu-tech.texi is no longer in synch with QEMU development.
> > There are obsoleted references to code copying and dyngen versions,
> > TCG has changed a lot regarding code generation and target/host status
> > is no longer accurate.
> >
> > In this patch I've tried to update the document based on my
> > understanding of how stuff works and what is the status of various
> > targets. Please comment.
>
> Hello Blue,
>
> Great that somebody updates the docs!
> I've got a comment:
>
> @node Condition code optimisations
> @section Condition code optimisations
> @@ -343,15 +363,20 @@
> the condition codes are not needed by the next instructions, no
> condition codes are computed at all.
>
> +This optimization is not yet implemented on other targets.
> +
>
> At least CRIS does something similar, I guess it's not as nice as the one for x86 but it's there :)
Also, it isn't implementable on MIPS, since MIPS has no condition
flags...
Thiemo
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH, RFC] Update qemu-tech.texi, needs verification
2008-10-05 8:44 [Qemu-devel] [PATCH, RFC] Update qemu-tech.texi, needs verification Blue Swirl
2008-10-05 12:26 ` Edgar E. Iglesias
@ 2008-10-05 17:28 ` malc
2008-10-06 13:26 ` Paul Brook
2008-10-10 6:56 ` Kirill A. Shutemov
3 siblings, 0 replies; 10+ messages in thread
From: malc @ 2008-10-05 17:28 UTC (permalink / raw)
To: qemu-devel
On Sun, 5 Oct 2008, Blue Swirl wrote:
> Hi,
>
> Currently qemu-tech.texi is no longer in synch with QEMU development.
> There are obsoleted references to code copying and dyngen versions,
> TCG has changed a lot regarding code generation and target/host status
> is no longer accurate.
>
> In this patch I've tried to update the document based on my
> understanding of how stuff works and what is the status of various
> targets. Please comment.
I'm not sure what TCG "beging tested on" PowerPC32/64 really means
or when the testing will be completed. As far as i know TCG PPC stuff
is on par in every respect to that of x86[_64].
--
mailto:av1474@comtv.ru
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH, RFC] Update qemu-tech.texi, needs verification
2008-10-05 8:44 [Qemu-devel] [PATCH, RFC] Update qemu-tech.texi, needs verification Blue Swirl
2008-10-05 12:26 ` Edgar E. Iglesias
2008-10-05 17:28 ` malc
@ 2008-10-06 13:26 ` Paul Brook
2008-10-06 17:53 ` Blue Swirl
2008-10-10 6:56 ` Kirill A. Shutemov
3 siblings, 1 reply; 10+ messages in thread
From: Paul Brook @ 2008-10-06 13:26 UTC (permalink / raw)
To: qemu-devel; +Cc: Blue Swirl
> -@item QEMU can either use a full software MMU for maximum portability or
> use the host system call mmap() to simulate the target MMU. +@item
> +QEMU can either use a full software MMU for maximum portability or use
> +an in-kernel accelerator (kqemu) to simulate the target MMU.
Referring to kqemu as a MMU simulator is at best very misleading. The item you
removed was referring to qemu-fast, which (in principle at least) still
worked for cross emulation.
kqemu and kvm execute [some of] the guest code natively, while continuing to
emulate the rest of the machine.
> Various
> +hardware devices can be emulated and in some cases, host devices
> +(e.g. serial and parallel ports, USB, drives) can be used
> +transparently by the guest Operating System for maximum performance.
This should be a seaprate item. As written it's unclear whether this is a
kqemu feature or available all the time.
Host device passthrough is generally used for talking to external physical
peripherals (e.g. a webcam, modem or tape drive), and not for performance
reasons.
> the condition codes are not needed by the next instructions, no
> condition codes are computed at all.
>
> +This optimization is not yet implemented on other targets.
I don't think this back propagation pass exists at all now. It was made
redundant by the TCG liveness pass.
The lazy condition code evaluation is used on x86, m68k and cris. ARM uses a
simplified variant for the N and Z flags.
You might consider rewording the initial paragraph to say that lazy flag
evaluation is important for CPUs where every instruction sets the condition
codes. It tends to be less important on conventional RISC systems where
condition codes are only updated when explicitly requested.
Paul
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH, RFC] Update qemu-tech.texi, needs verification
2008-10-06 13:26 ` Paul Brook
@ 2008-10-06 17:53 ` Blue Swirl
2008-10-06 18:02 ` Paul Brook
2008-10-06 18:19 ` Laurent Desnogues
0 siblings, 2 replies; 10+ messages in thread
From: Blue Swirl @ 2008-10-06 17:53 UTC (permalink / raw)
To: Paul Brook, qemu-devel
[-- Attachment #1: Type: text/plain, Size: 2047 bytes --]
On 10/6/08, Paul Brook <paul@codesourcery.com> wrote:
> > -@item QEMU can either use a full software MMU for maximum portability or
> > use the host system call mmap() to simulate the target MMU. +@item
> > +QEMU can either use a full software MMU for maximum portability or use
> > +an in-kernel accelerator (kqemu) to simulate the target MMU.
>
> Referring to kqemu as a MMU simulator is at best very misleading. The item you
> removed was referring to qemu-fast, which (in principle at least) still
> worked for cross emulation.
>
> kqemu and kvm execute [some of] the guest code natively, while continuing to
> emulate the rest of the machine.
>
> > Various
> > +hardware devices can be emulated and in some cases, host devices
> > +(e.g. serial and parallel ports, USB, drives) can be used
> > +transparently by the guest Operating System for maximum performance.
>
> This should be a seaprate item. As written it's unclear whether this is a
> kqemu feature or available all the time.
>
> Host device passthrough is generally used for talking to external physical
> peripherals (e.g. a webcam, modem or tape drive), and not for performance
> reasons.
>
>
> > the condition codes are not needed by the next instructions, no
> > condition codes are computed at all.
> >
> > +This optimization is not yet implemented on other targets.
>
>
> I don't think this back propagation pass exists at all now. It was made
> redundant by the TCG liveness pass.
>
> The lazy condition code evaluation is used on x86, m68k and cris. ARM uses a
> simplified variant for the N and Z flags.
>
> You might consider rewording the initial paragraph to say that lazy flag
> evaluation is important for CPUs where every instruction sets the condition
> codes. It tends to be less important on conventional RISC systems where
> condition codes are only updated when explicitly requested.
Okay, I updated the patch based on these comments.
I also added some words about SMP and condition codes and a new
chapter for device emulation.
[-- Attachment #2: update_qemu_tech.diff --]
[-- Type: plain/text, Size: 18848 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH, RFC] Update qemu-tech.texi, needs verification
2008-10-06 17:53 ` Blue Swirl
@ 2008-10-06 18:02 ` Paul Brook
2008-10-06 18:19 ` Laurent Desnogues
1 sibling, 0 replies; 10+ messages in thread
From: Paul Brook @ 2008-10-06 18:02 UTC (permalink / raw)
To: qemu-devel; +Cc: Blue Swirl
> Okay, I updated the patch based on these comments.
>
> I also added some words about SMP and condition codes and a new
> chapter for device emulation.
Looks ok to me.
Paul
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH, RFC] Update qemu-tech.texi, needs verification
2008-10-06 17:53 ` Blue Swirl
2008-10-06 18:02 ` Paul Brook
@ 2008-10-06 18:19 ` Laurent Desnogues
2008-10-06 19:09 ` andrzej zaborowski
1 sibling, 1 reply; 10+ messages in thread
From: Laurent Desnogues @ 2008-10-06 18:19 UTC (permalink / raw)
To: qemu-devel
A small typo: qemu switched to tcg after the release of 0.9.1 and
not 0.9.0, didn't it?
I also find this wording not satisfying:
+TCG operations are then
+implemented in the host CPU back end, also known as TCG target
What about something like this:
TCG operations are then translated into host instructions by the CPU
back end, also known as TCG target
That's not the whole since we have helpers, but that looks closer to
the reality, at least for me :)
Laurent
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH, RFC] Update qemu-tech.texi, needs verification
2008-10-06 18:19 ` Laurent Desnogues
@ 2008-10-06 19:09 ` andrzej zaborowski
0 siblings, 0 replies; 10+ messages in thread
From: andrzej zaborowski @ 2008-10-06 19:09 UTC (permalink / raw)
To: qemu-devel
I believe this piece is still valid:
-The most portable code uses an indirect jump. An indirect jump makes
-it easier to make the jump target modification atomic. On some host
-architectures (such as x86 or PowerPC), the @code{JUMP} opcode is
-directly patched so that the block chaining has no overhead.
-
BTW I wouldn't avoid the term TCG ops, it's sometimes clearer than operations.
Cheers
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH, RFC] Update qemu-tech.texi, needs verification
2008-10-05 8:44 [Qemu-devel] [PATCH, RFC] Update qemu-tech.texi, needs verification Blue Swirl
` (2 preceding siblings ...)
2008-10-06 13:26 ` Paul Brook
@ 2008-10-10 6:56 ` Kirill A. Shutemov
3 siblings, 0 replies; 10+ messages in thread
From: Kirill A. Shutemov @ 2008-10-10 6:56 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 828 bytes --]
On Sun, Oct 05, 2008 at 11:44:47AM +0300, Blue Swirl wrote:
> Hi,
>
> Currently qemu-tech.texi is no longer in synch with QEMU development.
> There are obsoleted references to code copying and dyngen versions,
> TCG has changed a lot regarding code generation and target/host status
> is no longer accurate.
>
> In this patch I've tried to update the document based on my
> understanding of how stuff works and what is the status of various
> targets. Please comment.
@@ -124,9 +147,7 @@
@itemize
-@item No SSE/MMX support (yet).
-
-@item No x86-64 support.
+@item Limited x86-64 support.
@item IPC syscalls are missing.
I have posted update for IPC syscalls recently. Can anybody review it.
--
Regards, Kirill A. Shutemov
+ Belarus, Minsk
+ ALT Linux Team, http://www.altlinux.com/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2008-10-10 6:55 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-05 8:44 [Qemu-devel] [PATCH, RFC] Update qemu-tech.texi, needs verification Blue Swirl
2008-10-05 12:26 ` Edgar E. Iglesias
2008-10-05 12:55 ` Thiemo Seufer
2008-10-05 17:28 ` malc
2008-10-06 13:26 ` Paul Brook
2008-10-06 17:53 ` Blue Swirl
2008-10-06 18:02 ` Paul Brook
2008-10-06 18:19 ` Laurent Desnogues
2008-10-06 19:09 ` andrzej zaborowski
2008-10-10 6:56 ` Kirill A. Shutemov
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).