All of lore.kernel.org
 help / color / mirror / Atom feed
From: Diego Ongaro <diego.ongaro@citrix.com>
To: xen-devel@lists.xensource.com
Subject: [PATCH RFC 0/5] Grant table for console, xenstore pages
Date: Fri, 11 Jul 2008 20:12:30 +0100	[thread overview]
Message-ID: <4877B09E.5000909@citrix.com> (raw)

I'm working on moving xenstored into a dedicated, unprivileged domain.
This is the first set of patches I'm sending out towards that goal. I
understand there is currently a freeze, so I'm just looking for feedback
at this point.

Each domU shares one of its pages with the xenstore daemon from its
creation. The domain builder writes the mfn for this page in the domU's
start info page. Then it sends the xenstore daemon an "introduce"
command, giving it the new domU's domid, this mfn to map, and an unbound
port in the domU to bind.

However, if the xenstore daemon resides in an unprivileged domain, it is
not permitted to map an arbitrary mfn. Instead, it could use the
existing grant table mechanism. In fact, the first 8 grant table entries
for each domU are reserved for cases like this. (DomU's don't use the
first 8 entries.)

Because the console and the xenstore mechanisms are so similar, these
patches include analogous changes for console support as well.

The first patch claims one grant entry for the console and another for
the xenstore. It modifies the builder to fill in the grant table entries
for the console and the xenstore. At this stage, the grant entries just
give access to domain 0 (addressed in a later patch).

The next two patches modify the xenstore daemon and the console daemon,
respectively, to use xc_gnttab_map_grant_ref instead of
xc_map_foreign_range.

The final two patches implement a way to determine in which domains the
console and xenstore daemons reside. If each of the files
/var/run/{console,xenstore}.did contains an integer, this integer is
interpreted as the domain id for that daemon. The default or fallback is
domid=0, of course. In patch 4, libxc is modified to use this mechanism
for the grant table entries. In patch 5, xend is modified to use this
mechanism for the allocated unbound ports.

To get the discussion going, what should be done about xenstore's
/local/domain/#/device/{console,store}/ring-ref ? I don't think they're
necessary anymore, but I've made no effort to remove them.

Thanks,
Diego Ongaro

             reply	other threads:[~2008-07-11 19:12 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-11 19:12 Diego Ongaro [this message]
2008-07-11 19:14 ` [PATCH RFC 1/5] Grant table for console, xenstore pages Diego Ongaro
2008-07-11 19:15 ` [PATCH RFC 2/5] " Diego Ongaro
2008-07-11 19:16 ` [PATCH RFC 3/5] " Diego Ongaro
2008-07-11 19:17 ` [PATCH RFC 4/5] " Diego Ongaro
2008-07-11 19:17 ` [PATCH RFC 5/5] " Diego Ongaro
2008-07-12 18:34 ` [PATCH RFC 0/5] " Derek Murray
2008-07-12 18:42   ` Samuel Thibault
2008-07-14 14:37   ` Diego Ongaro
2008-07-14 14:55     ` Derek Murray
2008-07-14 15:42       ` Diego Ongaro
2008-07-14 16:50         ` [PATCH RFC 0/5] Grant table for console, xenstorepages Cihula, Joseph
2008-07-14 17:04           ` Diego Ongaro

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=4877B09E.5000909@citrix.com \
    --to=diego.ongaro@citrix.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.