From: Julien Grall <julien.grall@arm.com>
To: Benjamin Sanda <ben.sanda@dornerworks.com>,
xen-devel@lists.xenproject.org
Cc: Keir Fraser <keir@xen.org>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
Ian Jackson <ian.jackson@eu.citrix.com>,
Dario Faggioli <dario.faggioli@citrix.com>,
Tim Deegan <tim@xen.org>,
George Dunlap <george.dunlap@citrix.com>,
Jan Beulich <jbeulich@suse.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Paul Sujkov <psujkov@gmail.com>
Subject: Re: [PATCH 3/6] xentrace: P2M lookup suport for ARM platform
Date: Thu, 17 Mar 2016 16:21:27 +0000 [thread overview]
Message-ID: <56EAD987.6080204@arm.com> (raw)
In-Reply-To: <1458161499-15313-4-git-send-email-ben.sanda@dornerworks.com>
Hello Benjamin,
Thank you for the patch.
On 16/03/16 20:51, Benjamin Sanda wrote:
> From: bensanda <ben.sanda@dornerworks.com>
>
> Modified p2m_lookup() to provide support for xentrace on the ARM platform. Added check for DOMID_XEN which skips PFN to MFN translation. xentrace sends a MFN dirrectly when requesting DOMID_XEN, so no translation is needed. Also sets page memory type, p2m_type_t, to p2m_ram_rw to provide correct access.
A line in the commit message should not be longer than 72 characters.
>
> Signed-off-by: Benjamin Sanda <ben.sanda@dornerworks.com>
> ---
> xen/arch/arm/p2m.c | 19 +++++++++++++++----
> 1 file changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
> index a2a9c4b..2e7da43 100644
> --- a/xen/arch/arm/p2m.c
> +++ b/xen/arch/arm/p2m.c
> @@ -228,10 +228,21 @@ paddr_t p2m_lookup(struct domain *d, paddr_t paddr, p2m_type_t *t)
> paddr_t ret;
> struct p2m_domain *p2m = &d->arch.p2m;
>
> - spin_lock(&p2m->lock);
> - ret = __p2m_lookup(d, paddr, t);
> - spin_unlock(&p2m->lock);
> -
> + /* Check for DOMID_XEN: If we are called with DOMID_XEN (from xentrace)
Multi-lines comment in Xen should be:
/*
* Foo
* Bar
*/
You can find the coding style in CODING_STYLE.
> + then paddr is already a MFN and no translation is needed. We only set the
> + page type as p2m_raw_rw and return the MFN directly */
DOMID_XEN is not specific to xentrace. It's a mechanism to share xenheap
page to any guest.
xentrace is using directly an MFN because DOMID_XEN is considered as a
PV guest on x86 (i.e MFN == GFN). And we don't have a such concept on ARM.
> + if(DOMID_XEN != d->domain_id)
if ( d->domain_id != DOMID_XEN )
> + {
> + spin_lock(&p2m->lock);
> + ret = __p2m_lookup(d, paddr, t);
> + spin_unlock(&p2m->lock);
> + }
> + else
> + {
> + *t = p2m_ram_rw;
A DOMID_XEN page could be read only too. For instance, the meta-data of
the trace buffer is read-only (see t_info), we don't want a domain to be
able to overwrite them.
However, all the foreign page are mapped read-write. You will need to
rework the code to map a foreign domain (see XENMAPSPACE_gmfn_foreign)
to allow read-only foreign page (maybe by adding a new p2m_type_t?).
> + ret = paddr;
> + }
> +
> return ret;
> }
>
>
Regards,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-03-17 16:21 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-16 20:51 [PATCH 0/6] xentrace/xenalyze support on ARM Benjamin Sanda
2016-03-16 20:51 ` [PATCH 1/6] Flask: Support for ARM xentrace Benjamin Sanda
2016-03-17 14:56 ` Julien Grall
2016-03-17 15:03 ` Julien Grall
2016-03-25 19:27 ` Konrad Rzeszutek Wilk
2016-03-28 15:52 ` Ben Sanda
2016-03-16 20:51 ` [PATCH 2/6] xenalyze: Support for ARM platform Benjamin Sanda
2016-03-16 20:59 ` Andrew Cooper
2016-03-17 10:39 ` George Dunlap
2016-03-16 20:51 ` [PATCH 3/6] xentrace: P2M lookup suport " Benjamin Sanda
2016-03-17 16:21 ` Julien Grall [this message]
2016-03-28 18:55 ` Ben Sanda
2016-03-30 18:38 ` Julien Grall
2016-03-16 20:51 ` [PATCH 4/6] xentrace: ARM platform DOMID_XEN mapping support Benjamin Sanda
2016-03-17 15:53 ` Julien Grall
2016-03-16 20:51 ` [PATCH 5/6] xentrace: Trace buffer support for ARM platform Benjamin Sanda
2016-03-16 20:51 ` [PATCH 6/6] xentrace: ARM platform timestamp support Benjamin Sanda
2016-03-25 19:31 ` Konrad Rzeszutek Wilk
2016-03-31 16:38 ` Stefano Stabellini
2016-03-31 16:44 ` Ben Sanda
2016-04-01 13:05 ` Stefano Stabellini
2016-03-17 15:00 ` [PATCH 0/6] xentrace/xenalyze support on ARM Julien Grall
2016-03-17 16:50 ` Ben Sanda
2016-03-17 17:01 ` Julien Grall
2016-03-17 17:04 ` Ben Sanda
2016-03-18 17:12 ` Wei Liu
2016-03-17 17:23 ` George Dunlap
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=56EAD987.6080204@arm.com \
--to=julien.grall@arm.com \
--cc=andrew.cooper3@citrix.com \
--cc=ben.sanda@dornerworks.com \
--cc=dario.faggioli@citrix.com \
--cc=george.dunlap@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jbeulich@suse.com \
--cc=keir@xen.org \
--cc=psujkov@gmail.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xenproject.org \
/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.