Difference between revisions of "Xen ARM TODO"

From Xen
Line 3: Line 3:
  
 
== In progress ==
 
== In progress ==
 
== Known Bugs ==
 
=== General ===
 
 
==== Domain 0 memory limitation due to 1:1 mapping ====
 
 
The use of the 1:1 workaround for dom0's memory (needed on platforms without an I/O SMMU, which is currently all) limits the maximum size of dom0. By carefully positioning the Xen and initial kernel/initrd/dtb binaries at the top of RAM dom0 is able to make use of up to 1/2 of the host RAM. The remainder is available for guest use. In general dom0 should be made quite small anyway. For more information see:
 
* http://lists.xen.org/archives/html/xen-devel/2013-12/msg02239.html
 
* http://lists.xen.org/archives/html/xen-devel/2014-01/msg00885.html
 
 
This should be addressed in a future release by supporting multiple memory banks for dom0.
 
 
=== Versatile Express ===
 
 
=== Arndale Board ===
 
  
 
== Open Work Items ==
 
== Open Work Items ==
Line 38: Line 23:
 
|Desc=
 
|Desc=
 
Physical and virtual ITS support for GICv3.
 
Physical and virtual ITS support for GICv3.
References=Work underway: http://marc.info/?i=1426775889-29442-1-git-send-email-vijay.kilari%40gmail.com
+
|References=Work underway: http://marc.info/?i=1426775889-29442-1-git-send-email-vijay.kilari%40gmail.com
 
}}
 
}}
  
Line 44: Line 29:
 
|Project=Expose Wallclock time to guests
 
|Project=Expose Wallclock time to guests
 
|Desc=Current Xen on ARM does not popular the wallclock time fields of the shared info with anything useful. It should do so...
 
|Desc=Current Xen on ARM does not popular the wallclock time fields of the shared info with anything useful. It should do so...
 +
|References=Partial/incomplete code http://article.gmane.org/gmane.comp.emulators.xen.devel/220265
 
}}
 
}}
  
Line 59: Line 45:
 
We could potentially make two uses of this:
 
We could potentially make two uses of this:
  
* Xen itself could use this property if it is present to set the default dtuart= option, saving users the hassle.
+
* ''DONE'' Xen itself could use this property if it is present to set the default dtuart= option, saving users the hassle.
 
* We could pass a suitable /chosen/stdout-path to dom0 to cause it to use hvc0 by default. This needs thinking through since hvc0 doesn't itself have a dt node.
 
* We could pass a suitable /chosen/stdout-path to dom0 to cause it to use hvc0 by default. This needs thinking through since hvc0 doesn't itself have a dt node.
 +
** Probably not necessary for Linux after http://article.gmane.org/gmane.linux.ports.arm.kernel/393828 happens, although perhaps useful for other OSes
  
 
|References=https://www.power.org/documentation/epapr-version-1-1/ https://git.kernel.org/linus/a208ffd251d08ed7ba6bdf3ae1e423373fb12d3d https://git.kernel.org/linus/3482f2c52b77bf6596e24aae82e204a0603eba66
 
|References=https://www.power.org/documentation/epapr-version-1-1/ https://git.kernel.org/linus/a208ffd251d08ed7ba6bdf3ae1e423373fb12d3d https://git.kernel.org/linus/3482f2c52b77bf6596e24aae82e204a0603eba66

Revision as of 13:41, 6 May 2015

This is a list of open work items and known bugs for the Xen on ARM with virtualization extension project.


In progress

Open Work Items

Save/restore and migration
Contact: xen-devel@lists.xen.org
Description: Make VM save/restore and VM migration work on ARM.
References: An initial prototype was written a couple of years ago for arm32 but never completed: http://lists.xen.org/archives/html/xen-devel/2013-10/msg00192.html

PCI device assignment to DomUs
Contact: xen-devel@lists.xen.org
Description: Assign one or more devices to an unprivileged guest, re-program the SMMU accordingly.
References: Not specified, useful references.

ITS support
Contact: xen-devel@lists.xen.org
Description: Physical and virtual ITS support for GICv3.
References: Work underway: http://marc.info/?i=1426775889-29442-1-git-send-email-vijay.kilari%40gmail.com

Expose Wallclock time to guests
Contact: xen-devel@lists.xen.org
Description: Current Xen on ARM does not popular the wallclock time fields of the shared info with anything useful. It should do so...
References: Partial/incomplete code http://article.gmane.org/gmane.comp.emulators.xen.devel/220265

More flexible early printk support
Contact: xen-devel@lists.xen.org
Description: Allow a single Xen binary to support multiple platforms for early_printk Rather than parsing the DTB early in asm to get the command line it would probably be sufficient to have a magic hex byte at a specific offset which could be edited by a simple tool.
References: http://lists.xen.org/archives/html/xen-devel/2014-02/msg01880.html

Support for DT /chosen/stdout-path node
Contact: xen-devel@lists.xen.org
Description: ePAPR 1.1 3.5 defines the /chosen/stdout-path property which contains the path to the serial device as a string.

We could potentially make two uses of this:

  • DONE Xen itself could use this property if it is present to set the default dtuart= option, saving users the hassle.
  • We could pass a suitable /chosen/stdout-path to dom0 to cause it to use hvc0 by default. This needs thinking through since hvc0 doesn't itself have a dt node.
References: https://www.power.org/documentation/epapr-version-1-1/ https://git.kernel.org/linus/a208ffd251d08ed7ba6bdf3ae1e423373fb12d3d https://git.kernel.org/linus/3482f2c52b77bf6596e24aae82e204a0603eba66

VCPU virtual time support
Contact: xen-devel@lists.xen.org
Description: Currently the concept of virtual time exposed to the guests is very simplistic and is just a static offset from physical time based on the time when the guest was started. We need to consider if this is actually what is needed/wanted and consider cases such as stolen time etc.
References: A patch series was sent to the LKML but never fully upstreamed: http://marc.info/?l=linux-arm-kernel&m=138929238127454&w=2