From: Tim Olson <tim@io.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] qemu-system-* using mmap?
Date: Thu, 14 Dec 2006 08:50:25 -0600 [thread overview]
Message-ID: <799dfe3574a1e50e5a9a0da483b58db6@io.com> (raw)
In-Reply-To: <45802498.6020808@tidetamerboatlifts.com>
On Dec 13, 2006, at 10:04 AM, Joseph Miller wrote:
>
> Can someone elaborate on this a little? What is the difference
> between the SOFTMMU and the mmap()? Should I be using the
> --enable-system or the --disable-system for win32 guest on i386 debian
> host? Can someone give a little more insight on this technicality?
For full system emulation, qemu needs to support the emulated
processor's ability to perform virtual->physical address translation
for every memory reference (including data loads/stores and
non-pc-relative branches). Using the SOFTMMU method, this is done at
basic-block translation time by inlining a software TLB lookup routine
for each memory reference. This expands a simple target load
instruction into a sequence of ~20 host processor instructions (for x86
target, ppc host I see about 25 instructions for TLB lookup).
The other way to handle this would be to use the host's MMU to do the
translation directly, via an mmap() system call which sets up the
translation. Then the translated basic block would contain memory
references using the target system's virtual address values, and the
translation would occur in the host's hardware MMU during execution
(fast), rather than having to execute a software TLB lookup. However,
there are a number of restrictions to using mmap() translation (host
and target address spaces cannot overlap, etc.) It appears that this
feature has been removed from current versions of qemu, so the only way
to do full system emulation is via the SOFTMMU method.
-- tim
next prev parent reply other threads:[~2006-12-14 14:50 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-13 8:09 [Qemu-devel] About performance of qemu-system-arm PianoPan
2006-12-13 10:32 ` [Qemu-devel] " Ross Burton
2006-12-13 11:22 ` [Qemu-devel] " Màrius Montón
2006-12-13 14:17 ` PianoPan
2006-12-13 15:23 ` Màrius Montón
2006-12-13 13:26 ` Martin Guy
2006-12-13 14:40 ` [Qemu-devel] qemu-system-* using mmap? Tim Olson
2006-12-13 15:32 ` Paul Brook
2006-12-13 16:04 ` Joseph Miller
2006-12-14 14:50 ` Tim Olson [this message]
2006-12-14 17:01 ` [Qemu-devel] " Joseph Miller
2006-12-14 16:45 ` Paul Brook
2006-12-15 16:21 ` [Qemu-devel] Qemu speed vs vmplayer? Joseph Miller
2006-12-15 16:13 ` Paul Brook
2006-12-15 22:20 ` Joseph Miller
2006-12-15 21:33 ` Lonnie Mendez
2006-12-15 21:38 ` Paul Brook
2006-12-15 21:48 ` Christian MICHON
2006-12-15 21:57 ` Lonnie Mendez
2006-12-15 22:18 ` Paul Brook
2006-12-15 22:34 ` Christian MICHON
2006-12-15 22:47 ` Paul Brook
[not found] ` <Pine.LNX.4.64.0612160028590.758@home.oyster.ru>
[not found] ` <25199.71.51.225.120.1166272989.squirrel@secure.emarketingnc.com>
[not found] ` <Pine.LNX.4.64.0612161732560.630@home.oyster.ru>
2006-12-17 4:37 ` it
2006-12-17 5:18 ` Lonnie Mendez
2006-12-19 16:00 ` [Qemu-devel] Qemu speed w/ USB tablet emulation Joseph Miller
2006-12-16 5:27 ` [Qemu-devel] Qemu speed vs vmplayer? Jamie Lokier
2006-12-15 16:32 ` [Qemu-devel] using mmap? Mark Williamson
2006-12-15 21:22 ` [Qemu-devel] " Anthony Liguori
2006-12-13 15:10 ` [Qemu-devel] About performance of qemu-system-arm Martin Guy
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=799dfe3574a1e50e5a9a0da483b58db6@io.com \
--to=tim@io.com \
--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).