Skip to content

Releases: projectacrn/acrn-hypervisor

version: v0.6

19 Feb 17:54
Compare
Choose a tag to compare

ACRN v0.6 (Feb 2019)

We are pleased to announce the release of Project ACRN version 0.6.

ACRN is a flexible, lightweight reference hypervisor, built with real-time and safety-criticality in mind, optimized to streamline embedded development through an open source platform. Check out the introduction for more information.

All project ACRN source code is maintained in the https://github.com/projectacrn/acrn-hypervisor repository and includes folders for the ACRN hypervisor, the ACRN device model, and documentation. You can either download this source code as a zip or tar.gz file (see the ACRN v0.6 GitHub release page or use git clone and checkout commands:

   git clone https://github.com/projectacrn/acrn-hypervisor
   cd acrn-hypervisor
   git checkout v0.6

The project's online technical documentation is also tagged to correspond with a specific release: generated v0.6 documents can be found at https://projectacrn.github.io/0.6/. Documentation for the latest (master) branch is found at https://projectacrn.github.io/latest/.

ACRN v0.6 requires Clear Linux OS version 27600 or newer. Please follow the instructions in the Getting started guide for Intel NUC.

See the full release notes for details about new features, issues addressed, known issues, and the change log since the previous 0.5 release.

version: v0.5

16 Jan 16:53
Compare
Choose a tag to compare

ACRN v0.5 (Jan 2019)

We are pleased to announce the release of Project ACRN version 0.5.

ACRN is a flexible, lightweight reference hypervisor, built with real-time and safety-criticality in mind, optimized to streamline embedded development through an open source platform. Check out the introduction for more information.

All project ACRN source code is maintained in the https://github.com/projectacrn/acrn-hypervisor repository and includes folders for the ACRN hypervisor, the ACRN device model, and documentation. You can either download this source code as a zip or tar.gz file (see the ACRN v0.5 GitHub release page or use Git clone and checkout commands:

   git clone https://github.com/projectacrn/acrn-hypervisor
   cd acrn-hypervisor
   git checkout v0.5

The project's online technical documentation is also tagged to correspond with a specific release: generated v0.5 documents can be found at https://projectacrn.github.io/0.5/. Documentation for the latest (master) branch is found at https://projectacrn.github.io/latest/.

See the full release notes for details about issues addressed, known issues, and the change log since the previous 0.4 release.

version: v0.4

12 Dec 05:06
Compare
Choose a tag to compare

ACRN v0.4 (Dec 2018)

We are pleased to announce the release of Project ACRN version 0.4.

ACRN is a flexible, lightweight reference hypervisor, built with real-time and safety-criticality in mind, optimized to streamline embedded development through an open source platform. Check out the introduction for more information.

All project ACRN source code is maintained in the https://github.com/projectacrn/acrn-hypervisor repository and includes folders for the ACRN hypervisor, the ACRN device model, and documentation. You can either download this source code as a zip or tar.gz file (see the ACRN v0.4 GitHub release page or use Git clone and checkout commands:

   git clone https://github.com/projectacrn/acrn-hypervisor
   cd acrn-hypervisor
   git checkout v0.4

The project's online technical documentation is also tagged to correspond with a specific release: generated v0.4 documents can be found at https://projectacrn.github.io/0.4/. Documentation for the latest (master) branch is found at https://projectacrn.github.io/latest/.

Version 0.4 new features

  • 1824 - implement "wbinvd" emulation
  • 1859 - Doc: update GSG guide to avoid issue "black screen"
  • 1878 - The "Using Ubuntu as the Service OS" tutorial is outdated and needs to be refreshed
  • 1926 - kernel-doc causing make doc failure (because of upcoming Perl changes)
  • 1927 - Simplify the launch_uos.sh script by pointing at the latest iot-lts2018 kernel by default

Fixed Issues

  • 677 - SSD Disk ID is not consistent between SOS/UOS
  • 1777 - After UOS plays video for several minutes, the UOS image will be stagnant
  • 1778 - MSDK: 1080p H264 video decode fails in UOS
  • 1779 - gfxbench cannot run in SOS & UOS
  • 1781 - Can not recognize the SD card in the SOS
  • 1792 - System hang and reboot after run "LaaG Forced GPU Reset: subtest error-state-capture-vebox" in UOS
  • 1794 - After SOS boots up, there's no output on SOS screen
  • 1795 - SOS fails to get IP address
  • 1825 - Need to clear memory region used by UOS before it exit
  • 1837 - 'acrnctl list' shows incomplete VM names

See the full release notes for more details about issues addressed, known issues, and the change log since the previous 0.3 release.

version: v0.3

12 Nov 19:34
Compare
Choose a tag to compare

