Skip to content

Commit c47efa3

Browse files
wenlingzdbkinder
authored andcommitted
Add new FAQ
Signed-off-by: wenlingz <wenling.zhang@intel.com>
1 parent 98b3d98 commit c47efa3

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

doc/faq.rst

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,3 +81,69 @@ HV_RAM_SIZE is changed to 240M
8181
hex "Size of the RAM region used by the hypervisor"
8282
default 0x07800000 if PLATFORM_SBL
8383
default 0x0f000000 if PLATFORM_UEFI
84+
85+
How to modify the default display output for a UOS?
86+
******************************************************************************
87+
88+
Apollo Lake HW has three pipes and each pipe can have three or four planes which help to
89+
display the overlay video. The hardware can support up to 3 monitors simultaneously.
90+
Some parameters are available to control how display monitors are assigned between the
91+
SOS and UOS, simplifying the assignment policy and providing configuration
92+
flexibility for the pipes and planes in various IOT scenarios
93+
94+
* i915.avail_planes_per_pipe: for controlling the planes
95+
* i915.domain_plane_owners: for controlling the domain mapping for each plane
96+
97+
Refer to :ref:`GVT-g-kernel-options` for detailed parameter descriptions.
98+
99+
Currently, pipe A is assigned to SOS and pipes B and C are assigned to UOS,
100+
which uses the below parameter:
101+
102+
* SOS:
103+
104+
.. code-block:: bash
105+
106+
i915.avail_planes_per_pipe=0x01010F
107+
i915.domain_plane_owners=0x011111110000
108+
109+
* UOS:
110+
111+
.. code-block:: bash
112+
113+
i915.avail_planes_per_pipe=0x0070F00
114+
115+
If pipes A and B are assigned to UOS, while pipe C is assigned to SOS,
116+
the below parameters can be used:
117+
118+
119+
* SOS:
120+
121+
.. code-block:: bash
122+
123+
i915.avail_planes_per_pipe=0x070101
124+
i915.domain_plane_owners=0x000011111111
125+
126+
* UOS:
127+
128+
.. code-block:: bash
129+
130+
i915.avail_planes_per_pipe=0x000F0F
131+
132+
Why does ACRN need to be know how much RAM the system has?
133+
************************************************************
134+
135+
Configuring ACRN at compile time with the system RAM size is
136+
a tradeoff between flexibility and functionality certification.
137+
For server virtualization, one binary is typically used for all platforms
138+
with flexible configuration options given at run time.
139+
But, for IoT applications, the image is typically configured and built
140+
for a particular product platform and optimized product use.
141+
142+
Important features for ACRN include functional safety (FuSa) and
143+
real-time behavior. FuSa requires a static allocation policy to avoid
144+
the potential of dynamic allocation failures. Real-time applications
145+
similarly benefit from static memory allocation. This is why ACRN
146+
removed all "malloc" like code, and why it needs to pre-identify
147+
the size of all buffers and structures used in the Virtual Memory
148+
Manager. For this reason, knowing the available RAM size at compile
149+
time is necessary to statically allocate memory usage.

0 commit comments

Comments
 (0)