[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC 15/29] xen/arm: Don't hardcode VGIC informations



On Mon, 2013-04-29 at 17:42 +0100, Julien Grall wrote:
> On 04/29/2013 04:41 PM, Ian Campbell wrote:
> 
> > On Mon, 2013-04-29 at 00:01 +0100, Julien Grall wrote:
> >> @@ -754,11 +759,21 @@ void gic_interrupt(struct cpu_user_regs *regs, int 
> >> is_fiq)
> >>  
> >>  int gicv_setup(struct domain *d)
> >>  {
> >> +    /* TODO: Retrieve distributor and CPU guest base address from the
> >> +     * guest DTS
> >> +     * For the moment we use dom0 DTS
> > 
> > FWIW I think what we will need here eventually is domctl's so the
> > toolstack can set this stuff explicitly to match the DT it generates,
> > not to pass the guest DTB to the hypervisor and parse it or anything
> > like that (maybe that's not what you were suggesting).
> 
> I don't have a particular plan for parsing/generate the guest DTB.
> We can:
>   1) Replace the GIC base address in the guest DTB
>   2) Use the GIC base address found in the DTB
> 
> I would prefer the second solution, and use the first when the node
> doesn't exist.

Use the second -- yes. Use the first when the node doesn't exist -- no,
the tools should ensure it always exists.

> I believe the guest DTB is currently appended to the kernel. So do we
> really need to create a new hypercall for this purpose?
> We can add some logic in the toolstack to take the kernel and the device
> tree in arguments and concatenate it.

We cannot rely on CONFIG_ARM_APPEND_DTB long term, eventually the
toolstack needs to generate the DTB corresponding to the guest
configuration and supply it to the kernel through the appropriate
register.

In any case regardless of whether the guest DTB is appended or in a
register we do not want the hypervisor to have to parse the guest DTB.

> >>  /* Number of ranks of interrupt registers for a domain */
> >> @@ -79,7 +77,16 @@ int domain_vgic_init(struct domain *d)
> >>      int i;
> >>  
> >>      d->arch.vgic.ctlr = 0;
> >> -    d->arch.vgic.nr_lines = 32;
> >> +
> >> +    /**
> > 
> > Javadoc? ;-)
> 
> 
> Right. Bad habit :). I will replace by /*.
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.