All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Sina Bahram" <sbahram@nc.rr.com>
To: xen-devel@lists.xensource.com
Subject: RE: Implementing split memory in Xen is annoyingly hard?
Date: Fri, 12 Dec 2008 09:49:11 -0500	[thread overview]
Message-ID: <C947B23EFF674B30AF8877D71DED40D8@neutrino> (raw)
In-Reply-To: <C567E55C.2027C%keir.fraser@eu.citrix.com>

But there's no straight forward way of making the page not exist each time,
is there?

Take care,
Sina

-----Original Message-----
From: Keir Fraser [mailto:keir.fraser@eu.citrix.com] 
Sent: Friday, December 12, 2008 4:55 AM
To: Sina Bahram; xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Implementing split memory in Xen is annoyingly
hard?

Well, you can trap all everything if you make the page not present.

Beyond that you can selectively make a page writable or executable, but in
these cases it will have to be readable too.

 -- Keir

On 12/12/2008 09:50, "Sina Bahram" <sbahram@nc.rr.com> wrote:

> I'm not trying to make the page executable  but not readable, as long as I
> can trap all reads, that's all.
> 
> I'll be implementing a split TLB which will handle the fact that all
> executes get shunted to a "split page".
> 
> Another way of saying that is that if someone looks up a virtual address,
it
> gets translated to one physical address if it's for read/writes and to
> another one for executes. Sure one can execute the page that is read/write
> and someone could read/write to the page that is execute, but it will
never
> happen because I'd never translate it that way in my code.
> 
> Btw, this completely eliminates anything like lisp, javascript, or
anything
> else from running, as they run code they have written all the time, but
> that's why I only plan on doing it for kernel pages which don't write
things
> that they then execute.
> 
> Hope that's more clear, and is this possible, do you think, or is my
summary
> in the original email accurate in that it can't be done easily in xen?
> 
> Take care,
> Sina
> 
> -----Original Message-----
> From: Keir Fraser [mailto:keir.fraser@eu.citrix.com]
> Sent: Friday, December 12, 2008 4:20 AM
> To: Sina Bahram; xen-devel@lists.xensource.com;
> xen-research@lists.xensource.com
> Subject: Re: [Xen-devel] Implementing split memory in Xen is annoyingly
> hard?
> 
> On 12/12/2008 06:47, "Sina Bahram" <sbahram@nc.rr.com> 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.
> 
> It's not possible to make a page executable but not readable, so indeed I
> think you're stumped there, unless you can work out a hackish way to
> desynchronise the iTLB and the dTLB (an operation not supported
> architecturally by x86 of course).
> 
>  -- Keir
> 
> 

  reply	other threads:[~2008-12-12 14:49 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

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=C947B23EFF674B30AF8877D71DED40D8@neutrino \
    --to=sbahram@nc.rr.com \
    --cc=xen-devel@lists.xensource.com \
    /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 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.