Hardware Based Paravirtualization: Simplifying the Co-Hosting of Legacy Code for Mixed Criticality Applications 2013-01-0186
The increased pressure for power, space, and cost reduction in automotive applications together with the availability of high performance, automotive qualified multicore microcontrollers has lead to the ability to engineer Domain Controller ECUs that can host several separate applications in parallel. The standard automotive constraints however still apply, such as use of AUTOSAR operating system, support for legacy code, hosting OEM supplied code and the ability to determine warranty issues and responsibilities between a group of Tier 1 and Tier 2 vendors who all provide Intellectual Property to the final production ECU. Requirements for safety relevant applications add even more complexity, which in most current approaches demand a reconfiguration of all basic software layers and a major effort to redesign parts of the application code to enable co-existence on the same hardware platform. This paper outlines the conflicting requirements of hosting multiple applications. It describes the desired attributes of freedom from interference and composability. It also demonstrates how specific hardware mechanisms in a multicore microcontroller, together with a hypervisor, can be used to support a lightweight paravirtualization function. The applications and operating systems can then be virtualized within a real-time embedded domain controller ECU supporting applications up to ISO 26262 ASIL D, which drastically reduces the software development effort for migration of legacy applications.