Skip to content

FreeRTOS implementation for the work: A Real-Time virtio-based Framework for Predictable Inter-VM Communication

Notifications You must be signed in to change notification settings

gschwaer/rt-virtio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FreeRTOS with virtio Sockets for RTSS 2021

Paper: G. Schwäricke, R. Tabish, R. Pellizzoni, R. Mancuso, A. Bastoni, A. Züpke, M. Caccamo, "A Real-Time virtio-based Framework for Predictable Inter-VM Communication", Proc. of the 42nd IEEE Real-Time Systems Symposium (RTSS 2021), Dec. 2021.

The implementation is based on freertos-over-bao, which is a FreeRTOS variant, adapted to run under Bao hypervisor. We adapted it further to run under Jailhouse also.

Note: This is a collection of FreeRTOS related code that we used in our work. It will not run out of the box. Some includes are Linux header files that have not been included in this repo. The usage of the virtio sockets also requires the virtio device implementation by a Jailhouse variant that is currently still under development (contact Andrea Bastoni <andrea.bastoni at tum dot de> for more information).

Copyright Notice

  • For all files in src/freertos that stem from the FreeRTOS project the respective MIT license holds.
  • For all files in src/ that stem from the Bao project, the chosen License of the Bao developers holds (presumably GNU General Public License version 2, but to be confirmed with the Bao authors before usage).
  • For all other files of this repository, that are not covered by the two rules above, and which do not specify a different license in the file itself, the license will default to BSD Zero Clause License (see DefaultLicense.txt)

If there are any issues where a file in this repository violates the license terms of a respective property right owner, please write an issue and the file will be labeled correctly or removed.

Build

First build jailhouse for ZCU102, with the patches below.

Building FreeRTOS to use UART 1

make CROSS_COMPILE=/path/to/toolchain/bin/aarch64-none-elf- PLATFORM=zcu102 JAILHOUSE_PATH=/path/to/jailhouse/

Building FreeRTOS to use UART 2

make CROSS_COMPILE=/path/to/toolchain/bin/aarch64-none-elf- PLATFORM=zcu102 JAILHOUSE_PATH=/path/to/jailhouse/ USE_SECONDARY_UART=true

Requirements

About

FreeRTOS implementation for the work: A Real-Time virtio-based Framework for Predictable Inter-VM Communication

Resources

Stars

Watchers

Forks

Languages