WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-research

[Xen-research] Re: [Xen-devel] Implementing split memory in Xen is annoy

To: Sina Bahram <sbahram@xxxxxxxxx>
Subject: [Xen-research] Re: [Xen-devel] Implementing split memory in Xen is annoyingly hard?
From: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Date: Fri, 12 Dec 2008 10:23:02 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, xen-research@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 12 Dec 2008 02:23:09 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <F6A8BB752F6C474389D6F79CF966CDFE@neutrino>
List-help: <mailto:xen-research-request@lists.xensource.com?subject=help>
List-id: Research Issues on Xen <xen-research.lists.xensource.com>
List-post: <mailto:xen-research@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-research>, <mailto:xen-research-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-research>, <mailto:xen-research-request@lists.xensource.com?subject=unsubscribe>
References: <F6A8BB752F6C474389D6F79CF966CDFE@neutrino>
Sender: xen-research-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.17 (2007-11-01)
At 01:47 -0500 on 12 Dec (1229046441), Sina Bahram wrote:
> #2: Xen absolutely does not, (can not?), cause a fault or other VM exit to
> be generated upon an execute or a read of a page.

Yes it can -- the thing you can't do is have a fault _only_ for reads
and not for executes as well.
 
> #3: Since I wish to implement split memory, (Harvard Architecture), I have
> to have the ability to intercept all of one of two different classes of
> operations. Either I have to intercept all reads and writes, or I have to
> intercept all executes.

Intercepting _all_ reads or _all_ executes in Xen would be so slow as to
be unuseable.  You'd be much better off starting with qemu (both in
difficulty of writing the code and in speed of the finished product).

The scheme I outlined in my other email allows you to only need a fault
when the use of a page changes -- i.e. on the first write or the first
execute.  Unfortunately it doesn't distinguish between reads and
executes, so unless Intel make a chip that supports execute-only EPT
mappings it won't be good enough to give you the Harvard-architecture
scheme you want.  (They might -- maybe someone from Intel can comment).

Cheers,

Tim.

-- 
Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Principal Software Engineer, Citrix Systems (R&D) Ltd.
[Company #02300071, SL9 0DZ, UK.]

_______________________________________________
Xen-research mailing list
Xen-research@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-research

<Prev in Thread] Current Thread [Next in Thread>