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

[Xen-devel] Xen ARM Dom0less passthrough without IOMMU

  • To: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Andrei Cherechesu <andrei.cherechesu@xxxxxxx>
  • Date: Mon, 16 Dec 2019 18:02:00 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BSN7KCj+0Pz9kamq8gC+nbtZAkSSNDjsVPGp82op2B8=; b=Ojll0keqczzPlLS6dZdEGL/T85JoqrPL0VB1mvUbsOCZvYPm08vINqLSB0yOy3GOQ5JS/Jzb2fC9zIjWjFQUB8qWO4ILTm43pyjbaoZEqbj4A10sUtU9Xa625qsN8vJxgqj9+rteYGPtGcNvJJnXrDILnKf2jsTHhrvh5EmqIFhuOkBAvhARBVdBt8gRF1GM6u6Mkl8eWPZ3QASwtRgcwA28O10zwxmdzKLCUUfFw+OjlNM7WpXusIg520bdG+q5KmikI6pCKwDDx1Qd0SHKkw+U7Qjbfh5Vn0vOvu63ivSAgUhLr7PU2O/2By8gy3URv3VKXdedCRElwH3xb0VgeQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QhzoqQtA7Wo1jh7PG6nZpjr/pcc6MDg0k0d6EKImQjtigC04akM6Fw2zELoGOTwhyPSMb4hG3OJjtBtSkRv43pf76uZIby/f3R/og0ONMV0fUPJl4qv3ZUc7vahv8PFJ7hzmV5fmiY3FNggugv/RT9EK1e8DDlaHwh26W/fZ/KOjJa5XG20mWLTztQ0YJNczbCrw2As9N4tCakhu9LxjCRVuCdRBT4fHtDvOjdNe3OhyYFaw5mIogNsHz5LAZMncjXrUEpf6vD/ZZ+uxxeAyS93JlwRA5nC1rbcoFLNIUU3NrBlaNGQW2HWXqcrcAtKU8zjJz914vEKWpgExlbQqNg==
  • Authentication-results: spf=none (sender IP is ) smtp.mailfrom=andrei.cherechesu@xxxxxxx;
  • Delivery-date: Mon, 16 Dec 2019 18:02:12 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AdW0NHh2M3zfc0eaRyiUiVp25xvkkg==
  • Thread-topic: [Xen-devel] Xen ARM Dom0less passthrough without IOMMU



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



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 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) 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

Xen-devel mailing list



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