Hello,
My name is Andrei Cherechesu and I'm a Software Engineer at NXP
Semiconductors in the Automotive department, Linux BSP Team.
I would like to tell you have done a great job so far with Xen.
Thus, we have ported and integrated Xen ARM in the Linux BSP for our
boards.
Currently, we are trying to passthrough devices in order to statically
assign them to different DomUs at boot time (Dom0less configuration).
Our boards do not have an IOMMU and so our work is only possible
with the help of the patches submitted by Stefano Stabellini that
implemented "xen,force-assign-without-iommu" property in the
partial device trees used for passthrough.
I made a configuration in order to setup the dtb /chosen
node to boot a Dom0less VM in parallel with Dom0, with a
peripherical device statically assigned to it.
However, only if I advertise the passthrough dtb node in u-boot,
when I boot Xen, I am given the following error:
(XEN) *** LOADING DOMAIN 0 ***
(XEN) Loading d0 kernel from boot module @ 00000000be800000
(XEN) Loading ramdisk from boot module @ 00000000b1000000
(XEN) Allocating 1:1 mappings totalling 512MB for dom0:
(XEN) BANK[0] 0x000000d0000000-0x000000f0000000 (512MB)
(XEN) Grant table range: 0x00000080200000-0x00000080240000
(XEN) Allocating PPI 16 for event channel interrupt
(XEN) Loading zImage from 00000000be800000 to 00000000d0080000-00000000d0930008
(XEN) Loading dom0 initrd from 00000000b1000000 to 0x00000000d8200000-0x00000000e01fffff
(XEN) Loading dom0 DTB to 0x00000000d8000000-0x00000000d800596a
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Scrubbing Free RAM in background
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) *** Serial input to DOM0 (type 'CTRL-a' three times to switch input)
(XEN) domain.c:322: IOMMU is not enabled
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) Error creating domain domU1
(XEN) ****************************************
My Xen is taken from Stefano’s tree (http://xenbits.xenproject.org/git-http/people/sstabellini/xen-unstable.git)
that he specified in
this thread index, and only has the additional commits
that add support for our boards applied by myself.
From what I've read on the mailing lists, the Dom0less Device
Passthrough Without IOMMU feature is supported, at least,
on boards that do have a physical IOMMU but have some devices that
are not behind it.
My question is: In the way that it is currently implemented,
is the Dom0less Device Passthrough feature currently supported
on boards that do not have an IOMMU at all?
I can provide my complete u-boot environment config commands and
the Xen boot messages.
Thank you for your support,
Andrei Cherechesu