[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] qemu-system-* using mmap?
From: |
Tim Olson |
Subject: |
Re: [Qemu-devel] qemu-system-* using mmap? |
Date: |
Thu, 14 Dec 2006 08:50:25 -0600 |
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
- [Qemu-devel] About performance of qemu-system-arm, PianoPan, 2006/12/13
- Re: [Qemu-devel] About performance of qemu-system-arm, Màrius Montón, 2006/12/13
- Re: [Qemu-devel] About performance of qemu-system-arm, Martin Guy, 2006/12/13
- [Qemu-devel] qemu-system-* using mmap?, Tim Olson, 2006/12/13
- Re: [Qemu-devel] qemu-system-* using mmap?, Paul Brook, 2006/12/13
- Re: [Qemu-devel] qemu-system-* using mmap?, Joseph Miller, 2006/12/13
- Re: [Qemu-devel] qemu-system-* using mmap?,
Tim Olson <=
- Re: [Qemu-devel] using mmap?, Joseph Miller, 2006/12/14
- Re: [Qemu-devel] using mmap?, Paul Brook, 2006/12/14
- Re: [Qemu-devel] Qemu speed vs vmplayer?, Joseph Miller, 2006/12/15
- Re: [Qemu-devel] Qemu speed vs vmplayer?, Paul Brook, 2006/12/15
- Re: [Qemu-devel] Qemu speed vs vmplayer?, Joseph Miller, 2006/12/15
- Re: [Qemu-devel] Qemu speed vs vmplayer?, Lonnie Mendez, 2006/12/15
- Re: [Qemu-devel] Qemu speed vs vmplayer?, Paul Brook, 2006/12/15
- Re: [Qemu-devel] Qemu speed vs vmplayer?, Christian MICHON, 2006/12/15
- Re: [Qemu-devel] Qemu speed vs vmplayer?, Lonnie Mendez, 2006/12/15
- Re: [Qemu-devel] Qemu speed vs vmplayer?, Paul Brook, 2006/12/15