Hardware-Based I/O Virtualization for Mixed Criticality Real-Time Systems Using PCIe SR-IOV

Virtualized or partitioned real-time embedded systems consolidate mixed-criticality applications on a common (multi-core) platform. Such embedded systems need high performance solutions for secure and safe sharing of Input/Output (I/O) subsystems. This paper suggests a hardware-based I/O virtualization approach using memory-mapped I/O, Memory Management Unit (MMU), and I/O Memory Management Unit (IOMMU). For this approach the paper compares the ability of the PCI express (PCIe) Single Root I/O Virtualization (SR-IOV) and serial Rapid I/O (sRIO) I/O standards. In this context the paper describes general requirements and limitations as well as their impact for PCIe SR-IOV in virtualized embedded systems. As a result of evaluating PCIe SR-IOV on Free scale's QorIQ embedded multi-core series (e.g. Free scale P4080), we present a concept to fulfill the crucial requirement to distinguish PCIe devices at a granularity of PCIe functions. The evaluation of this concept achieves maximally 73.10% of the normal Direct Memory Access (DMA) write data rate.