ACRN v0.3 (Nov 2018)

We are pleased to announce the release of Project ACRN version 0.3.

ACRN is a flexible, lightweight reference hypervisor, built with real-time and safety-criticality in mind, optimized to streamline embedded development through an open source platform. Check out the introduction for more information.

All project ACRN source code is maintained in the https://github.com/projectacrn/acrn-hypervisor repository and includes folders for the ACRN hypervisor, the ACRN device model, and documentation. You can either download this source code as a zip or tar.gz file (see the ACRN v0.3 GitHub release page or use Git clone and checkout commands:

   git clone https://github.com/projectacrn/acrn-hypervisor
   cd acrn-hypervisor
   git checkout v0.3

The project's online technical documentation is also tagged to correspond with a specific release: generated v0.3 documents can be found at https://projectacrn.github.io/0.3/. Documentation for the latest (master) branch is found at https://projectacrn.github.io/latest/.

Version 0.3 new features

  • 866 - Security Interrupt Storm Mitigation
  • 878 - Virtualization HLD
  • 887 - Security xD support
  • 944 - CSME (and subcomponent) Sharing
  • 946 - CS(M)E Mediator Definition
  • 951 - Device CS(M)E support
  • 1122 - Security Enable compiler and linker setting-flags to harden software
  • 1124 - MMU code reshuffle
  • 1179 - RPMB key passing
  • 1180 - vFastboot release version 0.9
  • 1181 - Integrate enabling Crash OS feature as default in VSBL debug Version
  • 1182 - vSBL to support ACPI customization
  • 1213 - IOC Mediator added RTC Timer feature
  • 1230 - fix the %l format given to print API only print 32bit
  • 1231 - VM loader reshuffle
  • 1240 - [APL][IO Mediator] Enable VHOST_NET & VHOST to accelerate guest networking with virtio_net.
  • 1284 - [DeviceModel]Enable NHLT table in DM for audio passthrough
  • 1313 - [APL][IO Mediator] Remove unused netmap/vale in virtio-net
  • 1328 - [APL][IO Mediator] change trace_printk to pr_debug for vhm ioctl
  • 1329 - ioeventfd and irqfd implementation to support vhost on ACRN
  • 1343 - Enable -Werror for ACRN hypervisor
  • 1364 - [APL][IO Mediator] virtio code reshuffle
  • 1369 - allocate more RAM to UOS on MRB.
  • 1401 - IOC mediator reshuffle
  • 1420 - Update contributing doc with Tracked-On requirement for commits
  • 1455 - x2apic support for acrn
  • 1616 - remove unused parameters for acrn-dm
  • 1626 - support x2APIC mode for ACRN guests
  • 1672 - L1TF mitigation
  • 1701 - MISRA C compliance Naming Convention
  • 1711 - msix.c use MMIO read/write APIs to access MMIO registers

See the full release notes for more details about issues addressed, known issues, and the change log since the previous 0.2 release.

version: v0.2

25 Sep 16:48
Compare
Choose a tag to compare

ACRN v0.2 (Sep 2018)

We are pleased to announce the release of Project ACRN version 0.2.

ACRN is a flexible, lightweight reference hypervisor, built with real-time and safety-criticality in mind, optimized to streamline embedded development through an open source platform. Check out the introduction for more information.

All project ACRN source code is maintained in the https://github.com/projectacrn/acrn-hypervisor repository and includes folders for the ACRN hypervisor, the ACRN device model, and documentation. You can either download this source code as a zip or tar.gz file (see the ACRN v0.2 GitHub release page or use Git clone and checkout commands:

   git clone https://github.com/projectacrn/acrn-hypervisor
   cd acrn-hypervisor
   git checkout v0.2

The project's online technical documentation is also tagged to correspond with a specific release: generated v0.2 documents can be found at https://projectacrn.github.io/0.2/. Documentation for the latest (master) branch is found at https://projectacrn.github.io/latest/.

Version 0.2 new features

VT-x, VT-d

Based on Intel VT-x virtualization technology, ACRN emulates a virtual CPU with core partition and simple schedule. VT-d provides hardware support for isolating and restricting device accesses to the owner of the partition managing the device. It allows assigning I/O devices to a VM, and extending the protection and isolation properties of VMs for I/O operations.

PIC/IOAPIC/MSI/MSI-X/PCI/LAPIC

ACRN hypervisor supports virtualized APIC-V/EPT/IOAPIC/LAPIC functionality.

Ethernet

ACRN hypervisor supports virtualized Ethernet functionality. Ethernet Mediator is executed in the Service OS and provides packet forwarding between the physical networking devices (Ethernet, Wi-Fi, etc.) and virtual devices in the Guest VMs(also called "User OS"). Virtual Ethernet device could be shared by Linux, Android, and Service OS guests for regular (i.e. non-AVB) traffic. All hypervisor para-virtualized I/O is implemented using the VirtIO specification Ethernet pass-through.

