Re: [Xen-devel] [RFC 18/22] xen/arm: p2m: Introduce p2m_set_entry and __p2m_set_entry

2016-09-09 Thread Stefano Stabellini
On Wed, 7 Sep 2016, Julien Grall wrote: > Hi Stefano, > > On 06/09/2016 19:51, Stefano Stabellini wrote: > > On Tue, 6 Sep 2016, Julien Grall wrote: > > > > I was asking myself the same question > > > > > > It is not trivial. On ARMv7, there is no way to invalidate by IPA, so we > > > still > >

Re: [Xen-devel] [RFC 18/22] xen/arm: p2m: Introduce p2m_set_entry and __p2m_set_entry

2016-09-07 Thread Julien Grall
Hi Stefano, On 06/09/2016 19:51, Stefano Stabellini wrote: On Tue, 6 Sep 2016, Julien Grall wrote: I was asking myself the same question It is not trivial. On ARMv7, there is no way to invalidate by IPA, so we still need to do a full flush. In the case of ARMv8, it is possible to do a flush

Re: [Xen-devel] [RFC 18/22] xen/arm: p2m: Introduce p2m_set_entry and __p2m_set_entry

2016-09-06 Thread Stefano Stabellini
On Tue, 6 Sep 2016, Julien Grall wrote: > > > +if ( !p2m_valid(entry) || p2m_is_superpage(entry, level) ) > > > +return; > > > + > > > +if ( level == 3 ) > > > +{ > > > +p2m_put_l3_page(_mfn(entry.p2m.base), entry.p2m.type); > > > +return; > > > +} > > > + >

Re: [Xen-devel] [RFC 18/22] xen/arm: p2m: Introduce p2m_set_entry and __p2m_set_entry

2016-09-06 Thread Julien Grall
Hi Stefano, On 06/09/16 02:08, Stefano Stabellini wrote: On Thu, 28 Jul 2016, Julien Grall wrote: The ARM architecture mandates to use of a break-before-make sequence when changing translation entries if the page table is shared between multiple CPUs whenever a valid entry is replaced by

Re: [Xen-devel] [RFC 18/22] xen/arm: p2m: Introduce p2m_set_entry and __p2m_set_entry

2016-09-05 Thread Stefano Stabellini
On Thu, 28 Jul 2016, Julien Grall wrote: > The ARM architecture mandates to use of a break-before-make sequence > when changing translation entries if the page table is shared between > multiple CPUs whenever a valid entry is replaced by another valid entry > (see D4.7.1 in ARM DDI 0487A.j for

Re: [Xen-devel] [RFC 18/22] xen/arm: p2m: Introduce p2m_set_entry and __p2m_set_entry

2016-08-15 Thread Sergej Proskurin
Hi Julien, [...] > +static int p2m_set_entry(struct p2m_domain *p2m, > + gfn_t sgfn, > + unsigned long todo, > + mfn_t smfn, > + p2m_type_t t, > + p2m_access_t a) > +{ > +

Re: [Xen-devel] [RFC 18/22] xen/arm: p2m: Introduce p2m_set_entry and __p2m_set_entry

2016-07-30 Thread Tamas K Lengyel
> +static int p2m_set_entry(struct p2m_domain *p2m, > + gfn_t sgfn, > + unsigned long todo, > + mfn_t smfn, > + p2m_type_t t, > + p2m_access_t a) It is going to be necessary to

[Xen-devel] [RFC 18/22] xen/arm: p2m: Introduce p2m_set_entry and __p2m_set_entry

2016-07-28 Thread Julien Grall
The ARM architecture mandates to use of a break-before-make sequence when changing translation entries if the page table is shared between multiple CPUs whenever a valid entry is replaced by another valid entry (see D4.7.1 in ARM DDI 0487A.j for more details). The break-before-make sequence can