From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrii Tseglytskyi Subject: Re: [PATCH v02 1/7] arm: introduce remoteprocessor iommu module Date: Tue, 22 Jul 2014 19:24:33 +0300 Message-ID: References: <1403780826-22123-1-git-send-email-andrii.tseglytskyi@globallogic.com> <1403780826-22123-2-git-send-email-andrii.tseglytskyi@globallogic.com> <1405524545.1087.27.camel@kazak.uk.xensource.com> <1405524867.1087.31.camel@kazak.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1405524867.1087.31.camel@kazak.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org Hi Ian On Wed, Jul 16, 2014 at 6:34 PM, Ian Campbell wrote: > On Wed, 2014-07-16 at 16:29 +0100, Ian Campbell wrote: >> WRT the shadowing, I don't see the bit which causes the guest pages >> which it is using as PT page for the remoteproc to get marked R/O to >> force a trap. Perhaps that comes later. >> >> Do these remoteproc page tables get frequently updated at run time or >> are they mostly just build once and forget? > > Reading the next patch I'm concluding that the translation happens each > time you write to the MMU's base pointer. IOW every update requires you > to rewrite that pointer, is that right? > Not exactly. Continuing an explanation from prev mail - this just an entry point for translation. IPU and GPU work in a bit different way. IPU is quite straight forward Boot -> Allocate all memory -> Update register -> Xen performs translation GPU: Step one: Reset -> Allocate several pages of memory -> Update register -> Xen performas translation Step two: Allocate several new pagetables -> Flush caches -> call do_translate_pagetable hypercall Here I don't have any registers update. GPU kernel driver uses interprocess messaging mechanism to pass physical pointers of newly allocated pagetables directly to GPU device. So, I use hypercall which translate pagetable during device creation. Regards, Andrii > Ian. > -- Andrii Tseglytskyi | Embedded Dev GlobalLogic www.globallogic.com