Storage (eMMC)

ACRN hypervisor supports virtualized non-volatile R/W storage for the Service OS and Guest OS instances, supporting VM private storage and/or storage shared between Guest OS instances.

USB (xDCI)

ACRN hypervisor supports virtualized assignment of all USB xHCI and/or xDCI controllers to a Guest OS from the platform.

USB Mediator (xHCI and DRD)

ACRN hypervisor supports a virtualized USB Mediator.

CSME

ACRN hypervisor supports a CSME to a single Linux, Android, or RTOS guest or the Service OS even when in a virtualized environment.

WiFi

ACRN hypervisor supports the passthrough assignment of the WiFi subsystem to the IVI, enables control of the WiFi as an in-vehicle hotspot for 3rd party devices, provides 3rd party device applications access to the vehicle, and provides access of 3rd party devices to the TCU provided connectivity.

IPU (MIPI-CS2, HDMI-in)

ACRN hypervisor supports passthrough IPU assignment to Service OS or guest OS, without sharing.

Bluetooth

ACRN hypervisor supports bluetooth controller passthrough to a single Guest OS (IVI).

GPU – Preemption

GPU Preemption is one typical automotive use case which requires the system to preempt GPU resources occupied by lower priority workloads. This is done to ensure performance of the most critical workload can be
achieved. Three different schedulers for the GPU are involved: i915 UOS scheduler, Mediator GVT scheduler, and i915 SOS scheduler.

GPU – display surface sharing via Hyper DMA

Surface sharing is one typical automotive use case which requires that the SOS accesses an individual surface or a set of surfaces from the UOS without having to access the entire frame buffer of the UOS. Hyper DMA Buffer sharing extends the Linux DMA buffer sharing mechanism where one driver is able to share its pages
with another driver within one domain.

S3

ACRN hypervisor supports S3 feature, partially enabled in LaaG.

See the full release notes for more details about issues addressed, known issues, and the change log since the previous 0.1 release.

version: v0.1

12 Jul 17:25
Compare
Choose a tag to compare

Version 0.1 release (July 2018)

ACRN is a flexible, lightweight reference hypervisor, built with real-time and safety-criticality in mind, optimized to streamline embedded development through an open source platform. Check out the introduction for more information.

The project ACRN reference code can be found on GitHub in https://github.com/projectacrn. It includes the ACRN hypervisor, the ACRN device model, and documentation.

Version 0.1 new features

Hardware Support

In addition to the Apollo Lake NUC, the Apollo Lake UP Squared (UP2) board is supported. (See supported HW for supported platform details.)

GVT-g for ACRN

Virtual Graphics support added:

  • GVT-g for ACRN (a.k.a AcrnGT): GPU sharing feature enabled. Service OS and User OS can run GPU workload simultaneously.
  • Direct display supported by AcnrGT. Service OS and User OS are each assigned to different display. The display ports supports eDP and HDMI.
  • See AcrnGT HLD documentation for more information.

Virtio standard is supported

Virtio is a virtualization standard for network and disk device drivers where just the guest's device driver "knows" it is running in a virtual environment, and cooperates with the hypervisor. The SOS and UOS can share physical LAN network and physical eMMC storage device. (See virtio HLD for more information.)

Device pass-through support

Device pass-through to UOS support for:

  • USB controller (including USB2.0 and 3.0 disk, keyboard, mouse)
  • SD card (mount, read, and write directly in the UOS)
  • Converged Security Engine (CSE)

Hypervisor configuration

Developers can configure hypervisor via Kconfig parameters. (See Configuration options for configuration options.)

New ACRN tools

We've added a collectioin of support tools including acrnctl, acrntrace, acrnlog, acrn-crashlog, acrnprobe. (See Tools documentation for details.)

Known Issues

  • Issue 663 - Black screen displayed after booting SOS/UOS
    The weston display server, window manager, and compositor used by ACRN (from Clear Linux) may not have been properly installed and started. Workaround is described in ACRN GitHub Issue 663.

  • Issue 677 - SSD Disk ID not consistent between SOS/UOS
    The SSD disk ID in the UOS is not the same as in the SOS when the SSD device is pass-through to the UOS. The ID is also changing after a reboot. This shouldn't be the case. Workaround: None. There is no impact to functionality. The issue will be fixed in the next release.

  • Issue 676 - Hypervisor and DM version numbers incorrect
    The command /usr/bin/acrn-dm --version does not show the correct build number. Workaround: None. The issue will be fixed in the next release.