mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-01 20:05:30 +00:00
It is an extension of GCC CPP to: * allow omitting a variable macro argument entirely, and * use ## __VA_ARGS__ to remove the the comma before ## __VA_ARGS__ when __VA_ARGS__ is empty. The only use of ## _VA_ARGS__ is to define the pr_xxx() macros, with the first argument being the format string and the rest the to-be-formatted arguments. The format string is explicitly spelled out because another macro pr_fmt() is used to add to the format string a prefix which is customizable by defining what pr_fmt() expands to. For C99 compliance, this patch changes the pr_xxx() macros in the following pattern. - #define pr_fatal(fmt, ...) \ - do_logmsg(LOG_FATAL, pr_fmt(fmt), ## __VA_ARGS__); \ + #define pr_fatal(...) \ + do_logmsg(LOG_FATAL, pr_prefix __VA_ARGS__); \ Reference: * https://gcc.gnu.org/onlinedocs/gcc/Variadic-Macros.html#Variadic-Macros Signed-off-by: Junjie Mao <junjie.mao@intel.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> |
||
---|---|---|
.. | ||
.travis-dockerfiles | ||
arch/x86 | ||
boot | ||
bsp | ||
common | ||
debug | ||
Documentation | ||
include | ||
lib | ||
.travis.yml | ||
MAINTAINERS | ||
Makefile | ||
README.rst |
Embedded-Hypervisor ################### This open source embedded hypervisor defines a software architecture for running multiple software subsystems managed securely on a consolidated system (by means of a virtual machine manager), and defines a reference framework Device Model implementation for devices emulation This embedded hypervisor is type-1 reference hypervisor, running directly on the system hardware. It can be used for building software defined cockpit (SDC) or In-Vehicle Experience (IVE) solutions running on Intel Architecture Apollo Lake platforms. As a reference implementation, it provides the basis for embedded hypervisor vendors to build solutions with an open source reference I/O mediation solution, and provides auto makers a reference software stack for SDC usage. This embedded hypervisor is able to support both Linux* and Android* as a Guest OS, managed by the hypervisor, where applications can run. This embedded hypervisor is a partitioning hypervisor reference stack, also suitable for non-automotive IoT & embedded device solutions. It will be addressing the gap that currently exists between datacenter hypervisors, hard partitioning hypervisors, and select industrial applications. Extending the scope of this open source embedded hypervisor relies on the involvement of community developers like you!