|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] [PATCH 0/6] Bypass tcg memory functions -v1.0-2009 |
Date: | Wed, 21 Jan 2009 13:26:01 -0600 |
User-agent: | Thunderbird 2.0.0.19 (X11/20090105) |
Paul Brook wrote:
On Tuesday 20 January 2009, Glauber Costa wrote:This series is not very different from the last one that did it. Just bringing it back from my vacations. Idea is to replace tcg memory functions with kvm's, selectable at runtime. Right now we use a conditional selection. In the future, we might use function pointers to allow for easy coupling of any hypervisor.I dislike that you're introducing two different ways or doing the same thing. Duplicating all the memory region tracking code seems like a bad way to solve this problem.
To me, this patch set is really about defining the memory API for QEMU's CPU emulation/virtualization core. It can be made a lot prettier by introducing function pointers and such but doing the separation and having two implementations is the first step in that direction.
I believe this is the right level of abstraction. Trying to make shared code with a lower level interface is much more complicated because TCG has some need for deep hooks in the memory code. If TCG ever wants to use memory slots instead of a tree, I'd rather see common code abstracted into a set of libs than making the slot code the main code with hooks for TCG.
A big part of the reason for these patches is to make it possible to build QEMU without TCG in an architecturally clean way.
Regards, Anthony Liguori
Paul
[Prev in Thread] | Current Thread | [Next in Thread] |