All of lore.kernel.org
 help / color / mirror / Atom feed
* Implementing split memory in Xen is annoyingly hard?
@ 2008-12-12  6:47 Sina Bahram
  2008-12-12  9:19 ` Keir Fraser
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Sina Bahram @ 2008-12-12  6:47 UTC (permalink / raw)
  To: xen-devel, xen-research

Hi all,

This might end up being one of my last posts on this topic, as I think I've
determined that what I'd like to do with Xen is quite annoyingly hard for
now. If anyone could please either verify or poke some holes in what I'm
about to say, I'd very much appreciate that.

Let's assume shadow page tables are in use.

#1: Xen can mirror the guest's page table in its shadow page table because
it marks all the guest pages as read only; thus, when a page fault is
generated as a result of a write, it can allow the write to happen, while
quickly updating its own copy at the same time.

#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.

#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.

#4: Since the best I can do is only intercept all writes, not all reads to
go along with that particular class of operation, I can't implement split
memory, (Harvard Architecture), in Xen.

One potential work around:

I could mark every single page of the guest's kernel as NX, and then when
that fault happens, I could then be privy to all executes from within Xen.

Is this an accurate understanding of the situation?

The following links are a subset of what I've been reading to arrive at this
conclusion:

1. https://wiki.cs.dartmouth.edu/nihal/doku.php/xen:memory
2. http://www.anandtech.com/weblog/showpost.aspx?i=467
3.
http://www.intel.com/technology/itj/2006/v10i3/3-xen/4-extending-with-intel-
vt.htm
4. http://forums.amd.com/devblog/blogpost.cfm?catid=317&threadid=104671
5. www.cc.gatech.edu/research/reports/GT-CS-08-09.pdf
6. www.usenix.org/publications/login/2007-02/pdfs/hand.pdf 

Take care,
Sina

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2008-12-12 15:42 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-12-12  6:47 Implementing split memory in Xen is annoyingly hard? Sina Bahram
2008-12-12  9:19 ` Keir Fraser
2008-12-12  9:50   ` Sina Bahram
2008-12-12  9:54     ` Keir Fraser
2008-12-12 14:49       ` Sina Bahram
2008-12-12 10:23 ` Tim Deegan
2008-12-12 10:40 ` Christopher Head
2008-12-12 15:01   ` Sina Bahram
2008-12-12 15:42   ` Sina Bahram

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.