From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [RFC PATCH v2 00/22] xen/arm: Add ITS support Date: Mon, 23 Mar 2015 16:18:52 +0000 Message-ID: <55103CEC.2090709@linaro.org> References: <1426775889-29442-1-git-send-email-vijay.kilari@gmail.com> <550C4994.9020007@linaro.org> <5510110D.2060204@linaro.org> <5510317F.6040709@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Vijay Kilari Cc: Ian Campbell , Stefano Stabellini , Prasun Kapoor , Vijaya Kumar K , Tim Deegan , "xen-devel@lists.xen.org" , Stefano Stabellini , manish.jaggi@caviumnetworks.com List-Id: xen-devel@lists.xenproject.org On 23/03/15 16:09, Vijay Kilari wrote: > On Mon, Mar 23, 2015 at 9:00 PM, Julien Grall wrote: >> On 23/03/15 15:18, Vijay Kilari wrote: >>>> The ITS still have to manage in someway the device. There is lots of >>>> information that doesn't need to be created at every mapd (such as the >>>> number of MSI). >>> >>> First assumption is VITS driver owns converting Virtual ITS commands >>> to Physical ITS commands. So based on this >>> >>> - arch_domain contains list of all the devices attached for the domain. >>> - On MAPD command, device is created, physical LPI's and virtual LPIs >>> are allocated >>> and added to domains list and further all other ITS commands except >>> MAPC, INVALL and SYNC >>> depend on device information to convert virtual ITS commands to >>> physical ITS commands. >> >> I didn't understand what you said. > > I mean, all the virtual ITS commands has to be converted to > physical ITS commands. The (most)information required to do this conversion > is based on device_id for most of the commands (except MAPC, SYNC & INVALL) > So vITS driver contains device management. > However, all the devices managed using linked list attached to a domain. > > Few API's are added in physical ITS driver to query > Physical Collection ID (pCID) to Virtual Collection ID (vCID) and > Virtual Target address(vTA) > to Physical Target Address(pTA) because pCID & pTA info is available > in physical ITS driver. > > Refer to : 4.9.22 Command Mapping for a Guest with a GICv3 ITS > of PRD03-GENC-010745 20.0 A reference to this section on this commit message would have been very useful... > Overall the functionality was split as follows; > > - Physical ITS driver manages Physical LPI allocation, Sending > Physical commands, > Physical Collection ID & Target addresses > - Virtual ITS driver manages Virtual LPI allocation, Device creation > for respective domain, > Conversion of virtual ITS commands to Physical ITS commands, Virtual > Collection ID's > Virtual Target address, GITS register emulation, LPI > pending/Property table emulation. > > It would be better if you go through the patch set and comment under > relevant code > and we can discuss. It's nearly impossible to review this series one patch by one patch. I have to look all the things together. That's why I bring the discussion here. Regards, -- Julien Grall