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

Re: [Xen-devel] [XenARM] XEN tools for ARM with Virtualization Extensions



On Thu, 2013-06-27 at 20:19 +0000, Eric Trudeau wrote:
> > -----Original Message-----
> > From: Julien Grall [mailto:julien.grall@xxxxxxxxxx]
> > Sent: Thursday, June 27, 2013 3:34 PM
> > To: Eric Trudeau
> > Cc: Ian Campbell; xen-devel
> > Subject: Re: [Xen-devel] [XenARM] XEN tools for ARM with Virtualization
> > Extensions
> > 
> > On 06/27/2013 08:01 PM, Eric Trudeau wrote:
> > 
> > >> -----Original Message-----
> > >> From: Ian Campbell [mailto:Ian.Campbell@xxxxxxxxxx]
> > >> Sent: Thursday, June 27, 2013 12:34 PM
> > >> To: Eric Trudeau
> > >> Cc: xen-devel
> > >> Subject: Re: [XenARM] XEN tools for ARM with Virtualization Extensions
> > >>
> > >> On Thu, 2013-06-27 at 16:21 +0000, Eric Trudeau wrote:
> > >>>> -----Original Message-----
> > >>>> From: Ian Campbell [mailto:Ian.Campbell@xxxxxxxxxx]
> > >>>> Sent: Wednesday, June 26, 2013 12:45 PM
> > >>>> To: Eric Trudeau
> > >>>> Cc: xen-devel
> > >>>> Subject: Re: [XenARM] XEN tools for ARM with Virtualization Extensions
> > >>>>
> > >>
> > >
> > >>> I rebased to the XSA-55 commit and now I can create the guest.  I am
> > >>> able to debug a kernel init panic.
> > >>
> > >
> > > My panic seems related to memory regions in device tree.  I am appended
> > > my DTB to the kernel zImage.
> > > How does the memory assigned by XEN for the guest domain get inserted
> > > into the device tree?
> > > Does Hypervisor or the toolchain manipulate the appended DTB and modify
> > > the hypervisor node's reg and irq properties? What about the memory node?
> > 
> > 
> > For the moment, the toolstack isn't not able to parse/modify the guest
> > DTB. Memory and IRQ properties are hardcoded in the hypervisor and the
> > toolstack. The different values need to match the following constraints:
> >   - The memory region start from 0x80000000. The size needs to be the
> > same in the configuration file and the DTS, otherwise the domain will
> > crash. I believe the default size is 128MB.
> >   - IRQ properties are:
> >       * event channel: 31, except if you have modified the IRQ number in
> > Xen for dom0;
> >       * timer: same IRQs number as the dom0 DTS;
> >   - GIC range: same range as the dom0 DTS.
> > 
> 
> I changed my DTS to hard code memory at 0x80000000 with size 0x800000.
> Now, I hit my first I/O access fault.  I tried using iomem attribute in my 
> dom1.cfg.
> Is iomem attribute supported yet on ARM?

Not yet, no. It's on our TODO, as part of the more general device
assignment stuff:
http://wiki.xen.org/wiki/Xen_ARM_TODO#Device_assignment_to_DomUs
This (along with save/restore/migration) is one of the higher priority
items on the schedule once we've got the basics going.

Have you confirmed that if you create a plain Linux domain per the wiki
without any "fancy" features such as io passthrough that it works OK on
your platform?

Making iomem = work is more than likely just a case of wiring up a few
hypercalls in an obvious way. Julien has identified
XEN_DOMCTL_memory_mapping which seems like a good start.

Does the device you are trying to pass through do DMA? If so does your
platform have an IOMMU? That will add some additional complexity.

> I see the rangeset iomem_caps being set correctly, but I don't know if it is 
> being
> added to the VTTBR for my guest dom.
> 
> (XEN) General information for domain 2:
> (XEN)     refcnt=3 dying=0 pause_count=1
> (XEN)     nr_pages=32770 xenheap_pages=2 shared_pages=0 paged_pages=0 
> dirty_cpus={} max_pages=33024
> (XEN)     handle=7432e1e4-fa79-418d-8333-870db97f4338 vm_assist=00000000
> (XEN) GICH_LRs (vcpu 0) mask=0
> (XEN)    VCPU_LR[0]=0
> (XEN)    VCPU_LR[1]=0
> (XEN)    VCPU_LR[2]=0
> (XEN)    VCPU_LR[3]=0
> (XEN) Rangesets belonging to domain 2:
> (XEN)     Interrupts { }
> (XEN)     I/O Memory { f0000-f0ffe }
> 
> Hypervisor fault shows the offending IPA.
> 
> (XEN) Guest data abort: Translation fault at level 2
> (XEN)     gva=fa406780
> (XEN)     gpa=00000000f0406780
> (XEN)     size=2 sign=0 write=1 reg=2
> (XEN)     eat=0 cm=0 s1ptw=0 dfsc=6
> (XEN) dom2 IPA 0x00000000f0406780
> 
> Thanks,
> Eric
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel



_______________________________________________
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®.