Skip to content

Commit 8c70871

Browse files
shiqinggdbkinder
authored andcommitted
doc: add an introduction for building hypervisor
- add an introduction part for building ACRN hypervisor - clarify why ACRN hypervisor does not support one binary for all platforms Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
1 parent 6b72334 commit 8c70871

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

doc/getting-started/building-from-source.rst

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,50 @@
33
Build ACRN from Source
44
######################
55

6+
Introduction
7+
************
8+
9+
Following general embedded system programming model, ACRN hypervisor
10+
is designed to be customized per hardware platform and per usage scenario,
11+
rather than one binary for all platforms/all usage scenarios.
12+
13+
Hypervisor binary is generated based on the platform configuration.
14+
Different platforms with different configurations shall be set up explicitly
15+
via Kconfig.
16+
Instruction can be found in :ref:`getting-started-hypervisor-configuration`.
17+
18+
.. note::
19+
A generic configuration named ``hypervisor/arch/x86/configs/generic.config``
20+
is provided to help developers to try ACRN easily. This configuration
21+
will likely work for most platforms, supported with limited features.
22+
This configuration can be enabled by specifying ``BOARD=generic`` in make
23+
command line.
24+
25+
26+
One binary for all platforms/all usage scenarios is not supported because
27+
dynamic parsing is restricted in ACRN hypervisor, for the following
28+
considerations:
29+
30+
* **Meet functional safety requirements** Absence of dynamic objects is
31+
required in functional safety standards. Implementation of the dynamic parsing
32+
would introduce the dynamic objects more or less. Restricting the dynamic
33+
parsing would help ACRN hypervisor meet functional safety requirements.
34+
35+
* **Reduce complexity** ACRN is a lightweight reference hypervisor, built for
36+
embedded IoT. Since the platforms for embedded system is changing frequently,
37+
support of one binary for all platforms/all usage scenarios will become more
38+
and more complex. Restricting the dynamic parsing would help reduce the
39+
complexity of the hypervisor.
40+
41+
* **Keep small footprint** Implementation of the dynamic parsing would introduce
42+
hundreds or thousands of code. Restricting the dynamic parsing would help keep
43+
Lines of Code (LOC) of the hypervisor in a desirable range (around 30K).
44+
45+
* **Improve boot up time** Dynamic parsing at run time would increase the boot
46+
up time. Restricting the dynamic parsing would help improve boot up time of
47+
the hypervisor.
48+
49+
650
If you would like to build the ACRN hypervisor, device model, and tools from
751
source, follow these steps.
852

0 commit comments

Comments
 (0)