We are happy to announce a new version of the partitioning hypervisor
Jailhouse. As we skipped the Autumn release, this one has a larger
change list with 178 commits (225 files changed, 7814 insertions, 3307
deletions):
- New targets:
- Marvell ESPRESSOBin
- emtrion emCON-RZ/G1E and emCON-RZ/G1M
- QEMU ARM64 virtual machine
- Cross-arch changes:
- dual-licensed inmate library (GPLv2 or 2-clause BSD), for reuse in
whatever guest code you like
- relocatable inmates, defaulting to start address 0, also on x86
- optional timeout for hypervisor-guest protocol used via
Communication Region
- ARM / ARM64:
- support for GICv3 on ARM64, along with a number of fixes for this
GIC model
- fix for stuck target after jailhouse shutdown due to lost IRQs
- runtime choice of GIC version (v2 or v3)
- x86:
- ignore invalid IOAPIC accesses to simplify guest support, enabling
limited usage in non-root Linux cells
- proper reset of IOAPIC pins on cell startup and destruction
- support for PAE addressing mode in guests
- extended set of supported MMIO instructions
- pass pre-calibrated TSC and APIC frequencies to inmates, picking the
values up from the root cell or the system configuration
- enhanced and versioned setup interface to non-root Linux cells
- prevent denial-of-service attacks via debug port 0x80
You can download the new release from
https://github.com/siemens/jailhouse/archive/v0.8.tar.gz
then follow the README.md for first steps on recommended evaluation
platforms and check the tutorial session from ELC-E 2016 [1][2]. Drop us
a note on the mailing list if you run into trouble.
There were and are also a number of activities outside of the main
repository. Most noteworthy are ongoing work to add x86 non-root cell
support into upstream Linux [3], the official integration of Jailhouse
support into the Zephyr RTOS [4], and first Yocto recipes for the Banana
Pi ARM target [5].
Thanks to all the contributors, to the core as well as these
supplementary efforts!
Happy new year,
Jan
[1] https://events.linuxfoundation.org/sites/events/files/slides/ELCE2016-Jailhouse-Tutorial.pdf
[2] https://youtu.be/7fiJbwmhnRw?list=PLbzoR-pLrL6pRFP6SOywVJWdEHlmQE51q
[3] https://lkml.org/lkml/2017/11/27/125
[4] https://github.com/zephyrproject-rtos/zephyr/pull/4170
[5] https://bitbucket.org/retotech/meta-jailhouse.git